Andrew Tridgell
9966c62ae3
AP_InertialSensor: fixed build warning
2021-10-18 18:06:45 -04:00
Andrew Tridgell
8731a13fb5
AP_InertialSensor: fixed locking issue in delta accumulation
...
this fixes a bug in calculating delta velocity and delta acceleration
between threads.
2021-09-10 14:08:46 +09:00
Pierre Kancir
e5ea7e6196
AP_InertialSensor: fix externalAHRS detection
...
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 17:10:29 +09:00
Peter Barker
731cf038f0
AP_InertialSensor: remove @Values from param metadata where @Bitmask exists
2021-06-23 18:37:34 +10:00
Peter Barker
52a52e1e5b
AP_InertialSensor: remove HIL support
2021-06-15 09:47:31 +10:00
nkruzan
f4c18e0f9c
AP_InertialSensor_Invensense: set reset count to 1 if 10s has passed since last reset
2021-05-25 10:46:38 +10:00
Josh Henderson
2b20dcf128
AP_InertialSensor: move GYR & ACC logging functions to Logging.cpp
2021-05-01 14:15:58 +10:00
Josh Henderson
9792202810
AP_InertialSensor: Privatize Logging
2021-04-29 19:19:12 +10:00
Andrew Tridgell
b3ed4f4b12
AP_InertialSensor: fixed handling of more than 3 accel/gyro instances
...
allows for first 3 to work without a panic
2021-04-13 09:36:52 +10:00
Andrew Tridgell
dcf6bcea6e
AP_InertialSensor: removed assert calls
...
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Tatsuya Yamaguchi
2c95093d36
AP_InertialSensor: fix temperature sensor on LSM9DS0
2021-03-16 12:09:19 +11:00
Peter Barker
2b0bf45891
AP_InertialSensor: remove separate calls to get delta-times for vel and ang
2021-03-13 11:29:29 +11:00
Pierre Kancir
67540dc5bb
AP_InertialSensor: fix example
2021-03-03 18:07:38 +11:00
Pierre Kancir
c8a7ab1a75
AP_InertialSensor: fix example
2021-03-03 18:07:38 +11:00
Andrew Tridgell
bf999f701f
AP_InertialSensor: fixed ICM-20602 y offset bug
...
this works around a bug in the ICM-20602 that can cause the Y facttory
offset register to change unexpectedly. We don't know what triggers
this.
The fix is to save the factory offset at boot and restore it if it
changes. We log a message describing the change, but don't mark the
IMU unhealthy as this happens too often and we don't want to fallback
to a 2nd less good quality IMU (eg. MPU6000 on MatekH743)
2021-02-24 18:18:37 +11:00
Andrew Tridgell
4cddf37984
AP_InertialSensor: log unexpected register changes
...
when the register checking code finds an error we will log what
register changed and to what value
2021-02-24 18:18:37 +11:00
Andrew Tridgell
85ef6b7ac6
AP_InertialSensor: added optional logging of register changes
2021-02-24 18:18:37 +11:00
Andrew Tridgell
25dd08a1fd
AP_InertialSensor: added force_save_calibration()
2021-02-15 07:24:40 +11:00
Peter Barker
3da156e358
AP_InertialSensor: prevent nullptr dereference in SITL
2021-02-05 15:02:12 +11:00
Andrew Tridgell
0535c4f592
AP_InertialSensor: default TMAX to 70
...
if user forgets to set this then better to just timeout rather than
calibrating over a small range
2021-01-27 09:49:35 +11:00
Andrew Tridgell
bdb364d461
AP_InertialSensor: save the accelerometer ID parameters
...
this is needed for factory accel cal
2021-01-27 09:49:35 +11:00
Andrew Tridgell
2843cfa42d
AP_InertialSensor: use mavlink statustext for cal info
2021-01-25 16:24:50 +11:00
Andrew Tridgell
b542f947f7
AP_InertialSensor: don't mark accels as calibrating during trim
...
we need the accels with offsets applied when doing accel trim
2021-01-25 16:24:50 +11:00
Andrew Tridgell
e908a996af
AP_InertialSensor: support SIM_ACC_TRIM
...
and cleanup vector maths
2021-01-25 16:24:50 +11:00
Andrew Tridgell
6c8a57c2d7
AP_InertialSensor: 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
b12a663f7a
AP_InertialSensor: apply accel 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
5e60fac37e
AP_InertialSensor: remove unused variable
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
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
dc58b0b950
AP_InertialSensor: changes from review feedback
...
thanks Sid!
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
1ddc21c9bb
AP_InertialSensor: support saving tempcal params persistently
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
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
e2e97c67ce
AP_InertialSensor: catch user attempt to change TMAX during cal
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
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
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
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
Peter Barker
239b09fb34
AP_InertialSensor: add simulator for ICM40609
2021-01-12 17:43:36 +11:00
Andrew Tridgell
957842f7eb
AP_InertialSensor: added support for v3 Invensense sensors
...
starting with ICM-40609, ICM-42688 and ICM-42605
2021-01-11 14:43:35 +11:00
Andrew Tridgell
b74e5c0e2f
AP_InertialSensor: added ExternalAHRS backend
2021-01-05 21:13:12 +11:00