Browse Source

sensors: add kconfig options to skip angular velocity and acceleration

main
Daniel Agar 3 years ago
parent
commit
32c6ec061e
  1. 24
      src/modules/sensors/CMakeLists.txt
  2. 8
      src/modules/sensors/Kconfig
  3. 31
      src/modules/sensors/sensors.cpp

24
src/modules/sensors/CMakeLists.txt

@ -35,14 +35,20 @@ add_subdirectory(data_validator)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(vehicle_acceleration) if(CONFIG_SENSORS_VEHICLE_ACCELERATION)
add_subdirectory(vehicle_angular_velocity) add_subdirectory(vehicle_acceleration)
endif()
add_subdirectory(vehicle_imu) add_subdirectory(vehicle_imu)
if(CONFIG_SENSORS_VEHICLE_AIR_DATA) if(CONFIG_SENSORS_VEHICLE_AIR_DATA)
add_subdirectory(vehicle_air_data) add_subdirectory(vehicle_air_data)
endif() endif()
if(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
add_subdirectory(vehicle_angular_velocity)
endif()
if(CONFIG_SENSORS_VEHICLE_GPS_POSITION) if(CONFIG_SENSORS_VEHICLE_GPS_POSITION)
add_subdirectory(vehicle_gps_position) add_subdirectory(vehicle_gps_position)
endif() endif()
@ -72,19 +78,25 @@ px4_add_module(
data_validator data_validator
mathlib mathlib
sensor_calibration sensor_calibration
vehicle_acceleration
vehicle_angular_velocity
vehicle_imu vehicle_imu
) )
if(CONFIG_SENSORS_VEHICLE_AIRSPEED) if(CONFIG_SENSORS_VEHICLE_ACCELERATION)
target_link_libraries(modules__sensors PRIVATE airspeed) target_link_libraries(modules__sensors PRIVATE vehicle_acceleration)
endif() endif()
if(CONFIG_SENSORS_VEHICLE_AIR_DATA) if(CONFIG_SENSORS_VEHICLE_AIR_DATA)
target_link_libraries(modules__sensors PRIVATE vehicle_air_data) target_link_libraries(modules__sensors PRIVATE vehicle_air_data)
endif() endif()
if(CONFIG_SENSORS_VEHICLE_AIRSPEED)
target_link_libraries(modules__sensors PRIVATE airspeed)
endif()
if(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
target_link_libraries(modules__sensors PRIVATE vehicle_angular_velocity)
endif()
if(CONFIG_SENSORS_VEHICLE_GPS_POSITION) if(CONFIG_SENSORS_VEHICLE_GPS_POSITION)
target_link_libraries(modules__sensors PRIVATE vehicle_gps_position) target_link_libraries(modules__sensors PRIVATE vehicle_gps_position)
endif() endif()

8
src/modules/sensors/Kconfig

@ -20,6 +20,14 @@ if MODULES_SENSORS
bool "Include vehicle air data" bool "Include vehicle air data"
default y default y
config SENSORS_VEHICLE_ANGULAR_VELOCITY
bool "Include vehicle angular velocity"
default y
config SENSORS_VEHICLE_ACCELERATION
bool "Include vehicle acceleration"
default y
config SENSORS_VEHICLE_GPS_POSITION config SENSORS_VEHICLE_GPS_POSITION
bool "Include vehicle gps position" bool "Include vehicle gps position"
default y default y

31
src/modules/sensors/sensors.cpp

@ -65,10 +65,12 @@
#include <uORB/topics/vehicle_imu.h> #include <uORB/topics/vehicle_imu.h>
#include "voted_sensors_update.h" #include "voted_sensors_update.h"
#include "vehicle_acceleration/VehicleAcceleration.hpp"
#include "vehicle_angular_velocity/VehicleAngularVelocity.hpp"
#include "vehicle_imu/VehicleIMU.hpp" #include "vehicle_imu/VehicleIMU.hpp"
#if defined(CONFIG_SENSORS_VEHICLE_ACCELERATION)
# include "vehicle_acceleration/VehicleAcceleration.hpp"
#endif // CONFIG_SENSORS_VEHICLE_ACCELERATION
#if defined(CONFIG_SENSORS_VEHICLE_AIRSPEED) #if defined(CONFIG_SENSORS_VEHICLE_AIRSPEED)
# include <drivers/drv_sensor.h> # include <drivers/drv_sensor.h>
# include <drivers/drv_adc.h> # include <drivers/drv_adc.h>
@ -83,6 +85,10 @@
# include "vehicle_air_data/VehicleAirData.hpp" # include "vehicle_air_data/VehicleAirData.hpp"
#endif // CONFIG_SENSORS_VEHICLE_AIR_DATA #endif // CONFIG_SENSORS_VEHICLE_AIR_DATA
#if defined(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
# include "vehicle_angular_velocity/VehicleAngularVelocity.hpp"
#endif // CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY
#if defined(CONFIG_SENSORS_VEHICLE_GPS_POSITION) #if defined(CONFIG_SENSORS_VEHICLE_GPS_POSITION)
# include "vehicle_gps_position/VehicleGPSPosition.hpp" # include "vehicle_gps_position/VehicleGPSPosition.hpp"
#endif // CONFIG_SENSORS_VEHICLE_GPS_POSITION #endif // CONFIG_SENSORS_VEHICLE_GPS_POSITION
@ -196,8 +202,13 @@ private:
VotedSensorsUpdate _voted_sensors_update; VotedSensorsUpdate _voted_sensors_update;
VehicleAcceleration _vehicle_acceleration; #if defined(CONFIG_SENSORS_VEHICLE_ACCELERATION)
VehicleAcceleration _vehicle_acceleration;
#endif // CONFIG_SENSORS_VEHICLE_ACCELERATION
#if defined(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
VehicleAngularVelocity _vehicle_angular_velocity; VehicleAngularVelocity _vehicle_angular_velocity;
#endif // CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY
#if defined(CONFIG_SENSORS_VEHICLE_AIR_DATA) #if defined(CONFIG_SENSORS_VEHICLE_AIR_DATA)
VehicleAirData *_vehicle_air_data {nullptr}; VehicleAirData *_vehicle_air_data {nullptr};
@ -276,8 +287,13 @@ Sensors::Sensors(bool hil_enabled) :
{ {
_sensor_pub.advertise(); _sensor_pub.advertise();
#if defined(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
_vehicle_angular_velocity.Start(); _vehicle_angular_velocity.Start();
#endif // CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY
#if defined(CONFIG_SENSORS_VEHICLE_ACCELERATION)
_vehicle_acceleration.Start(); _vehicle_acceleration.Start();
#endif // CONFIG_SENSORS_VEHICLE_ACCELERATION
#if defined(CONFIG_SENSORS_VEHICLE_AIRSPEED) #if defined(CONFIG_SENSORS_VEHICLE_AIRSPEED)
/* Differential pressure offset */ /* Differential pressure offset */
@ -315,8 +331,13 @@ Sensors::~Sensors()
sub.unregisterCallback(); sub.unregisterCallback();
} }
#if defined(CONFIG_SENSORS_VEHICLE_ACCELERATION)
_vehicle_acceleration.Stop(); _vehicle_acceleration.Stop();
#endif // CONFIG_SENSORS_VEHICLE_ACCELERATION
#if defined(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
_vehicle_angular_velocity.Stop(); _vehicle_angular_velocity.Stop();
#endif // CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY
#if defined(CONFIG_SENSORS_VEHICLE_AIR_DATA) #if defined(CONFIG_SENSORS_VEHICLE_AIR_DATA)
@ -936,11 +957,15 @@ int Sensors::print_status()
#endif // CONFIG_SENSORS_VEHICLE_OPTICAL_FLOW #endif // CONFIG_SENSORS_VEHICLE_OPTICAL_FLOW
#if defined(CONFIG_SENSORS_VEHICLE_ACCELERATION)
PX4_INFO_RAW("\n"); PX4_INFO_RAW("\n");
_vehicle_acceleration.PrintStatus(); _vehicle_acceleration.PrintStatus();
#endif // CONFIG_SENSORS_VEHICLE_ACCELERATION
#if defined(CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY)
PX4_INFO_RAW("\n"); PX4_INFO_RAW("\n");
_vehicle_angular_velocity.PrintStatus(); _vehicle_angular_velocity.PrintStatus();
#endif // CONFIG_SENSORS_VEHICLE_ANGULAR_VELOCITY
#if defined(CONFIG_SENSORS_VEHICLE_GPS_POSITION) #if defined(CONFIG_SENSORS_VEHICLE_GPS_POSITION)

Loading…
Cancel
Save