Commit Graph

289 Commits

Author SHA1 Message Date
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
Randy Mackay edc9d4db5b AP_InertialSensor: increase accel filter to 20hz 2017-07-03 09:38:15 +09:00
Peter Barker 6ae86a0b8c AP_InertialSensor: use DataFlash should_log to determine raw logging 2017-06-29 15:26:27 +01:00
Leonard Hall 447b20efa5 AP_InertialSensor: reduce accel filter to 10hz 2017-06-01 14:53:48 +09:00
Andrew Tridgell db25b6e966 AP_InertialSensor: estimate and log sensor rates for all IMUs
this adds IMU.GHz and IMU.AHz log fields so we can see the actual
observed sensor rates of each IMU
2017-05-01 15:06:46 +10:00
Andrew Tridgell e62fdad12c AP_InertialSensor: added get_last_update_usec()
this will be used by the inter-EKF scheduling changes
2017-05-01 14:24:55 +10:00
Lucas De Marchi 2e4e4365d0 AP_InertialSensor: enable fast sampling for aerofc 2017-03-24 12:06:19 +11:00
Lucas De Marchi 87846fe049 AP_InertialSensor: use MPU6500 on aerofc 2017-03-24 12:06:19 +11:00
Andrew Tridgell b86513f503 AP_InertialSensor: support AUAV21 board 2017-03-01 17:24:10 +11:00
Andrew Tridgell 01da36295d AP_InertialSensor: support the L3GD20H gyro
this is used by the MRo Pixhawk1
2017-01-31 07:39:36 +11:00
murata 2643e7e906 AP_InertialSensor: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
murata d56bad781f AP_InertialSensor: change if statements to switch statement
No functional change
2016-12-24 12:23:59 +09:00
murata 398b7b83dd AP_InertialSensor: minor formatting fixes
No functional change
2016-12-24 12:23:58 +09:00
Andrew Tridgell 65b9b86099 AP_InertialSensor: unify MPU6000 and MPU9250 drivers
make a single AP_InertialSensor_Invensense driver. This avoids a lot
of duplication and will save time as new varients are added
2016-12-16 12:31:34 +11:00
Andrew Tridgell 0f984290c3 AP_InertialSensor: enable fast sampling by default on some boards 2016-11-25 17:59:54 +11:00
Andrew Tridgell 18d4286166 AP_InertialSensor: fixed pixfalcon 9250 detection 2016-11-18 14:24:39 +11:00
Andrew Tridgell f3f1f6b0b6 AP_InertialSensor: fixed gyro orientation on l3gd20H on pixhawk 2016-11-16 20:33:56 +11:00
Francisco Ferreira bfbb275577 AP_InertialSensor: on accel cal failure don't save values to zero
When the accel calibration fails leave the previous values saved but set them to defaults (scale default is ones, not zeros) and notify the GCS
This fixes an arithmetic exception when doing a second accel cal after the first one failed
2016-11-15 11:42:54 -08:00
Andrew Tridgell 624178f3be AP_InertialSensor: added INS_FAST_SAMPLE parameter
this allows enable/disable of fast sampling per IMU, making
experimentation easier.

It also fixes the fast sampling to always average over 8 samples, and
fixes the 9250 to use the correct accumulator when not doing fast
sampling
2016-11-15 21:16:40 +11:00
Andrew Tridgell 4ebf3309f7 AP_InertialSensor: auto-handle invensense sensor changes
some boards swap out MPU6000 for MPU9250 or ICM20608
2016-11-11 08:08:55 +11:00
Andrew Tridgell 70c27a85de AP_InertialSensor: on PH2 run the first MPU9250 at 8kHz 2016-11-10 13:04:15 +11:00
Andrew Tridgell cb70bae167 AP_InertialSensor: use in-tree drivers for PH2SLIM 2016-11-10 11:44:52 +11:00