Andy Piper
05eea57438
AP_InertialSensor: allow access to harmonic notch for scripting
2024-11-04 16:05:21 +00:00
bugobliterator
9381404a9f
AP_InertialSensor: fix continuing after ins init fail in AP_Periph
2024-10-23 06:46:22 +09:00
Andy Piper
cb111504e2
AP_InertialSensor: cope with negative ESC frequencies in notch updates
2024-10-09 18:31:57 +11:00
James O'Shannessy
66817e207f
AP_InertialSensor: Check the gyro/accel id has not been previously registered
...
If the Gyro/Accel ID is already in the registered list, do not try to add it again.
This stops an issue seen on a CubeOrangePlus BG3 where, during the very first boot after a parameter wipe, software incorrectly registers a fourth IMU.
The Fourth IMU is registered because the AUX IMU is the same DevID as the third ICM45686.
2024-07-25 09:49:35 +10:00
Peter Barker
8ddac54b17
AP_InertialSensor: rename ins get_primary_accel to get_first_usable_accel
2024-06-26 17:12:12 +10:00
Andrew Tridgell
a0acccb1f9
AP_InertialSensor: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andy Piper
f78eb58fb4
AP_InertialSensor: ensure that notches get updated while converging
2024-05-03 07:34:21 +10:00
James O'Shannessy
ac271cf4e0
AP_InertialSensor: Improve bitmask indicating persistent parameters on bootloader flash
...
INS_TCAL_OPTIONS parameter description indicates a singular bit in a bitmask to persist Accels/TCAL parameters, however there are two separate bits for persistence.
2024-03-26 11:39:11 +11:00
Peter Barker
6de3cce480
AP_InertialSensor: allow HarmonicNotches to be compiled out of the code
2024-03-19 07:04:13 +11:00
Andrew Tridgell
88fb38b524
AP_InertialSensor: added comments
2024-03-16 06:54:27 +11:00
Andrew Tridgell
25ffcc1580
AP_InertialSensor: use num_composite_notches()
...
this prevents duplication of the logic for the priority of the double
notch vs the triple notch option
2024-03-16 06:54:27 +11:00
Andrew Tridgell
08ccead215
AP_InertialSensor: fixed num_filters to be uint16_t
...
max is more than 256
2024-03-16 06:54:27 +11:00
Andrew Tridgell
de8bec596e
AP_InertialSensor: removed zero checks and clamping on notch filters
...
and pass params object down into HarmonicNotchFilter
2024-03-16 06:54:27 +11:00
Andrew Tridgell
66ff84e6fb
AP_InertialSensor: fixed wait_for_sample() in examples
2024-02-28 19:22:14 +11:00
Andrew Tridgell
280bc3a285
AP_InertialSensor: fixed accel cal simple to remove unused IMUs
...
when we change EAHRS_SENSORS to remove use of IMU from an external
AHRS we need to be able to zero the accel and gyro offsets to get
prearms to pass
2024-02-27 21:10:20 +11:00
Hayden Donald
fdf56c2ec4
AP_InertialSensor: Move accel/gyro_consistent to AP_IntertialSensor
...
Move the accel_consistent and gyro_consistent methods from AP_Arming to AP_IntertialSensor
2024-02-09 18:54:43 +11:00
Peter Barker
1051da5cb4
AP_InertialSensor: correct compilation when AP_AHRS_ENABLED is off
...
e.g. CubeOrange-periph-heavy
2024-01-16 16:14:04 +11:00
Peter Barker
a81b229997
AP_InertialSensor: make AHRS attitude member variables private
2024-01-14 12:47:47 +11:00
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