Commit Graph

1032 Commits

Author SHA1 Message Date
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
1ddc21c9bb AP_InertialSensor: support saving tempcal params persistently 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
2e9f61fe49 AP_InertialSensor: fixed IMU index display in msgs
start at 1 for users
2021-01-21 13:09:21 +11:00
Andrew Tridgell
d5b511f4a0 AP_InertialSensor: fixed start timer for temperature in SITL
when we are doing an autotest we want the temperature to start
climbing when we first set SIM_IMUT_FIXED=0
2021-01-21 13:09:21 +11:00
Andrew Tridgell
30e55d8dfc AP_InertialSensor: cope with user changing TMAX while calibrating 2021-01-21 13:09:21 +11:00
Andrew Tridgell
e2e97c67ce AP_InertialSensor: catch user attempt to change TMAX during cal 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
cc3579ea5d AP_InertialSensor: change TCAL sampling to be even in temperature 2021-01-21 13:09:21 +11:00
Andrew Tridgell
fc0f8b990a AP_InertialSensor: added online learning of temp cal
use INS_TCAL1_ENABLE=2 to start learning
2021-01-21 13:09:21 +11:00
Andrew Tridgell
6f6f89e5aa AP_InertialSensor: enable temperature sensor on LSM9DS0
this allows for temperature calibration of the LSM303D in CubeBlack
and Pixhawk1
2021-01-21 13:09:21 +11:00
Andrew Tridgell
4bdf506d10 AP_InertialSensor: apply 1e-5 scale factor
this keeps the params in a reasonable range for parameter editors
2021-01-21 13:09:21 +11:00
Andrew Tridgell
0f6f6bac6b AP_InertialSensor: expose TCal class for use in SITL 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
murata
219dc2e7da AP_InertialSensor: Set the gravitational acceleration value to the defined value 2021-01-05 09:11:14 +09:00
Andy Piper
3db6203fb6 AP_InertialSensor: reduce FIFO buffer size to avoid DMA contention 2020-12-23 18:03:12 +11:00
Peter Barker
72acc8bfc8 AP_InertialSensor: use primary gyro (not accel) for get_delta_angle_dt 2020-11-29 13:21:53 +11:00
Peter Barker
2437cf8a24 AP_Logger: use instance number for IMU logging 2020-11-11 19:31:53 +11:00
Andrew Tridgell
f6c45c3bcd AP_InertialSensor: cope with INS_MAX_INSTANCES < 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
e8f21d3458 AP_InertialSensor: fixed rpm indexing for vtol motors
quadplane vtol motors start at 1
2020-10-28 14:20:44 +11:00
Michael du Breuil
c86dcf91d6 AP_InertialSensor: Run vibration monitoring on all instances 2020-10-24 09:54:04 +11:00
Peter Barker
02c9aa2ae2 AP_InertialSensor: remove unused define 2020-10-20 11:24:34 +11:00
mhefny
02daa4c3ec AP_InertialSensor: update L3G4200D driver 2020-10-06 09:27:26 -07:00
Andrew Tridgell
cfc59497f6 AP_InertialSensor: trigger internal error on persistent IMU reset
this will give users a warning when they are getting the Invensense
IMU FIFO reset issue
2020-09-02 06:42:44 +10:00
Andrew Tridgell
d5c0522651 AP_InertialSensor: instantiate SIM_IMU_COUNT sensors in SITL 2020-08-28 10:17:00 +10:00
bugobliterator
4cdb4b74f3 AP_InertialSensor: add support for checked register in Invensensev2 Drvr 2020-08-06 12:41:35 +10:00
Andy Piper
e53a43461b AP_InertialSensor: remove ICM gyro pre-filter 2020-08-04 09:24:16 +10:00
bugobliterator
43c16cd417 AP_InertialSensor: ensure that we use environment Python interpreter 2020-08-03 14:02:09 +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
duccan
cdcdd5ce27 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1
Rework after review:
- Kept old IMU and barometer definition of crazyflie 2.0 in hwdef
- Added comment regarding soft-reset command
- Added defaults.parm for crazyflie
2020-06-07 07:49:37 +10:00
duccan
0d96c7f7a5 AP_HAL_ChibiOS: Added support for Bitcraze Crazyflie 2.1 2020-06-07 07:49:37 +10:00
Andrew Tridgell
cab3630009 AP_InertialSensor: switched to supplying timestamps for SITL
this allows the time step to change on each loop as we no longer use
the average sensor rate when calculating deltas
2020-06-03 18:11:06 +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
Andrew Tridgell
5c6749ee54 AP_InertialSensor: use wait_pin() to wait for DRDY pin if available 2020-04-23 07:28:13 +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
Andrew Tridgell
d8b33bcac9 AP_InertialSensor: suppress expected errors from invensense IMUs 2020-03-11 16:30:06 +11:00
Andy Piper
507bd9eea9 AP_InertialSensor: add in user-specified background noise when there is no rpm noise 2020-02-25 08:35:09 +11:00
Andy Piper
41b41c05f3 AP_InertialSensor: scale SITL motor noise by SIM_VIB_MOT_MULT 2020-02-22 11:15:37 +11: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