Andrew Tridgell
f6c45c3bcd
AP_InertialSensor: cope with INS_MAX_INSTANCES < 3
4 years ago
Peter Barker
02c9aa2ae2
AP_InertialSensor: remove unused define
4 years ago
Andrew Tridgell
d5c0522651
AP_InertialSensor: instantiate SIM_IMU_COUNT sensors in SITL
5 years ago
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
5 years ago
Andy Piper
05366e9aa9
AP_InertialSensor: delegate active harmonic calculation to the filter
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
Andy Piper
d0a241597a
AP_InertialSensor: add support for double harmonic notches to more effectively target wider noise peaks
5 years ago
Peter Barker
efbf929bc0
AP_InertialSensor: rename APMrover2 to Rover
5 years ago
Andrew Tridgell
d772289b0d
AP_InertialSensor: added driver for ADIS16470
5 years ago
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
5 years ago
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
5 years ago
Peter Barker
ab7ee46423
AP_InertialSensor: mark some parameters as Calibration parameters
5 years ago
Randy Mackay
b7f6f4a05e
AP_InertialSensor: reduce POS param range to 5m and add increment
5 years ago
Andrew Tridgell
e52a3b9978
AP_InertialSensor: default fast sampling on
...
if we have a first IMU capable of fast sampling then we want it
enabled by default
5 years ago
Mark Whitehorn
00948c33d5
AP_InertialSensor: rename sensor_config_error to config_error
5 years ago
Andy Piper
a9a7fe3ea5
AP_InertialSensor: ensure harmonic notch gets appropriate defaults
5 years ago
Andy Piper
3261677e01
AP_InertialSensor: remove _ prefix from methods. use changed filter methods.
5 years ago
Andy Piper
50f7e50634
AP_InertialSensor: add harmonic notch filter to gyro filter chain
...
Allow dynamic updates to the calculated frequency. Convert bandwidth and frequency to floats.
backend variables do not need to be indexed per-backed
5 years ago
Andy Piper
dde6dec145
AP_InertialSensor: correct reboot documentation for batch logger and filters
5 years ago
Andrew Tridgell
15e15e0b9d
AP_InertialSensor: define GET_I2C_DEVICE()
6 years ago
Andrew Tridgell
1c92ecc89f
AP_InertialSensor: removed old method of specifying most IMUs
...
and removed dangerous default values for rotations
6 years ago
Andrew Tridgell
c99923d500
AP_InertialSensor: require gyro orientations in LSM9DS probe
...
this prevents a bug where they are missing in hwdef.dat
6 years ago
Andrew Tridgell
992016069a
AP_InertialSensor: fixed watchdog on AHRS trim gyro wait
6 years ago
Andrew Tridgell
e1ce735886
AP_InertialSensor: special check for CubeBlack to force INS_USE3=1
...
this will cope with users loading old parameter files
6 years ago
Andrew Tridgell
123800ccd2
AP_InertialSensor: default INS_USE3 to 1
6 years ago
Andrew Tridgell
8e5c0fa32b
AP_InertialSensor: disable kill IMUs with HAL_MINIMIZE_FEATURES
6 years ago
Andrew Tridgell
3444e82ef9
AP_InertialSensor: added RC switch for killing IMUs
6 years ago
Andrew Tridgell
053f0cb689
AP_InertialSensor: try much harder to get all IMU samples
...
this we ensures we get new data for all active IMUs on each loop,
rather than sometimes returning with some IMUs not having data.
This matters as not having a sample on an IMU for a single loop can
cause an EKF IMU failover, which will degrade the learned bias
variances
The issue is usually only seen under high load, such as requesting a
loop rate beyond what the hardware is capable of
6 years ago
Andy Piper
36878e9b3c
AP_InertialSensor: Allow all filter frequencies to be 16bit.
6 years ago
Andy Piper
18d403c3ac
AP_InertialSensor: Rework notch filter allocation and sampling
...
https://github.com/ArduPilot/ardupilot/issues/11346
Allocate a notch filter per-IMU.
Update the notch filters in the backend at the sensor sample rate.
Allow raw logging of post-filtered gyro and accel values.
6 years ago
Andrew Tridgell
aef343bfd0
AP_InertialSensor: removed old mRoControlZeroF7 config
6 years ago
Andrew Tridgell
039e7366b0
AP_InertialSensor: support new sensor config setup
6 years ago
Andrew Tridgell
3823ba539c
AP_InertialSensor: rename to EXPECT_DELAY_MS()
6 years ago
Andrew Tridgell
02326ac52c
AP_InertialSensor: use EXPECT_DELAY() macro
6 years ago
Phillip Kocmoud
6665e4c0a7
AP_InertialSensor: probe IMUs for mRoControlZeroF7
6 years ago
Jaaaky
47c65314fb
AP_InertialSensor: fix accelcalsimple watchdog
6 years ago
Andrew Tridgell
034d476fa5
AP_InertialSensor: prevent watchdog in accelcal
6 years ago
Andrew Tridgell
9c48d001ac
AP_InertialSensor: skip gyro cal on watchdog reset
6 years ago
Andrew Tridgell
c988eb2fd9
AP_InertialSensor: don't set INS_ENABLE_MASK to found IMU mask
6 years ago
L Kurt Shaw
d08ab88dea
INS: AP_InertialSensor comments for new cubes
...
Correct comments ICM20648 should have been ICM20948
6 years ago
Randy Mackay
5d8747c81d
AP_InetialSensor: fixup ENABLE_MASK parameter desc
6 years ago
Andrew Tridgell
4a334d0ed7
AP_IneertialSensor: fixed startup race in SITL
6 years ago
Andrew Tridgell
0a718ba330
AP_IneertialSensor: fixed orientations and gyro scale factors for new Invensense IMUs
6 years ago
Siddharth Purohit
8c2d3945de
AP_IneertialSensor: add support for custom accel scale
...
adds support for 30g measurement on ICM20649
6 years ago
Siddharth Purohit
3a833d9a90
AP_InertialSensor: fix rotation for ICM20649
6 years ago
L Kurt Shaw
8d75e8c5bb
INS: AP_InertialSensor.cpp
...
Fix typo in comments should be NFC
6 years ago
Andrew Tridgell
81cd103073
AP_InertialSensor: probe for new v2 invensense IMUs
...
also suppress LSM9DS0 whoami warnings, as these will now be common
with new IMUs
and make 20602 show up as a new devtype so we can distinguish it
6 years ago
Siddharth Purohit
528c0b4d7c
AP_InertialSensor: add drivers for register bank based Invensense Sensors
6 years ago