Commit Graph

1077 Commits

Author SHA1 Message Date
Randy Mackay
0de96f3f4a AP_InertialSensor: vibe units m/s/s
also specify no multiplier
2021-11-18 13:23:06 +09:00
Andrew Tridgell
12c10dce32 AP_InertialSensor: fixed comments on IMU types supported 2021-11-09 08:05:03 +11:00
Buzz
168dc34566 AP_InertialSensor: New fallback type = NONE, which successfully does nothing like an INS, but without needing a real one, like esp32 dev boards.
Good for boards that u want to boot even when they dont have an IMU attached.
Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
Andy Piper
6a00819b2d AP_InertialSensor: convert APM_BUILD_COPTER_OR_HELI() to APM_BUILD_COPTER_OR_HELI 2021-10-26 11:42:12 +11:00
Gone4Dirt
290794bf93 AP_InertialSensor: Add APM_BUILD_Heli 2021-09-29 19:55:48 +10:00
Peter Barker
dac4134533 AP_InertialSensor: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Andrew Tridgell
fefade783b AP_InertialSensor: allow accelcal with a rotation 2021-09-17 14:07:14 +10:00
Andrew Tridgell
4fdc1ebc30 AP_InertialSensor: fixed locking issue in delta accumulation
this fixes a bug in calculating delta velocity and delta acceleration
between threads.
2021-08-31 10:10:18 +10:00
Pierre Kancir
29b13ff98a AP_InertialSensor: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-25 16:37:13 +09:00
Scott Parlane
4d95a9d1c3 AP_InertialSensor: BMI160: Allow configuring the rotation 2021-08-13 12:32:28 +10:00
Scott Parlane
700edd241f AP_InertialSensor: BMI160: Make it possible to use I2C
The BMI160 chip talks the same protocol over SPI and I2C,
so simply allowing I2C in hwdef is sufficient to allow it to be used.
2021-08-13 12:32:28 +10:00
Scott Parlane
6554c535a1 AP_InertialSensor: BMI160: Remove linux-only restriction 2021-08-13 12:32:28 +10:00
bugobliterator
f20b7d0f8e AP_InertialSensor: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Andrew Tridgell
f68ed4f0a4 AP_InertialSensor: mark log messages as streaming 2021-08-03 10:23:36 +10:00
Andrew Tridgell
0f3dc195b6 AP_InertialSensor: fixed build warning 2021-07-27 19:50:21 +10:00
Siddharth Purohit
c4caf2ff54 AP_InertialSensor: add HAL_INS_ENABLED 2021-06-30 17:06:02 +10:00
Siddharth Purohit
447935bf4c AP_InertialSensor: remove dependence on gcs for AP_Periph builds 2021-06-30 17:06:02 +10: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