Andrew Tridgell
2359a5a1ea
Tools: fixed stopping of capture on enable change in tempcal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
285b53fe07
AP_InertialSensor: use vector polyfit
...
this reduces memory usage
2021-01-21 13:09:21 +11:00
Andrew Tridgell
a1fb0592a9
AP_Math: specialise polyfit for vectors
...
this is needed to get the precision good enough for wide temperature
ranges when summing the resulting polygon coefficients
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c8aaceb6ac
AP_LeakDetector: remove warning message on all non-sub builds
...
pointless pragma
2021-01-21 13:09:21 +11:00
Andrew Tridgell
2cf7e7945c
autotest: make tempcal debug output clearer
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d0d480e858
AP_Compass: fixed matrix inverse for new name
2021-01-21 13:09:21 +11:00
Andrew Tridgell
8278a8a00b
AP_AccelCal: rename from review feedback
2021-01-21 13:09:21 +11:00
Andrew Tridgell
2e2ccb40b2
AP_AccelCal: fixed inverse matrix call for new name
2021-01-21 13:09:21 +11:00
Andrew Tridgell
999268cbba
AP_Math: fixup matrix algorithms to be in cpp file
...
this fixes an issue where optimize O2 was forced on any file that
included AP_Math.h. It also fixes the test suite for matrix_alg, and
fixes the type handling to be consistent
2021-01-21 13:09:21 +11:00
bugobliterator
3b3e2c01f8
AP_Math: templatize matrix_alg methods
2021-01-21 13:09:21 +11:00
Andrew Tridgell
6254787c26
Tools: fixed tempcal for when we have gyro cal but no accel cal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
e87dbacee7
Tools: switch to fixed reference temperature of 35C
2021-01-21 13:09:21 +11:00
Andrew Tridgell
ffe20f7958
AP_InertialSensor: use a fixed reference temperature of 35C
...
this allows us to timeout the calibration when the temperature stops
rising as the polynomial no longer depends on the maximum temperature
2021-01-21 13:09:21 +11:00
Andrew Tridgell
a96b6336b8
Tools: changes from review feedback
2021-01-21 13:09:21 +11:00
Andrew Tridgell
dc58b0b950
AP_InertialSensor: changes from review feedback
...
thanks Sid!
2021-01-21 13:09:21 +11:00
Andrew Tridgell
9561f24c0e
AP_Filesystem: added @SYS/persistent.parm
2021-01-21 13:09:21 +11:00
Andrew Tridgell
5ed19c764e
HAL_ChibiOS: expose load_persistent_params for @SYS
2021-01-21 13:09:21 +11:00
Andrew Tridgell
1680e6e7d6
AP_HAL: expose load_persistent_params() in hal.util
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c9a83c8127
AP_InertialSensor: added INS_TCAL_OPTIONS
...
make persistent params optional, and allow save of accelcal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
5c823debc0
HAL_ChibiOS: support saving persistent parameters to bootloader sector
...
when we flash the bootloader we can save key peristent parameters to
the end of the bootloader sector, allowing them to persistent across
changes of firmware type
This allows for factory temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
504f500fae
AP_Common: added get_writeable_string to ExpandingString
2021-01-21 13:09:21 +11:00
Andrew Tridgell
1ddc21c9bb
AP_InertialSensor: support saving tempcal params persistently
2021-01-21 13:09:21 +11:00
Andrew Tridgell
84dda13b42
autotest: use new learn param setup
2021-01-21 13:09:21 +11:00
Andrew Tridgell
8caea96ab1
AP_InertialSensor: start auto-learning at boot
...
This makes it easier to setup the params. The ENABLE=2 value only
takes effect at boot
2021-01-21 13:09:21 +11:00
Andrew Tridgell
e8ab8ed29e
Tools: improve tempcal script
...
- allow display of log corrections
- added online estimator
- allow learning using TCLR records
2021-01-21 13:09:21 +11:00
Andrew Tridgell
30385fb8cb
autotest: use set_parameters() in IMU temp cal test
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0c3655b01f
autotest: fixed epsilon handling in set_parameters
2021-01-21 13:09:21 +11:00
Andrew Tridgell
7cb7ad3636
AP_InertialSensor: fixed build error
2021-01-21 13:09:21 +11:00
Andrew Tridgell
2e9f61fe49
AP_InertialSensor: fixed IMU index display in msgs
...
start at 1 for users
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d5b511f4a0
AP_InertialSensor: fixed start timer for temperature in SITL
...
when we are doing an autotest we want the temperature to start
climbing when we first set SIM_IMUT_FIXED=0
2021-01-21 13:09:21 +11:00
Andrew Tridgell
30e55d8dfc
AP_InertialSensor: cope with user changing TMAX while calibrating
2021-01-21 13:09:21 +11:00
Andrew Tridgell
68526262b7
AP_Arming: don't allow arming during IMU temp cal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
e2e97c67ce
AP_InertialSensor: catch user attempt to change TMAX during cal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
73e53369e8
AP_Notify: added notify events for temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
3fb720354d
AP_InertialSensor: added notify events for temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
cc3579ea5d
AP_InertialSensor: change TCAL sampling to be even in temperature
2021-01-21 13:09:21 +11:00
Andrew Tridgell
cf47c19c0d
Filter: fixed low pass 2p filter to auto-init
...
this prevents the init to zero for temperature filters
2021-01-21 13:09:21 +11:00
Andrew Tridgell
4495414d05
Filter: added reset with value to LowPassFilter2p
2021-01-21 13:09:21 +11:00
Andrew Tridgell
327db46c15
autotest: added automatic testing of IMU Temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
fc0f8b990a
AP_InertialSensor: added online learning of temp cal
...
use INS_TCAL1_ENABLE=2 to start learning
2021-01-21 13:09:21 +11:00
Andrew Tridgell
64d9f43d94
AP_Math: added polygon fitting code
2021-01-21 13:09:21 +11:00
Andrew Tridgell
720f9a1de0
AP_Math: cleanup maths functions
...
use class template instantiation, and cleanup const in matrix code
2021-01-21 13:09:21 +11:00
Andrew Tridgell
6f6f89e5aa
AP_InertialSensor: enable temperature sensor on LSM9DS0
...
this allows for temperature calibration of the LSM303D in CubeBlack
and Pixhawk1
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0c156e324b
AP_Compass: enable temperature on lsm303d
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c0ba7c29ca
SITL: use TCal class for temp adjustment in SITL
2021-01-21 13:09:21 +11:00
Andrew Tridgell
4bdf506d10
AP_InertialSensor: apply 1e-5 scale factor
...
this keeps the params in a reasonable range for parameter editors
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0f6f6bac6b
AP_InertialSensor: expose TCal class for use in SITL
2021-01-21 13:09:21 +11:00
Andrew Tridgell
7921e042f1
AP_InertialSensor: added IMU temperature calibration support
...
this adds parameters that can be setup by an external script for
compensating for temperature variation in gyros and accels using a 3rd
order polynomial
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c4664d8e32
Tools: added script to calculate IMU temp compensation parameters
...
this is run over an onboard log to calculate the INS_TCAL parameters
to enable temperature compensation for gyro and accel
2021-01-21 13:09:21 +11:00
Andrew Tridgell
580cd143b8
AP_AccelCal: added active() method
2021-01-21 13:09:21 +11:00