Commit Graph

1149 Commits

Author SHA1 Message Date
bugobliterator c2c7aba277 AP_InertialSensor: fix hardfault in BatchSampler 2023-05-25 11:03:52 +09:00
Andrew Tridgell 9032a91b1e AP_InertialSensor: cleanup NAMED_VALUE_FLOAT for fifo error 2023-01-20 10:12:59 +09:00
Andrew Tridgell c89d5448b2 AP_InertialSensor: fixed flood of log with fast fifo reset 2023-01-20 10:12:59 +09:00
bugobliterator 8c3f086e21 AP_InertialSensor: add option to enable fast fifo reset on ICM20602 2023-01-10 10:14:12 +09:00
bugobliterator 3f074ef1c0 AP_InertialSensor: add fast reset for ICM20602 instead of full reset on bad temp sample 2023-01-10 10:14:12 +09:00
Andy Piper 3f71896897 AP_InertialSensor: ensure that hardware AAF and notch filter are enabled on 42605 and 42609 2022-11-21 18:48:49 +09:00
Andrew Tridgell 01b0586958 AP_InertialSensor: use motor_mask from SITL for which outputs are motors
generate noise based on motor_mask
2022-10-24 22:23:43 +09:00
Leonardo Garcia 2c6ccb3e05 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-24 22:23:43 +09:00
murata 4d7e819bac AP_InertialSensor: Allow gyro counts to be returned 2022-10-04 16:50:15 +09:00
Andy Piper 5ce02708cf AP_InertialSensor: make sure dynamic notches always get updates so that slew limiting is not too aggressive 2022-10-04 16:50:15 +09: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
Andrew Tridgell 19063a46a0 AP_InertialSensor: fixed build with logging disabled
fixes CubeOrange-periph build
2022-06-06 14:50:40 +10:00
Tom Pittenger 798f985ee5 AP_InertialSensor: relax is_still() threshold for SITL.. which is pretty darn still all the time for Plane 2022-05-20 10:52:47 -07:00
Randy Mackay 2382e58f04 AP_InertialSensor: extend ENABLE_MASK param desc IMUs 4 to 7 2022-05-19 07:54:24 +10:00
murata 324f5e3ac9 AP_InertialSensor: Console output can be disabled 2022-05-17 09:53:06 +10:00
Andy Piper e0b7e5f2a5 AP_InertialSensor: add throttle-based notch setup function
allocate harmonic notch filter if FFT is enabled
2022-05-04 17:05:51 +10:00
Peter Barker 94dc0e78cd AP_InertialSensor: tidy includes 2022-05-03 09:14:58 +10:00
Leonardo Garcia 0eb6ae365a AP_InertialSensor: Added BMI085 support
Fixed styling for 61125e2

Remove whitespace l202

Removed else
2022-04-27 18:37:39 +10:00
Iampete1 2d2165936a AP_InertialSensor: use pitch to guess which axis the user is trying to calibrate, warn about Q_TRIM_PITCH on plane 2022-04-26 10:03:30 +10:00
Andrew Tridgell db14ba46dc AP_InertialSensor: call notch param update with semaphore held 2022-04-19 09:39:03 +10:00
Andrew Tridgell dff0e5ecc1 AP_InertialSensor: fixed the last notch values to be per-instance
thanks to Andy for noticing this
2022-04-19 09:39:03 +10:00
Andrew Tridgell 184f84f4ee AP_InertialSensor: don't update disabled notches 2022-04-19 09:39:03 +10:00
Andrew Tridgell e2e1e74da5 AP_InertialSensor: switch to HarmonicNotch class
this makes the logic much easier to follow, without indexes into
arrays
2022-04-19 09:39:03 +10:00
Andrew Tridgell e67d9b4179 AP_InertialSensor: support two full harmonic notch filters 2022-04-19 09:39:03 +10:00
Andrew Tridgell 95ae150a21 AP_InertialSensor: catch FIFO overruns on BMI088
we have seen errors where the BMI088 gets out of sync, so that the 3
axes are rotated. The data is shifted by 4 bytes, so that X=Z, Y=X
and Z=Y

this changes the BMI088 to "stop on full" mode, which is what Bosch
use in their example drivers, and also catches FIFO overrun events and
triggers a full FIFO reset. This should fix the problem with the FIFO
sync
2022-04-16 19:24:16 +10:00
Andrew Tridgell ab5e8419d8 AP_InertialSensor: move INS_HNTC2 to a new parameter table ID 2022-04-16 08:14:06 +10:00
Andy Piper 29e8f96275 AP_InertialSensor: move frontend update into ramfunc. 2022-04-12 09:19:45 +10:00