Commit Graph

1110 Commits

Author SHA1 Message Date
Andrew Tridgell c1022ce4d0 AP_InertialSensor: support BOARD_MATCH() for IMUs 2022-08-02 18:03:52 +10:00
Andy Piper 7aab708727 AP_InertialSensor: support for fast sampling rates on ICM-42xxx series
thoughtfully set anti-aliasing filters on ICM-42xxx series
2022-08-02 18:03:52 +10:00
Andrew Tridgell 3754f36fac AP_InertialSensor: re-enable notch filter on 42688
thanks to Andy for pointing out this is for an internal resonance
2022-08-02 18:03:52 +10:00
Andrew Tridgell 2a0b2d9919 AP_InertialSensor: enable 180Hz LPF on ICM42670 2022-08-02 18:03:52 +10:00
Andrew Tridgell b0c8b65756 AP_InertialSensor: enable AAF at 488Hz for gyro+accel on ICM42688
this should improve vibration handling
2022-08-02 18:03:52 +10:00
Andrew Tridgell 4ed6ef56b7 AP_InertialSensor: added support for ICM42670 IMU 2022-08-02 18:03:52 +10:00
Andy Piper c328d9a531 AP_InertialSensor: don't print error when probing non-existant BMI270
fix device locking at startup on BMI270
2022-06-17 14:07:00 +10:00
Andrew Tridgell b44478217f AP_InertialSensor: fixed build with logging disabled
fixes CubeOrange-periph build
2022-06-17 14:07:00 +10:00
Randy Mackay 69203b27c8 AP_InertialSensor: extend ENABLE_MASK param desc IMUs 4 to 7 2022-06-17 14:07:00 +10:00
Andrew Tridgell 0f230ee4c6 AP_InertialSensor: call notch param update with semaphore held 2022-06-17 14:07:00 +10:00
Andrew Tridgell 85db0c498b AP_InertialSensor: fixed the last notch values to be per-instance
thanks to Andy for noticing this
2022-06-17 14:07:00 +10:00
Andrew Tridgell 7b08a6c00c AP_InertialSensor: don't update disabled notches 2022-06-17 14:07:00 +10:00
Andrew Tridgell e799649e6c AP_InertialSensor: switch to HarmonicNotch class
this makes the logic much easier to follow, without indexes into
arrays
2022-06-17 14:07:00 +10:00
Andrew Tridgell 25d00e433e AP_InertialSensor: support two full harmonic notch filters 2022-06-17 14:07:00 +10:00
Andy Piper 99a9c6edd7 AP_InertialSensor: move frontend update into ramfunc. 2022-04-28 12:56:34 +10:00
Andrew Tridgell dcda807464 AP_InertialSensor: move INS_HNTC2 to a new parameter table ID 2022-04-28 12:56:34 +10:00
Andrew Tridgell 3e87782cc0 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-28 12:56:34 +10:00
Andy Piper c7a43f2a90 AP_InertialSensor: put some functions in fast ram
precisely split backend/frontend on Invensense for RAMFUNC allocation
allow building with no IMUs
2022-02-09 12:47:55 +00:00
Peter Barker 558f6babc4 AP_InertialSensor: correct compilation if INS_TEMPERATURE_CAL_ENABLE is off 2022-02-08 10:44:01 +11:00
Peter Barker c1c329e2b4 AP_InertialSensor: add and use AP_SIM_INS_ENABLED 2022-01-17 19:14:39 +11:00
Jaaaky f80a9ba3ce AP_InertialSensor: Fix issue #19599 Failed to build Pixhawk1 with O3
As suggested by @tridge
2022-01-17 08:33:27 +11:00
Peter Barker 80178f5d07 AP_InertialSensor: mark FTN as a streamed message 2022-01-05 16:34:36 +11:00
Peter Barker 6084682634 AP_InertialSensor: move INS notch filter logging into INS 2022-01-05 16:34:36 +11:00
Andy Piper 3fd79b8ffb AP_InertialSensor: BMI270 driver 2021-12-31 09:25:29 +11:00
Andrew Tridgell 7c8794b0bd AP_InertialSensor: fixed INS_generic example
useful for driver development
2021-12-30 10:02:35 +11:00
Andrew Tridgell 662327f2ea AP_InertialSensor: added support for more ADIS IMUs
support 32 bit delta angles and velocities
2021-12-29 18:25:18 +11:00
Andy Piper 6e3b502110 AP_InertialSensor: inline vector ops for backends and temp cal 2021-12-22 18:23:33 +11:00
Andy Piper d44478ff59 AP_InertialSensor: calculate number of notches based on motor count
configure default harmonics if dynamic harmonics
set number of notches correctly for FFT operation
include static notch in filter calculation and allow harmonic options on static notch
2021-12-22 18:13:38 +11:00
Jaaaky bbb38504d6 AP_InertialSensor: Fix multi #include's 2021-12-21 10:38:46 +11:00
Peter Barker c6734ad825 AP_InertialSensor: correct logging of inertial-sensor reg-change logging 2021-12-18 21:25:27 +11:00
QioTek e5a8695640 AP_InertialSensor: added support for ICM-20608-D sensor 2021-12-17 07:58:48 +11:00
QioTek 586c2064a6 AP_InertialSensor: added support for IIM-42652 and ICM-40605 sensors
handle new Invensense v3 sensor types
2021-12-14 11:38:36 +11:00
Josh Henderson 27bcec9d6e AP_InertialSensor: for all Cubes ensure use of non-isolated IMU 2021-11-30 10:20:54 +11:00
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