Siddharth Purohit
c4caf2ff54
AP_InertialSensor: add HAL_INS_ENABLED
4 years ago
Siddharth Purohit
447935bf4c
AP_InertialSensor: remove dependence on gcs for AP_Periph builds
4 years ago
Peter Barker
731cf038f0
AP_InertialSensor: remove @Values from param metadata where @Bitmask exists
4 years ago
Peter Barker
52a52e1e5b
AP_InertialSensor: remove HIL support
4 years ago
nkruzan
f4c18e0f9c
AP_InertialSensor_Invensense: set reset count to 1 if 10s has passed since last reset
4 years ago
Josh Henderson
2b20dcf128
AP_InertialSensor: move GYR & ACC logging functions to Logging.cpp
4 years ago
Josh Henderson
9792202810
AP_InertialSensor: Privatize Logging
4 years ago
Andrew Tridgell
b3ed4f4b12
AP_InertialSensor: fixed handling of more than 3 accel/gyro instances
...
allows for first 3 to work without a panic
4 years ago
Andrew Tridgell
dcf6bcea6e
AP_InertialSensor: removed assert calls
...
these waste flash space and do not do us any good
4 years ago
Tatsuya Yamaguchi
2c95093d36
AP_InertialSensor: fix temperature sensor on LSM9DS0
4 years ago
Peter Barker
2b0bf45891
AP_InertialSensor: remove separate calls to get delta-times for vel and ang
4 years ago
Pierre Kancir
67540dc5bb
AP_InertialSensor: fix example
4 years ago
Pierre Kancir
c8a7ab1a75
AP_InertialSensor: fix example
4 years ago
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)
4 years ago
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
4 years ago
Andrew Tridgell
85ef6b7ac6
AP_InertialSensor: added optional logging of register changes
4 years ago
Andrew Tridgell
25dd08a1fd
AP_InertialSensor: added force_save_calibration()
4 years ago
Peter Barker
3da156e358
AP_InertialSensor: prevent nullptr dereference in SITL
4 years ago
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
4 years ago
Andrew Tridgell
bdb364d461
AP_InertialSensor: save the accelerometer ID parameters
...
this is needed for factory accel cal
4 years ago
Andrew Tridgell
2843cfa42d
AP_InertialSensor: use mavlink statustext for cal info
4 years ago
Andrew Tridgell
b542f947f7
AP_InertialSensor: don't mark accels as calibrating during trim
...
we need the accels with offsets applied when doing accel trim
4 years ago
Andrew Tridgell
e908a996af
AP_InertialSensor: support SIM_ACC_TRIM
...
and cleanup vector maths
4 years ago
Andrew Tridgell
6c8a57c2d7
AP_InertialSensor: review fixes
4 years ago
Andrew Tridgell
3ff71c7814
AP_InertialSensor: changes from review feedback
4 years ago
Andrew Tridgell
b12a663f7a
AP_InertialSensor: apply accel scaling
4 years ago
Andrew Tridgell
73ddde3629
AP_InertialSensor: changes for new SITL IMU params
4 years ago
Andrew Tridgell
5e60fac37e
AP_InertialSensor: remove unused variable
4 years ago
Andrew Tridgell
285b53fe07
AP_InertialSensor: use vector polyfit
...
this reduces memory usage
4 years ago
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
4 years ago
Andrew Tridgell
dc58b0b950
AP_InertialSensor: changes from review feedback
...
thanks Sid!
4 years ago
Andrew Tridgell
c9a83c8127
AP_InertialSensor: added INS_TCAL_OPTIONS
...
make persistent params optional, and allow save of accelcal
4 years ago
Andrew Tridgell
1ddc21c9bb
AP_InertialSensor: support saving tempcal params persistently
4 years ago
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
4 years ago
Andrew Tridgell
7cb7ad3636
AP_InertialSensor: fixed build error
4 years ago
Andrew Tridgell
2e9f61fe49
AP_InertialSensor: fixed IMU index display in msgs
...
start at 1 for users
4 years ago
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
4 years ago
Andrew Tridgell
30e55d8dfc
AP_InertialSensor: cope with user changing TMAX while calibrating
4 years ago
Andrew Tridgell
e2e97c67ce
AP_InertialSensor: catch user attempt to change TMAX during cal
4 years ago
Andrew Tridgell
3fb720354d
AP_InertialSensor: added notify events for temperature calibration
4 years ago
Andrew Tridgell
cc3579ea5d
AP_InertialSensor: change TCAL sampling to be even in temperature
4 years ago
Andrew Tridgell
fc0f8b990a
AP_InertialSensor: added online learning of temp cal
...
use INS_TCAL1_ENABLE=2 to start learning
4 years ago
Andrew Tridgell
6f6f89e5aa
AP_InertialSensor: enable temperature sensor on LSM9DS0
...
this allows for temperature calibration of the LSM303D in CubeBlack
and Pixhawk1
4 years ago
Andrew Tridgell
4bdf506d10
AP_InertialSensor: apply 1e-5 scale factor
...
this keeps the params in a reasonable range for parameter editors
4 years ago
Andrew Tridgell
0f6f6bac6b
AP_InertialSensor: expose TCal class for use in SITL
4 years ago
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
4 years ago
Peter Barker
239b09fb34
AP_InertialSensor: add simulator for ICM40609
4 years ago
Andrew Tridgell
957842f7eb
AP_InertialSensor: added support for v3 Invensense sensors
...
starting with ICM-40609, ICM-42688 and ICM-42605
4 years ago
Andrew Tridgell
b74e5c0e2f
AP_InertialSensor: added ExternalAHRS backend
4 years ago
Andrew Tridgell
4f176c25de
AP_InertialSensor: relax IMU wait time for low loop rates
...
allow for waiting for all IMUs for up to 1/3 of the loop time
4 years ago