Andrew Tridgell
483d19f44c
AP_InertialSensor: apply stuck gyro fix to all IxM42xxx sensors
...
TDK has confirmed this applies to all IxM42xxx sensors
2023-10-29 08:24:04 +11:00
Andy Piper
7ca2a4da56
AP_InertialSensor: remove ICM42xxx defaults
2023-10-25 19:23:11 +11:00
Andrew Tridgell
2688848cd1
AP_InertialSensor: fixed orientation of batch sampled data
...
we need to rotate the data so that FFT displays match the configured
orientation
2023-10-25 19:23:11 +11:00
Andrew Tridgell
0ebf9e7af5
AP_InertialSensor: pre-fetch instances for use in filter setup
...
we use the instance numbers during filter configuration to check if
fast sampling is enabled. We need to ensure these instance numbers
have been setup before the filtering functions get called
2023-10-25 19:23:11 +11:00
Andy Piper
a9e0bf070c
AP_InertialSensor: ensure indirect registers are not modified with sensors active on ICM-42688
2023-10-25 19:23:11 +11:00
Andy Piper
da0b1402d3
AP_InertialSensor: add high-resolution reads for ICM45686
...
enable high-resolution support on all ICM4xxxx sensors
create INS_HIRES_SAMPLE mask
adjust high-resolution sampling for correct byte ordering and depth
correct high resolution scaling on 18bit ICM4xxxx IMUs
control highres via HAL_INS_HIGHRES_SAMPLE
2023-10-25 19:23:11 +11:00
Andrew Tridgell
b6c9ac2569
AP_InertialSensor: added optional FIFO rate logging to invensensev3 driver
...
this is useful for tracking down and confirming the stuck gyro issue
on the ICM42688
2023-10-22 15:09:40 +11:00
Andrew Tridgell
792d8a4cb8
AP_InertialSensor: fix for ICM42688 stuck gyro issue
...
these undocumented bits in register 0x4d control the "adaptive full
scale range" mode of the ICM42688. The feature is enabled by default
but has a bug where it gives "stuck" gyro values for short periods
(between 1ms and 2ms):, leading to a significant gyro bias at longer
time scales, enough to in some cases cause a vehicle to crash if it is
unable to switch to an alternative IMU
this fixes https://github.com/ArduPilot/ardupilot/issues/25025
2023-10-22 15:09:40 +11:00
Iampete1
e35a459090
AP_InertialSensor: call init for harmonic notch params
2023-10-10 08:07:16 +09:00
Andrew Tridgell
6e26f088bf
AP_InertialSensor: fixed the error value for BMI088
...
the bad value is -32768 not 0xffff (which is -1)
-32768 badly corrupts the low-pass filter, and is what we see in logs
(a large negative spike on all 3 axes)
update to bug fix from:
https://github.com/ArduPilot/ardupilot/pull/23033
2023-10-08 10:52:27 +11:00
Iampete1
3429276224
AP_InertialSensor: add INS_RAW_LOG_OPT to allow raw logging of post, and pre+post on primary or all gyros
2023-10-03 10:24:58 +11:00
Rhys Mainwaring
732b074bee
AP_InertialSensor: update to support esp32
...
- Remove whitespace
- Remove instance checks in AP_InertialSensor_NONE timer update
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-09-02 09:43:14 +10:00
Peter Barker
baf5d34256
AP_InertialSensor: create define specifically for the developer feature for killing IMUs
2023-06-07 18:23:01 +10:00
Randy Mackay
217ba502ac
AP_InertialSensor: SCHA63T comment fix
2023-05-10 17:24:02 +10:00
Randy Mackay
9d9de678a5
AP_InertialSensor: SCHA63T loses unused ret bool
2023-05-10 17:24:02 +10:00
Randy Mackay
7c2a173f30
AP_InertialSensor: formatting fixes
2023-05-10 17:24:02 +10:00
jfbblue0922
458fbb7f90
AP_InertialSensor: add SCHA63T IMU support
2023-05-10 17:24:02 +10:00
David Buzz
a896ab9e71
AP_InertialSensor: quieten imu's on esp32
...
less noisy
ins debug
imu
2023-05-02 14:38:03 +10:00
Michael du Breuil
b76d6d827f
AP_InertialSensor: Factor accel cal in from GCS_MAVLink
2023-04-21 21:33:16 +10:00
Peter Barker
6e1cd839d8
AP_InertialSensor: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
...
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Wu
0f1253b393
AP_InertialSensor: the accel fast-sampling rate of MPU6500 is 4k,not 1k
2023-04-12 15:24:41 +10:00
bugobliterator
13cdc8bda8
AP_InertialSensor: fix hardfault in BatchSampler
2023-04-05 18:22:03 +10:00
Henry Wurzburg
00858dce78
AP_InertialSensor: add buzzer noises
2023-04-05 09:05:14 +10:00
Andy Piper
c9382cd221
AP_InertialSensor: HAL_WITH_DSP -> HAL_GYROFFT_ENABLED
2023-03-29 20:49:40 +11:00
Peter Barker
3fada15681
AP_InertialSensor: correct access beyond array in Ins TCal
2023-03-28 21:25:11 +11:00
bugobliterator
866e6672c8
AP_InertialSensor: fix duplicate sensor detection for AUX sensors
2023-03-23 13:53:44 +11:00
bugobliterator
fee6f435ea
AP_InertialSensor: increase the temp tolerance for INV2 driver for fifo reset
2023-03-23 13:53:28 +11:00
bugobliterator
08bea2fcd2
AP_InertialSensor: move from INS_ top level parameters to INS
2023-03-21 10:04:16 +11:00
bugobliterator
10439cc42e
AP_InertialSensor: add support for extra Aux IMUs
2023-03-21 10:04:16 +11:00
Andrew Tridgell
34a52142c8
AP_InertialSensor: added support using the 2nd IMU for heater control
2023-03-15 19:08:53 +11:00
Iampete1
77540dff07
AP_inertialSensor: BatchSampler: add enabled and initalised getters
2023-03-07 10:56:16 +11:00
Andrew Tridgell
a0fe53414c
AP_InertialSensor: removed the error count on BMI088 0xff data
...
this error happens often enough that it is frustrating for users who
can't arm, which just encourages use of forced arming.
logs show this happening at a rate of once every few seconds, which
doesn't impact on the usability of the gyro (which is at 2kHz), but
does prevent arming with this error incremement
2023-02-28 11:28:25 +11:00
Peter Barker
601c46f7e0
AP_InertialSensor: add gyro bias simulation
2023-02-24 09:21:42 +11:00
Andy Piper
3cca401af8
AP_InertialSensor: calculate backend sample rates on ICM45686 correctly
2023-02-22 18:06:46 +11:00
bugobliterator
5680c411e9
AP_InertialSensor: can check icm45686 RTC_CONFIG reg because reserved value changes
2023-02-22 18:06:46 +11:00
bugobliterator
ef9e264919
AP_InertialSensor: set default data rate to 3.2kHz for ICM-45686
2023-02-22 18:06:46 +11:00
bugobliterator
b20ffce39d
AP_InertialSensor: add soft reset, clkin for icm45686 and other fixes
2023-02-22 18:06:46 +11:00
Andy Piper
727aa02c26
AP_InertialSensor: correct register setup for ICM45686, make CLKIN optional
2023-02-22 18:06:46 +11:00
Andy Piper
4aafb3ab71
AP_InertialSensor: fast sampling for ICM45686
...
Fix accel scale on ICM45686
2023-02-22 18:06:46 +11:00
Andrew Tridgell
18f0fc50d5
AP_InertialSensor: allow enabling of only some ExternalAHRS sensors
2023-01-30 09:22:02 +11:00
Andrew Tridgell
08d420a08c
AP_InertialSensor: reject 0xff frames from BMI088 gyro
...
a log on a board with a BMI088 seems to show that this happened
2023-01-24 11:16:39 +11:00
Andy Piper
bd05b548a7
AP_InertialSensor: use freq_min_ratio on notch tune setup
...
set harmonics in notch setup
2023-01-24 10:56:33 +11:00
Andrew Tridgell
645240cc2b
AP_InertialSensor: cleanup NAMED_VALUE_FLOAT for fifo error
2023-01-19 15:44:13 +11:00
Andrew Tridgell
786ae7c67f
AP_InertialSensor: fixed flood of log with fast fifo reset
2023-01-19 15:44:13 +11:00
Peter Barker
e5c3dd871c
AP_InertialSensor: create explicit define for AP_INERTIALSENSOR_BATCHSAMPLER_ENABLED
...
this allows the batch sampler to be removed for size reasons, or because you don't have logging enabled
2023-01-11 19:08:41 +11:00
Peter Barker
95527894de
AP_InertialSensor: define AP_INERTIALSENSOR_ENABLED in a new AP_InertialSensor_config.h
2023-01-04 18:02:34 +11:00
Iampete1
2e465b4c18
AP_InertialSensor: External: report name in output banner
2023-01-03 10:32:20 +11:00
Peter Barker
ee98d75173
AP_InertialSensor: rename HAL_INS_ENABLED to AP_INERTIALSENSOR_ENABLED
2023-01-03 10:28:42 +11:00
Andy Piper
7f7305a6d9
AP_InertialSensor: use correct include for sim-on-hardware
2022-12-31 09:32:32 +11:00
Andy Piper
16ca2e1179
AP_InertialSensor: use 234Hz accel LPF and 532Hz gyro LPF on BMI088 to more closely match Invensense
...
synchronize fifo reads with backend update on BMI088
2022-12-28 18:18:26 +11:00