Commit Graph

310 Commits

Author SHA1 Message Date
Andrew Tridgell 491d1da9e7 AP_InertialSensor: special check for CubeBlack to force INS_USE3=1
this will cope with users loading old parameter files
2019-07-31 12:59:41 +10:00
Andrew Tridgell 999b503523 AP_InertialSensor: default INS_USE3 to 1 2019-07-31 12:54:28 +10:00
Andrew Tridgell 5e420e2adf AP_IneertialSensor: fixed startup race in SITL 2019-07-10 11:14:59 +10:00
Andrew Tridgell 9773f841b8 AP_InertialSensor: add drivers for register bank based Invensense Sensors 2019-07-09 16:23:45 +10:00
Andrew Tridgell 99bbcddc26 AP_InertialSensor: added driver for BMI088
setup for 1600 Hz accel sample, 2kHz gyro sample, 24g accel range
2019-07-09 16:23:45 +10:00
Phillip Kocmoud d484e9300a AP_InertialSensor: probe IMUs for mRoControlZeroF7 2019-07-09 16:23:45 +10:00
Andrew Tridgell a5e3cd664b AP_InertialSensor: added RC switch for killing IMUs 2019-07-06 15:50:34 +10:00
Andrew Tridgell 0bbe9bfb71 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
2019-07-06 10:03:18 +10:00
Jaaaky 715f117d4b AP_InertialSensor: fix accelcalsimple watchdog 2019-05-03 10:37:34 +10:00
Andrew Tridgell ca37b06af2 AP_InertialSensor: don't set INS_ENABLE_MASK to found IMU mask 2019-04-22 14:47:43 +10:00
Andrew Tridgell 4139450db8 AP_InertialSensor: prevent watchdog in accelcal 2019-04-20 17:35:49 +10:00
Andrew Tridgell 3f0af2ce29 AP_InertialSensor: skip gyro cal on watchdog reset 2019-04-20 13:55:08 +10:00
Andrew Tridgell 645629baa2 AP_InertialSensor: fixed orientation of 2nd OmnibusF7V2 IMU 2018-12-12 16:28:42 +11:00
Andrew Tridgell 89b8124560 AP_InertialSensor: added BMI055 IMU driver 2018-06-08 09:56:41 +10:00
Andrew Tridgell bfa66c9397 AP_InertialSensor: detect two IMUs on FMUv5 2018-06-06 07:15:41 +10:00
Francisco Ferreira 8b32960d3e AP_InertialSensor: remove Qualcomm board support 2018-05-17 09:57:20 +10:00
Peter Barker 1a640e3405 AP_InertialSensor: parameterise sensor-rate logging, generalise it
AP_InertialSensor: add parameters for push-to-log interval and count

AP_InertialSensor: rename BAT_RAW to BAT_OPT

This becomes a bitmask of options for the BatchSampler

AP_InertialSensor: rename 'fast sample' to 'sensorrate sample'

AP_InertialSensor: const sensor-rate filter method

AP_InertialSampler: remove hard-coding of sample rate multiplier

AP_InertialSensor: use parameter to enable/disable sensor-rate logging

AP_InertialSensor: use a parameter to control sensor-rate logging

AP_InertialSensor: allow backends to override sensor data multiplier

e.g. some accelerometers are sensitive over wider ranges than the default 16G

AP_Inertialsensor: correct sample rate multiplier
2018-05-01 09:35:29 +10:00
Jacob Walser ad4e928e7d AP_InertialSensor: add support for custom board orientations 2018-04-24 13:04:37 +01:00
Andrew Tridgell ea2dc9b831 AP_InertialSensor: added OMNIBUSF7V2 INS sensors
a dual-IMU board
2018-04-12 11:50:44 +10:00
Peter Barker aca87ab638 AP_InertialSensor: remove pointless initialisations
AP_InertialSensor: avoid pointless zeroing in constructor

AP_InertialSensor is either in bss or is created via new (which zeroes
memory)
2018-04-04 12:14:02 +01:00
Peter Barker 2396a248ed AP_InertialSensor: use ahrs singleton for simple accelcal 2018-04-02 23:25:05 +01:00
Andrew Tridgell 455c0e25e1 AP_InertialSensor: allow for HAL_INS_NONE 2018-03-02 12:52:50 +11:00
Andrew Tridgell b61caa9c57 AP_InertialSensor: added SP01 board type 2018-02-14 18:27:00 +11:00
Peter Barker 096f7367bf AP_InertialSensor: add ins() to AP:: namespace 2018-02-13 17:15:05 +11:00
Andrew Tridgell 0e6497aa85 AP_InertialSensor: merged in Revo driver 2018-02-10 09:14:41 +11:00
Andrew Tridgell ad8db6cda3 AP_InertialSensor: added sensor type ICM20789_SPI 2018-02-08 17:36:33 +11:00
Andrew Tridgell b9e5649888 AP_InertialSensor: support PCNC1 2018-02-08 17:36:33 +11:00
Igor Anokhin e6d4b2a087 AP_InertialSensor: add LSM9DS1 entry
Enable LSM9DS1 in case it is selected
2018-02-06 09:31:26 -08:00
LukeMike 502f19cbae VRBRAIN / AP_InertialSensor: added inertial sensors init for VR Brain boards 2018-02-05 08:26:49 +11:00
Andrew Tridgell 100363ba03 AP_InertialSensor: if no sensors found allow parameter change 2018-01-20 10:36:22 +11:00
Andrew Tridgell c0c5f23aa5 AP_InertialSensor: added INS_ENABLE_MASK
this allows for only a specified subset of IMUs to be probed, so you
can disable IMUs that aren't needed.

The back corresponds to bits in the order the IMUs are normally probed
on the board
2018-01-20 10:36:22 +11:00
Andrew Tridgell 8ab35e8aca AP_InertialSensor: fixed MindPX-v2 orientation of IMU2 2018-01-15 11:46:02 +11:00
Andrew Tridgell dcab40459d AP_InertialSensor: support MindPX-v2 2018-01-15 11:46:02 +11:00
Andrew Tridgell febe414766 AP_InertialSensor: disable fast sampling on 2nd IMU on Pixracer
it also hosts a mag, and gets lots of FIFO resets if we try to run it
at 8kHz
2018-01-15 11:46:02 +11:00
Andrew Tridgell 3fc095589c AP_InertialSensor: support ChibiOS FMUv4 2018-01-15 11:46:02 +11:00
Andrew Tridgell 39362a81ae AP_InertialSensor: support ChibiOS 2018-01-15 11:46:02 +11:00
Andrew Tridgell 39c206ca03 AP_InertialSensor: limit delta-time from INS
limit delta-time to 2x average time

DEBUG CODE - DO NOT MERGE
2017-12-12 11:39:38 +11:00
Randy Mackay 38145f9541 AP_InertialSensor: fix param docs for notch and log settings 2017-12-12 07:59:41 +09:00
Peter Barker 161e2145cb AP_InertialSensor: tighten type of simple_accel_cal result 2017-12-01 17:01:10 +00:00
HeBin efbb030494 AP_InertialSensor: add Robsense PhenixPro Devkit Board support 2017-11-22 10:10:21 -08:00
Peter Barker 9566abb3a8 AP_InertialSensor: add IMU batch sampling 2017-10-27 16:33:45 +11:00
Peter Barker 5096e2fca9 AP_InertialSensor: use df singleton, factor out log_{gyro,accel}_raw 2017-10-27 16:33:45 +11:00
Alexey Bulatov 069c98b8a9 AP_InertialSensor: Edge: add sensor's rotation YAW_90 2017-10-20 13:03:08 -07:00
Georgii Staroselskii 4f2d8f8df4 AP_InertialSensor: use ICM backend for Edge 2017-10-20 13:03:08 -07:00
Andrew Tridgell 6a6f9681ab AP_InertialSensor: allow for 1,1,1 accel scaling
this supports simple accel calibration
2017-10-10 10:57:38 +11:00
Andrew Tridgell d5cab1140a AP_InertialSensor: added simple_accel_cal()
this is useful for mass market vehicles where a full 3D accel cal is
too complex.
2017-10-10 10:57:38 +11:00
Lucas De Marchi caa4e3ee89 AP_InertialSensor: remove raspilot 2017-09-12 15:06:19 -07:00
Andrew Tridgell 7e1368f7a5 AP_InertialSensor: implement notch filter on gyro 2017-08-29 13:52:29 +10:00
Kevin Lopez Alvarez ca3627c140 AP_InertialSensor: add ppro support 2017-07-24 13:47:06 +10:00
Randy Mackay 51fa8fb0bd AP_InertialSensor: resolve member init order compiler warning 2017-07-07 17:27:23 +09:00