Commit Graph

45932 Commits

Author SHA1 Message Date
Andrew Tridgell fe7d933976 autotest: use delay_sim_time() in tempcal test 2021-01-21 13:09:21 +11:00
Andrew Tridgell 6c8a57c2d7 AP_InertialSensor: review fixes 2021-01-21 13:09:21 +11:00
Andrew Tridgell af18e0c755 Tools: review fixes 2021-01-21 13:09:21 +11:00
Andrew Tridgell 3ff71c7814 AP_InertialSensor: changes from review feedback 2021-01-21 13:09:21 +11:00
Andrew Tridgell 58b9cd2c6e autotest: added assert_reach_imu_temperature() abstraction 2021-01-21 13:09:21 +11:00
Andrew Tridgell 5a5ba26468 autotest: expanded accelcal test to check values
this checks the resulting accelcal is correct within 1%
2021-01-21 13:09:21 +11:00
Andrew Tridgell b12a663f7a AP_InertialSensor: apply accel scaling 2021-01-21 13:09:21 +11:00
Andrew Tridgell 9febcc0f98 SITL: added accel scaling parameters 2021-01-21 13:09:21 +11:00
Andrew Tridgell 3e640eed80 autotest: changes for per-IMU biases and scaling 2021-01-21 13:09:21 +11:00
Andrew Tridgell 73ddde3629 AP_InertialSensor: changes for new SITL IMU params 2021-01-21 13:09:21 +11:00
Andrew Tridgell b5089580a9 SITL: cleanup IMU parameters
allow for biases per IMU
2021-01-21 13:09:21 +11:00
Andrew Tridgell 5e60fac37e AP_InertialSensor: remove unused variable 2021-01-21 13:09:21 +11:00
Andrew Tridgell c96e61c0e1 Tools: review fix 2021-01-21 13:09:21 +11:00
Andrew Tridgell 4c315b57ca autotest: run gyro/accel cal at non-reference temperature 2021-01-21 13:09:21 +11:00
Andrew Tridgell 5a180fa7a8 Tools: cope with offset from cal temp to reference temp 2021-01-21 13:09:21 +11:00
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