ardupilot/libraries/AP_InertialSensor
Andrew Tridgell d9c8db7024 AP_InertialSensor: implement a new strategy for fast sampling
this moves to using a 1p filter on the high rate data, followed by
averaging down to 1kHz then a 2p filter to apply configured cutoff
frequency.

It also fixes the FIFO reset to not cause data corruption. We need to
disable all FIFO channels before doing the reset, and wait for the
FIFO to stop in the sensor.

Finally it moves sampling of the MPU6000 and MPU9250 into the main
thread. That significantly improves scheduling performance as we no
longer get long FIFO SPI transfers happening during other tasks. All
transfers happen at the start of the fast loop. That makes timing much
more predictable.

Thanks to Leonard and Paul for help with this design!
2016-11-25 17:49:57 +11:00
..
examples AP_InertialSensor: add O_CLOEXEC in places missing it 2016-11-07 12:37:30 -03:00
AP_InertialSensor_Backend.cpp AP_InertialSensor: implement a new strategy for fast sampling 2016-11-25 17:49:57 +11:00
AP_InertialSensor_Backend.h AP_InertialSensor: added INS_FAST_SAMPLE parameter 2016-11-15 21:16:40 +11:00
AP_InertialSensor_BMI160.cpp AP_InertialSensor: replace panic() with return 2016-11-21 18:04:10 -02:00
AP_InertialSensor_BMI160.h AP_InertialSensor: BMI160: convert it to use Device periodic callback 2016-09-03 01:03:07 -03:00
AP_InertialSensor_HIL.cpp AP_InertialSensor: save id for gyro and accel instances 2016-11-09 17:08:05 +11:00
AP_InertialSensor_HIL.h Global: remove mode line from headers 2016-10-24 09:42:01 -02:00
AP_InertialSensor_L3G4200D.cpp AP_InertialSensor: check for NULL device pointer in probe() 2016-11-09 17:08:10 +11:00
AP_InertialSensor_L3G4200D.h AP_InertialSensor: removed unused product_id function in L3G4200D 2016-11-09 17:08:01 +11:00
AP_InertialSensor_LSM9DS0.cpp AP_InertialSensor: fixed gyro orientation on l3gd20H on pixhawk 2016-11-16 20:33:56 +11:00
AP_InertialSensor_LSM9DS0.h AP_InertialSensor: fixed gyro orientation on l3gd20H on pixhawk 2016-11-16 20:33:56 +11:00
AP_InertialSensor_MPU6000.cpp AP_InertialSensor: implement a new strategy for fast sampling 2016-11-25 17:49:57 +11:00
AP_InertialSensor_MPU6000.h AP_InertialSensor: implement a new strategy for fast sampling 2016-11-25 17:49:57 +11:00
AP_InertialSensor_MPU9250.cpp AP_InertialSensor: implement a new strategy for fast sampling 2016-11-25 17:49:57 +11:00
AP_InertialSensor_MPU9250.h AP_InertialSensor: implement a new strategy for fast sampling 2016-11-25 17:49:57 +11:00
AP_InertialSensor_PX4.cpp AP_InertialSensor: use correct device IDs on PX4 driver 2016-11-09 17:08:05 +11:00
AP_InertialSensor_PX4.h Global: remove mode line from headers 2016-10-24 09:42:01 -02:00
AP_InertialSensor_qflight.cpp AP_InertialSensor: save id for gyro and accel instances 2016-11-09 17:08:05 +11:00
AP_InertialSensor_qflight.h Global: remove mode line from headers 2016-10-24 09:42:01 -02:00
AP_InertialSensor_QURT.cpp AP_InertialSensor: save id for gyro and accel instances 2016-11-09 17:08:05 +11:00
AP_InertialSensor_QURT.h Global: remove mode line from headers 2016-10-24 09:42:01 -02:00
AP_InertialSensor_SITL.cpp AP_InertialSensor: save id for gyro and accel instances 2016-11-09 17:08:05 +11:00
AP_InertialSensor_SITL.h Global: remove mode line from headers 2016-10-24 09:42:01 -02:00
AP_InertialSensor_UserInteract_MAVLink.cpp Global: To nullptr from NULL. 2016-11-02 16:04:47 -02:00
AP_InertialSensor_UserInteract_MAVLink.h AP_InertialSensor: sanitize includes 2016-02-01 14:18:51 -02:00
AP_InertialSensor_UserInteract_Stream.cpp AP_InertialSensor: use printf() rather than _printf_P() 2015-10-30 14:35:27 +09:00
AP_InertialSensor_UserInteract_Stream.h AP_InertialSensor: sanitize includes 2016-02-01 14:18:51 -02:00
AP_InertialSensor_UserInteract.h AP_InertialSensor: sanitize includes 2016-02-01 14:18:51 -02:00
AP_InertialSensor.cpp AP_InertialSensor: fixed pixfalcon 9250 detection 2016-11-18 14:24:39 +11:00
AP_InertialSensor.h AP_InertialSensor: added INS_FAST_SAMPLE parameter 2016-11-15 21:16:40 +11:00
AuxiliaryBus.cpp AP_InertialSensor: implement device IDs for AuxilaryBus 2016-11-09 17:08:04 +11:00
AuxiliaryBus.h AP_InertialSensor: implement device IDs for AuxilaryBus 2016-11-09 17:08:04 +11:00