create temperature_compensation module

- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
This commit is contained in:
Daniel Agar
2020-01-20 21:42:42 -05:00
committed by GitHub
parent dedb4e8267
commit dc05ceaad2
87 changed files with 978 additions and 739 deletions
+28 -3
View File
@@ -5,12 +5,37 @@
# NOTE: Script variables are declared/initialized/unset in the rcS script.
#
set TEMP_CALIB_ARGS ""
set TEMP_COMP_START ""
if param compare TC_A_ENABLE 1
then
set TEMP_COMP_START "true"
fi
if param compare TC_B_ENABLE 1
then
set TEMP_COMP_START "true"
fi
if param compare TC_G_ENABLE 1
then
set TEMP_COMP_START "true"
fi
if [ "x$TEMP_COMP_START" != "x" ]
then
temperature_compensation start
fi
unset TEMP_COMP_START
#
# Determine if a thermal calibration should be started.
#
set TEMP_CALIB_ARGS ""
if param compare SYS_CAL_ACCEL 1
then
set TEMP_CALIB_ARGS "${TEMP_CALIB_ARGS} -a"
@@ -34,7 +59,7 @@ fi
#
if [ "x$TEMP_CALIB_ARGS" != "x" ]
then
send_event temperature_calibration ${TEMP_CALIB_ARGS}
temperature_compensation calibrate ${TEMP_CALIB_ARGS}
fi
unset TEMP_CALIB_ARGS
unset TEMP_CALIB_ARGS
+1
View File
@@ -59,6 +59,7 @@ px4_add_board(
rc_update
rover_pos_control
sensors
temperature_compensation
sih
#simulator
vmount
+1
View File
@@ -76,6 +76,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -83,6 +83,7 @@ px4_add_board(
rover_pos_control
sensors
#sih
temperature_compensation
simulator
vmount
vtol_att_control
+1
View File
@@ -68,6 +68,7 @@ px4_add_board(
rc_update
rover_pos_control
sensors
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -68,6 +68,7 @@ px4_add_board(
rc_update
rover_pos_control
sensors
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -76,6 +76,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -76,6 +76,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -53,6 +53,7 @@ px4_add_board(
sensors
sih
#simulator
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -32,6 +32,7 @@ px4_add_board(
navigator
rc_update
sensors
#temperature_compensation
SYSTEMCMDS
bl_update
config
+1
View File
@@ -55,6 +55,7 @@ px4_add_board(
sensors
sih
#simulator
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -81,6 +81,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
@@ -82,6 +82,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -46,6 +46,7 @@ px4_add_board(
navigator
rc_update
sensors
#temperature_compensation
SYSTEMCMDS
bl_update
config
+1
View File
@@ -56,6 +56,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
#temperature_compensation
vmount
#vtol_att_control
SYSTEMCMDS
+1
View File
@@ -56,6 +56,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
#temperature_compensation
vmount
#vtol_att_control
SYSTEMCMDS
+1
View File
@@ -74,6 +74,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -80,6 +80,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -78,6 +78,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -64,6 +64,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
#temperature_compensation
#vmount
#vtol_att_control
SYSTEMCMDS
+1
View File
@@ -87,6 +87,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
#temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -56,6 +56,7 @@ px4_add_board(
navigator
rc_update
sensors
temperature_compensation
vmount
SYSTEMCMDS
#bl_update
+1
View File
@@ -81,6 +81,7 @@ px4_add_board(
battery_status
rc_update
sensors
temperature_compensation
vmount
#vtol_att_control
#airspeed_selector
+2
View File
@@ -54,6 +54,8 @@ px4_add_board(
navigator
rc_update
sensors
sih
#temperature_compensation
vmount
SYSTEMCMDS
#bl_update
+1
View File
@@ -50,6 +50,7 @@ px4_add_board(
battery_status
rc_update
sensors
temperature_compensation
vmount
SYSTEMCMDS
+1
View File
@@ -86,6 +86,7 @@ px4_add_board(
#rover_pos_control
sensors
#sih
#temperature_compensation
#vmount
#vtol_att_control
SYSTEMCMDS
+1
View File
@@ -86,6 +86,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -86,6 +86,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -81,6 +81,7 @@ px4_add_board(
rc_update
sensors
sih
temperature_compensation
vmount
vtol_att_control
airspeed_selector
+1
View File
@@ -79,6 +79,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -77,6 +77,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -77,6 +77,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -81,6 +81,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -78,6 +78,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+11 -13
View File
@@ -10,13 +10,11 @@ px4_add_board(
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
adc
barometer # all available barometer drivers
@@ -25,14 +23,15 @@ px4_add_board(
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
imu/adis16448
imu/adis16497
#imu # all available imu drivers
imu/adis16448
imu/adis16477
imu/adis16497
imu/bmi055
imu/mpu6000
imu/mpu9250
irlock
lights/blinkm
lights/rgbled
@@ -41,6 +40,7 @@ px4_add_board(
magnetometer # all available magnetometer drivers
mkblctrl
optical_flow # all available optical flow drivers
#osd
pca9685
power_monitor/ina226
#protocol_splitter
@@ -56,9 +56,10 @@ px4_add_board(
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
@@ -66,7 +67,6 @@ px4_add_board(
events
fw_att_control
fw_pos_control_l1
rover_pos_control
land_detector
landing_target_estimator
load_mon
@@ -74,17 +74,17 @@ px4_add_board(
logger
mavlink
mc_att_control
mc_rate_control
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
battery_status
rc_update
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
airspeed_selector
SYSTEMCMDS
bl_update
config
@@ -113,7 +113,6 @@ px4_add_board(
usb_connected
ver
work_queue
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
@@ -124,5 +123,4 @@ px4_add_board(
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
)
+1
View File
@@ -82,6 +82,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -59,6 +59,7 @@ px4_add_board(
navigator
rc_update
sensors
temperature_compensation
vmount
SYSTEMCMDS
bl_update
+11 -13
View File
@@ -10,13 +10,11 @@ px4_add_board(
IO px4_io-v2_default
TESTING
UAVCAN_INTERFACES 2
SERIAL_PORTS
GPS1:/dev/ttyS0
TEL1:/dev/ttyS1
TEL2:/dev/ttyS2
TEL4:/dev/ttyS3
DRIVERS
adc
barometer # all available barometer drivers
@@ -25,14 +23,15 @@ px4_add_board(
camera_trigger
differential_pressure # all available differential pressure drivers
distance_sensor # all available distance sensor drivers
dshot
gps
#heater
imu/adis16448
imu/adis16497
#imu # all available imu drivers
imu/adis16448
imu/adis16477
imu/adis16497
imu/bmi055
imu/mpu6000
imu/mpu9250
irlock
lights/blinkm
lights/rgbled
@@ -41,6 +40,7 @@ px4_add_board(
magnetometer # all available magnetometer drivers
mkblctrl
optical_flow # all available optical flow drivers
#osd
pca9685
power_monitor/ina226
#protocol_splitter
@@ -56,9 +56,10 @@ px4_add_board(
test_ppm
tone_alarm
uavcan
MODULES
airspeed_selector
attitude_estimator_q
battery_status
camera_feedback
commander
dataman
@@ -66,7 +67,6 @@ px4_add_board(
events
fw_att_control
fw_pos_control_l1
rover_pos_control
land_detector
landing_target_estimator
load_mon
@@ -74,17 +74,17 @@ px4_add_board(
logger
mavlink
mc_att_control
mc_rate_control
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
battery_status
rc_update
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
airspeed_selector
SYSTEMCMDS
bl_update
config
@@ -113,7 +113,6 @@ px4_add_board(
usb_connected
ver
work_queue
EXAMPLES
bottle_drop # OBC challenge
fixedwing_control # Tutorial code from https://px4.io/dev/example_fixedwing_control
@@ -124,5 +123,4 @@ px4_add_board(
px4_simple_app # Tutorial code from http://dev.px4.io/en/apps/hello_sky.html
rover_steering_control # Rover example app
uuv_example_app
)
+1
View File
@@ -69,6 +69,7 @@ px4_add_board(
rc_update
sensors
sih
temperature_compensation
vmount
SYSTEMCMDS
bl_update
+1
View File
@@ -59,6 +59,7 @@ px4_add_board(
rc_update
rover_pos_control
sensors
temperature_compensation
vmount
SYSTEMCMDS
bl_update
+1
View File
@@ -82,6 +82,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -83,6 +83,7 @@ px4_add_board(
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+2
View File
@@ -76,11 +76,13 @@ px4_add_board(
mc_att_control
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
rover_pos_control
sensors
sih
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -51,6 +51,7 @@ px4_add_board(
rc_update
rover_pos_control
sensors
temperature_compensation
sih
#simulator
vmount
+1
View File
@@ -45,6 +45,7 @@ px4_add_board(
sensors
#sih
simulator
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -47,6 +47,7 @@ px4_add_board(
sensors
#sih
simulator
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -45,6 +45,7 @@ px4_add_board(
sensors
#sih
simulator
temperature_compensation
vmount
vtol_att_control
SYSTEMCMDS
+1
View File
@@ -57,6 +57,7 @@ px4_add_board(
rc_update
sensors
sih
temperature_compensation
vmount
SYSTEMCMDS
bl_update
-2
View File
@@ -3,8 +3,6 @@ uint64 timestamp_sample
uint32 device_id # unique device ID for the sensor that does not change between power cycles
float32 temperature # temperature in degrees celsius
uint64 error_count
float32[3] delta_velocity # delta velocity in the NED board axis in m/s over the integration time frame (dt)
-4
View File
@@ -46,10 +46,6 @@ float32 baro_scale_1 # barometric pressure scale factors in the sensor frame
float32 baro_offset_2 # barometric pressure offsets in the sensor frame in m/s/s
float32 baro_scale_2 # barometric pressure scale factors in the sensor frame
uint8 selected_gyro_instance # gyro uORB topic instance for the voted sensor
uint8 selected_accel_instance # accelerometer uORB topic instance for the voted sensor
uint8 selected_baro_instance # barometric pressure uORB topic instance for the voted sensor
# Mapping from uORB index to parameter index for each sensor type. For example accel_mapping[1] contains the
# compensation parameter system index for the sensor_accel uORB index 1 data.
uint8[3] gyro_mapping

Some files were not shown because too many files have changed in this diff Show More