sensors: add baro calibration and cleanup

- sensor_baro.msg use SI (pressure in Pascals)
 - update all barometer drivers to publish directly and remove PX4Barometer helper
 - introduce baro cal (offset) mainly as a mechanism to adjust
relative priority
 - commander: add simple baro cal that sets baro offsets to align with
GPS altitude (if available)
 - create new sensors_status.msg to generalize sensor reporting
This commit is contained in:
Daniel Agar
2022-03-26 16:08:41 -04:00
parent 5800c417c8
commit 0c31f63896
91 changed files with 1287 additions and 511 deletions
+1
View File
@@ -152,6 +152,7 @@ set(msg_files
sensor_preflight_mag.msg
sensor_selection.msg
sensors_status_imu.msg
sensors_status.msg
system_power.msg
takeoff_status.msg
task_stack_info.msg
+5 -3
View File
@@ -3,8 +3,10 @@ uint64 timestamp_sample
uint32 device_id # unique device ID for the sensor that does not change between power cycles
float32 pressure # static pressure measurement in Pascals
float32 temperature # temperature in degrees Celsius
uint32 error_count
float32 pressure # static pressure measurement in millibar
float32 temperature # static temperature measurement in deg Celsius
uint8 ORB_QUEUE_LENGTH = 4
+15
View File
@@ -0,0 +1,15 @@
#
# Sensor check metrics. This will be zero for a sensor that's primary or unpopulated.
#
uint64 timestamp # time since system start (microseconds)
uint32 device_id_primary # current primary device id for reference
uint32[4] device_ids
float32[4] inconsistency # magnitude of difference between sensor instance and mean
bool[4] healthy # sensor healthy
uint8[4] priority
bool[4] enabled
bool[4] external
# TOPICS sensors_status sensors_status_baro sensors_status_mag
+2
View File
@@ -10,3 +10,5 @@ float32 baro_temp_celcius # Temperature in degrees Celsius
float32 baro_pressure_pa # Absolute pressure in Pascals
float32 rho # air density
uint8 calibration_count # Calibration changed counter. Monotonically increases whenever calibration changes.