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
Andy Piper
90cdc1aa52
AP_InertialSensor: allow FFT window to be captured post-filter
...
selectively apply filters twice to make sure that FFT is not tracking itself
clean-up notch disablement for non-DSP builds
use filter gyro data for FFT when analysing post-filter
always apply LPF after all of the notches
move to a phased application of window information for FFT
tap FFT gyro window at the appropriate place for downsampled FFTs
add accessor for FFT notch
document notch uses cases and flow
2022-12-28 18:14:56 +11:00
Andy Piper
9eb561639b
AP_InertialSensor: add support for reading and writing INS data from a file in SITL
...
allow sketch to be stopped at end of SITL samples
2022-12-28 18:14:56 +11:00
Peter Barker
fe10f15e17
AP_InertialSensor: various SITL INS improvements
2022-11-16 10:22:33 +11:00
Peter Barker
5e21a95016
AP_InertialSensor: change namespace of MultiCopter and FixedWing params
...
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
bugobliterator
5096023eef
AP_InertialSensor: add fast reset for ICM20602 instead of full reset on bad temp sample
2022-11-01 10:53:09 +11:00
bugobliterator
35f05738d0
AP_InertialSensor: add support for ICM45686 IMU
2022-11-01 10:41:59 +11:00
Andy Piper
55aed98f81
AP_InertialSensor: ensure that hardware AAF and notch filter are enabled on 42605 and 42609
2022-10-25 11:06:02 +11:00
Andrew Tridgell
9fa3a433f5
Revert "AP_InertialSensor: disable temperature based fifo check on ICM20602"
...
This reverts commit 05f8e3c18d
.
this leads to bad IMU data on ICM20602
2022-10-22 13:01:39 +11:00
Leonardo Garcia
72c6977ea5
AP_InertialSensor: Fix BMI085 accel scaling
...
Original BMI088 has 24G range so it was hardcoded for *scale* within
read_fifo_accel. Added a class variable accel_range which is assigned
the correct value when the sensor type is received (16.0 or 24.0).
2022-10-18 11:03:34 +11:00
Andrew Tridgell
c42acd553e
AP_InertialSensor: use motor_mask from SITL for which outputs are motors
...
generate noise based on motor_mask
2022-10-16 20:38:19 +11:00
bugobliterator
05f8e3c18d
AP_InertialSensor: disable temperature based fifo check on ICM20602
2022-10-13 10:14:59 +11:00
Iampete1
4668e1b61e
AP_InertialSensor: Logging: only log single notch frequency unless per-motor, never log fixed
2022-10-05 18:30:24 +11:00
jackhong12
4a4f361a17
all: use CLASS_NO_COPY() macro
2022-10-04 11:23:04 +11:00
Andy Piper
8037e10be7
AP_InertialSensor: make sure dynamic notches always get updates so that slew limiting is not too aggressive
2022-09-21 17:41:38 +10:00
murata
a6d7d39364
AP_InertialSensor: Allow gyro counts to be returned
2022-09-20 09:37:29 +10:00
murata
734692460c
AP_InertialSensor: Remove line breaks from PANIC strings
2022-09-15 13:21:09 +10:00
Andy Piper
fcbaa0969e
AP_InertialSensor: synchronize BMI70 on fifo reads
2022-09-06 09:31:21 +10:00
Peter Barker
a4773413e4
AP_InertialSensor: correct INS_generic example
...
segfaults due to lack of singletoin objects in examples
2022-08-13 20:53:29 +10:00
Andy Piper
a6312ac893
AP_InertialSensor: correctly detect bad frames on regular ICM42xxx
2022-08-12 20:53:36 +10:00
Andy Piper
221ab9752e
AP_InertialSensor: synchronise fifo reads on the ICM42xxx
2022-08-12 20:53:36 +10:00
Iampete1
4e4bfda05d
AP_InertialSensor: vector params always use set method
2022-08-03 13:43:48 +01:00
Iampete1
ea03ea320c
AP_InertialSensor: params always use set method
2022-08-03 13:43:48 +01:00
Andy Piper
8855a54720
AP_InertialSensor: use filtered data in BMI270 and implement fifo reset
...
increase gyro ODR to 3.2Khz to allow higher AAF
use OSR4 on accel filter to achieve nominal 188Hz
2022-08-03 17:06:38 +10:00
Andy Piper
155d436807
AP_InertialSensor: support for fast sampling rates on ICM-42xxx series
...
thoughtfully set anti-aliasing filters on ICM-42xxx series
2022-08-02 17:26:46 +10:00
Andrew Tridgell
2582d5fad5
AP_InertialSensor: re-enable notch filter on 42688
...
thanks to Andy for pointing out this is for an internal resonance
2022-08-02 17:26:46 +10:00
Andrew Tridgell
8a6b8fc486
AP_InertialSensor: enable 180Hz LPF on ICM42670
2022-08-02 17:26:46 +10:00
Andrew Tridgell
5b579aebce
AP_InertialSensor: enable AAF at 488Hz for gyro+accel on ICM42688
...
this should improve vibration handling
2022-08-02 17:26:46 +10:00
Andrew Tridgell
5bde9b0e7c
AP_InertialSensor: added support for ICM42670 IMU
2022-08-02 17:26:46 +10:00
Iampete1
98d9f07507
AP_InertialSensor: defualt accel scale vector to 1.0
2022-07-28 16:51:33 +10:00
Andrew Tridgell
97646f4164
AP_InertialSensor: support BOARD_MATCH() for IMUs
2022-07-19 15:02:31 +10:00
Peter Barker
e4ce4ebed3
AP_InertialSensor: remove un-needed methods
2022-07-19 10:30:36 +10:00
Peter Barker
80e70b2fb4
AP_InertialSensor: remove voiding of parameter
...
Clearly this is used - we pass it down
2022-07-05 09:54:53 +10:00
Andrew Tridgell
c29b390e7b
AP_InertialSensor: implemented harmonics in SITL vibration
2022-07-03 18:47:33 +10:00
Andy Piper
193375a7e5
AP_InertialSensor: implement triple notches
2022-07-03 18:21:41 +10:00
Andy Piper
9d851a0c1a
AP_InertialSensor: allow concurrent logging of both pre- and post-filter IMU data for FFT
...
remove batch logging bitfields
2022-07-03 18:19:55 +10:00
Andrew Tridgell
9ac3472b47
AP_InertialSensor: add set_inactive() on notch filters
2022-06-30 20:58:37 +10:00
Andrew Tridgell
d653499efc
AP_InertialSensor: count filters to match notch options
...
this allows for much more complex filter setups as long as not
filtering on all IMUs
2022-06-12 15:39:44 +10:00
Andrew Tridgell
a37f268dc6
Ap_Inertialsensor: by default only run harmonic notch on the active gyro
...
this should save quite a lot of CPU. Only the active gyro impacts
vehicle flight
2022-06-12 15:39:44 +10:00
Andy Piper
11f5d1974a
AP_InertialSensor: don't print error when probing non-existant BMI270
...
fix device locking at startup on BMI270
2022-06-08 21:44:21 +10:00
Andy Piper
6cacdd1b34
AP_InertialSensor: properly reset MPU6000 signal path at startup
...
failure to reset the signal path as per the register spec leads to
very poor temperature response early on in startup.
2022-06-08 17:44:17 +10:00