Andrew Tridgell
dcda807464
AP_InertialSensor: move INS_HNTC2 to a new parameter table ID
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
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
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
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
Peter Barker
731cf038f0
AP_InertialSensor: remove @Values from param metadata where @Bitmask exists
2021-06-23 18:37:34 +10:00
Peter Barker
52a52e1e5b
AP_InertialSensor: remove HIL support
2021-06-15 09:47:31 +10:00
Andrew Tridgell
b3ed4f4b12
AP_InertialSensor: fixed handling of more than 3 accel/gyro instances
...
allows for first 3 to work without a panic
2021-04-13 09:36:52 +10:00
Andrew Tridgell
dcf6bcea6e
AP_InertialSensor: removed assert calls
...
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Peter Barker
2b0bf45891
AP_InertialSensor: remove separate calls to get delta-times for vel and ang
2021-03-13 11:29:29 +11:00
Andrew Tridgell
25dd08a1fd
AP_InertialSensor: added force_save_calibration()
2021-02-15 07:24:40 +11:00
Andrew Tridgell
2843cfa42d
AP_InertialSensor: use mavlink statustext for cal info
2021-01-25 16:24:50 +11:00
Andrew Tridgell
b542f947f7
AP_InertialSensor: don't mark accels as calibrating during trim
...
we need the accels with offsets applied when doing accel trim
2021-01-25 16:24:50 +11:00
Andrew Tridgell
3ff71c7814
AP_InertialSensor: changes from review feedback
2021-01-21 13:09:21 +11:00
Andrew Tridgell
ffe20f7958
AP_InertialSensor: use a fixed reference temperature of 35C
...
this allows us to timeout the calibration when the temperature stops
rising as the polynomial no longer depends on the maximum temperature
2021-01-21 13:09:21 +11:00
Andrew Tridgell
dc58b0b950
AP_InertialSensor: changes from review feedback
...
thanks Sid!
2021-01-21 13:09:21 +11:00
Andrew Tridgell
c9a83c8127
AP_InertialSensor: added INS_TCAL_OPTIONS
...
make persistent params optional, and allow save of accelcal
2021-01-21 13:09:21 +11:00
Andrew Tridgell
8caea96ab1
AP_InertialSensor: start auto-learning at boot
...
This makes it easier to setup the params. The ENABLE=2 value only
takes effect at boot
2021-01-21 13:09:21 +11:00
Andrew Tridgell
7cb7ad3636
AP_InertialSensor: fixed build error
2021-01-21 13:09:21 +11:00
Andrew Tridgell
3fb720354d
AP_InertialSensor: added notify events for temperature calibration
2021-01-21 13:09:21 +11:00
Andrew Tridgell
7921e042f1
AP_InertialSensor: added IMU temperature calibration support
...
this adds parameters that can be setup by an external script for
compensating for temperature variation in gyros and accels using a 3rd
order polynomial
2021-01-21 13:09:21 +11:00
Peter Barker
239b09fb34
AP_InertialSensor: add simulator for ICM40609
2021-01-12 17:43:36 +11:00
Andrew Tridgell
957842f7eb
AP_InertialSensor: added support for v3 Invensense sensors
...
starting with ICM-40609, ICM-42688 and ICM-42605
2021-01-11 14:43:35 +11:00
Andrew Tridgell
b74e5c0e2f
AP_InertialSensor: added ExternalAHRS backend
2021-01-05 21:13:12 +11:00
Andrew Tridgell
4f176c25de
AP_InertialSensor: relax IMU wait time for low loop rates
...
allow for waiting for all IMUs for up to 1/3 of the loop time
2021-01-05 21:13:12 +11:00
Andrew Tridgell
f6c45c3bcd
AP_InertialSensor: cope with INS_MAX_INSTANCES < 3
2020-11-10 16:15:45 +11:00
Peter Barker
02c9aa2ae2
AP_InertialSensor: remove unused define
2020-10-20 11:24:34 +11:00
Andrew Tridgell
d5c0522651
AP_InertialSensor: instantiate SIM_IMU_COUNT sensors in SITL
2020-08-28 10:17:00 +10:00
Andy Piper
d4ba821297
AP_InertialSensor: make the backend fast gyro rate configurable and independent from the accel rate
...
allow fast sampling of gyros on MPU6000 and MPU6500
2020-07-28 20:47:16 +10:00
Andy Piper
05366e9aa9
AP_InertialSensor: delegate active harmonic calculation to the filter
2020-07-14 09:50:06 +10:00
Andy Piper
faf9bbbf3a
AP_InertialSensor: make the backend fast gyro rate configurable
...
raise gyro rate default on F7 and H7
clean up gyro rate docs and output startup banner
2020-07-10 16:45:29 +10:00
Andy Piper
61bb42cc0c
AP_InertialSensor: allow up to four distinct notch center frequencies to be updated
...
apply the LPF after the notch filters to reduced notch-induced noise
2020-06-21 19:09:35 +10:00
Andy Piper
8ac79da643
AP_InertialSensor: FFT gyro window would overflow on windows >= 256
...
convert FFT buffers to ObjectBuffer<float> for lock-free access
push gyro samples directly into the FFT ring buffer from the gyro thread
2020-05-24 07:43:34 +10:00
Andy Piper
d0a241597a
AP_InertialSensor: add support for double harmonic notches to more effectively target wider noise peaks
2020-04-28 09:32:02 +10:00
Peter Barker
efbf929bc0
AP_InertialSensor: rename APMrover2 to Rover
2020-04-14 09:50:34 +09:00
Andrew Tridgell
d772289b0d
AP_InertialSensor: added driver for ADIS16470
2020-04-13 11:57:04 +10:00
Andy Piper
0e9b2a26c5
AP_InertialSensor: SITL the raw sample rate is not the same as the sensor rate
...
use regulated time for frequency noise to avoid spurious harmonics
SITL sensors must be true separate instances
don't compile in FFT structures if DSP disabled
2020-02-22 11:15:37 +11:00
Andy Piper
3d9776dd6d
AP_InertialSensor: expose statically filtered gyro values for FFT analysis and allow sampling to gyro window for FFT analysis.
...
FFT windows can be dynamically allocated
add harmonic notch dynamic tracking mode
unwind gyro window allocation in the case of failure
allow access to harmonic notch harmonics
2020-02-22 11:15:37 +11:00
Peter Barker
ab7ee46423
AP_InertialSensor: mark some parameters as Calibration parameters
2020-02-04 20:29:09 +11:00
Randy Mackay
b7f6f4a05e
AP_InertialSensor: reduce POS param range to 5m and add increment
2020-02-01 08:46:03 +09:00