Commit Graph

433 Commits

Author SHA1 Message Date
Andrew Tridgell aba5ec6854 AP_InertialSensor: added support for writing raw IMU data to a UART
this is for supporting external visual odomotry systems which need the
IMU data to correctly process image data

# Conflicts:
#	libraries/AP_InertialSensor/AP_InertialSensor.cpp
2023-11-30 07:05:02 +11:00
Iampete1 eb4e3fc36a AP_InertialSensor: init all notch center frequencies 2023-11-28 18:05:37 +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
Iampete1 e35a459090 AP_InertialSensor: call init for harmonic notch params 2023-10-10 08:07:16 +09: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
Peter Barker baf5d34256 AP_InertialSensor: create define specifically for the developer feature for killing IMUs 2023-06-07 18:23:01 +10:00
jfbblue0922 458fbb7f90 AP_InertialSensor: add SCHA63T IMU support 2023-05-10 17:24:02 +10:00
Michael du Breuil b76d6d827f AP_InertialSensor: Factor accel cal in from GCS_MAVLink 2023-04-21 21:33:16 +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
bugobliterator 866e6672c8 AP_InertialSensor: fix duplicate sensor detection for AUX sensors 2023-03-23 13:53:44 +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 18f0fc50d5 AP_InertialSensor: allow enabling of only some ExternalAHRS sensors 2023-01-30 09:22:02 +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
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
Peter Barker ee98d75173 AP_InertialSensor: rename HAL_INS_ENABLED to AP_INERTIALSENSOR_ENABLED 2023-01-03 10:28:42 +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
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 35f05738d0 AP_InertialSensor: add support for ICM45686 IMU 2022-11-01 10:41:59 +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
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
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
Andy Piper 193375a7e5 AP_InertialSensor: implement triple notches 2022-07-03 18:21:41 +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
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
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 ab5e8419d8 AP_InertialSensor: move INS_HNTC2 to a new parameter table ID 2022-04-16 08:14:06 +10:00
Peter Barker 3dae386ae3 AP_InertialSensor: correct compilation with HAL_INS_ACCELCAL_ENABLED false 2022-03-22 10:39:44 +11:00
Peter Barker a53af5277c AP_InertialSensor: assume accel cals are stored for sitl-on-hw
Same as for SITL - they don't need to actually be in storage to be valid
2022-03-17 14:39:55 +11:00
Iampete1 b77476caa1 AP_InertialSensor: remove custom orentations 2022-03-02 18:16:42 +11: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 c1c329e2b4 AP_InertialSensor: add and use AP_SIM_INS_ENABLED 2022-01-17 19:14:39 +11:00
Andy Piper 3fd79b8ffb AP_InertialSensor: BMI270 driver 2021-12-31 09:25:29 +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
Josh Henderson 27bcec9d6e AP_InertialSensor: for all Cubes ensure use of non-isolated IMU 2021-11-30 10:20:54 +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