Commit Graph

1166 Commits

Author SHA1 Message Date
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
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