Peter Barker
8be9e99fad
AP_InertialSensor_PX4: 64-bit timestamps for ACCx and GYRx messages
10 years ago
Andrew Tridgell
7d90033a36
AP_InertialSensor: support raw accel and gyro dataflash logging
10 years ago
Tom Pittenger
a4b8575432
InertialSensor: fix compile warnings re float constants
10 years ago
Jonathan Challinger
423160eaf8
AP_InertialSensor: publish delta_velocity_dt
10 years ago
Andrew Tridgell
23272e4013
AP_InertialSensor: added get_temperature() interface
...
this will allow logging of individual temperature sensors
10 years ago
Andrew Tridgell
3d7d46b9b0
AP_InertialSensor: replaced INS_MPU6K_FILTER with INS_ACCEL_FILTER and INS_GYRO_FILTER
...
this allows filtering to be set separately on accels and gyros where possible
10 years ago
Andrew Tridgell
5d0eb49114
AP_InertialSensor: calculate queue depth based on requested sample rate
...
this auto-scales the queue depth for plane, rover and copter
10 years ago
Jonathan Challinger
bc655ff0cc
AP_InertialSensor_PX4: add optional debug
10 years ago
Jonathan Challinger
074ee49cd0
AP_InertialSensor_PX4: interleave accel and gyro samples by time
10 years ago
Jonathan Challinger
addf80b669
AP_InertialSensor_PX4: explicitly configure sensors, publish deltas
10 years ago
Jonathan Challinger
155c173ed1
AP_InertialSensor: rename _rotate_and_offset to _publish
10 years ago
Andrew Tridgell
4537acb898
AP_InertialSensor: change for new PX4 device paths
10 years ago
Emile Castelnuovo
dae32984f1
AP_InertialSensor: use PX4 library for VRBRAIN boards.
10 years ago
LukeMike
6a93148b92
AP_InertialSensor: added library for VRBRAIN Inertial Sensor
10 years ago
Andrew Tridgell
b9adc6e466
AP_InertialSensor: prefer sensors that have zero error counts
...
if a sensor has failed in flight then try not to use it if another
error-free sensor is available
10 years ago
Andrew Tridgell
7c288e020b
AP_InertialSensor: fixed detection of dead IMU
...
if a PX4 sensor does not give new data we need to avoid calling
_rotate_and_offset_*() to avoid marking it as healthy. Otherwise if
the MPU6k dies we won't switch to the LSM303D automatically
10 years ago
Andrew Tridgell
a047d1f569
AP_InertialSensor: moved default filter and sample_rate to frontend
...
this simplifies the backends and prevents code repitition
10 years ago
Andrew Tridgell
3a9a5a9c18
AP_InertialSensor: implement gyro and accel health monitoring
...
sensor is healthy if it gave a sample on the last update()
10 years ago
Andrew Tridgell
586fa9a816
AP_InertialSensor: added product_id support
...
fill in parameter from first backend
10 years ago
Andrew Tridgell
a42af0f2f1
AP_InertialSensor: use common AP_InertialSensor driver for PX4 and VRBRAIN
10 years ago
Andrew Tridgell
d48beb0c0f
AP_InertialSensor: converted PX4 driver to new API
10 years ago
Andrew Tridgell
5c9e5fbc11
AP_InertialSensor: removed use of hrt_absolute_time()
11 years ago
Andrew Tridgell
ca12592448
AP_InertialSensor: allow for 3 accels and 3 gyros on Pixhawk
...
this supports FMUv3
11 years ago
Andrew Tridgell
2c85a7ba56
AP_InertialSensor: expose get_primary_accel() for use in AHRS
11 years ago
Andrew Tridgell
b1c5f23bbd
AP_InertialSensor: make get_delta_time() const
...
allows use from AP_NavEKF
11 years ago
Randy Mackay
b7565affcd
INS: add support for 400hz for PX4
11 years ago
Andrew Tridgell
6d39cf5e49
AP_InertialSensor: another attempt at fixing the spurious bad gyro health warnings
...
cope with _get_sample() not being called for a while
11 years ago
Andrew Tridgell
99e2dc87c9
AP_InertialSensor: prevent INS healthy errors while initialising
...
during gyro cal we shouldn't mark the gyro unhealthy
11 years ago
Andrew Tridgell
433ad19335
AP_InertialSensor: fixed loop limits
...
stops pointless operations
11 years ago
Andrew Tridgell
e54fc6b8e3
AP_InertialSensor: make sure we wait for a sample before update()
11 years ago
Andrew Tridgell
cba0cb963a
AP_InertialSensor: auto-failover to working gyro and accel
11 years ago
Andrew Tridgell
a0688a69d4
AP_InertialSensor: generalise the accel/gyro calibration for N sensors
11 years ago
Andrew Tridgell
d9b6f7f0f7
AP_InertialSensor: implement up to two sensors on PX4
11 years ago
Andrew Tridgell
71bb462ad0
AP_InertialSensor: use fabsf()
11 years ago
Andrew Tridgell
f10a4b04ae
AP_InertialSensor: make PX4 healthy call _get_sample()
...
this prevents a false positive during times like arming where we are
not reading the sensors
11 years ago
Andrew Tridgell
f5299e2e11
AP_InertialSensor: added healthy check for PX4 and HIL
...
used to detect bad accels
11 years ago
Andrew Tridgell
7831113f84
AP_InertialSensor: yield the CPU for the right time in wait_for_sample()
...
this improves timing performance
11 years ago
Andrew Tridgell
8532e2bff8
AP_InertialSensor: fixed timing of PX4 sensor samples
11 years ago
Andrew Tridgell
e5e4cdee18
AP_InertialSensor: added wait_for_sample() API call
...
this waits for a new INS sample to arrive, using whatever method is
most efficient on each INS type
12 years ago
Andrew Tridgell
14636e1cdf
AP_InertialSensor: changed num_samples_available() to sample_available()
...
this makes the interface clearer. It also fixes a 3D accel cal bug.
12 years ago
Andrew Tridgell
396c4f30d2
AP_InertialSensor_PX4: don't set QUEUEDEPTH
...
the default of 2 samples is fine
12 years ago
Andrew Tridgell
8b80beadc4
PX4: make FMUv2 identify itself differently
...
so we can tell which is which in logs
12 years ago
Andrew Tridgell
e5ad9dbd15
AP_InertialSensor: switch PX4 driver to fixed time per sample model
...
this makes the driver much simpler, and does away with the need for an
accumulate function
12 years ago
Andrew Tridgell
38fe89d661
AP_InertialSensor: switch to non-averaging system for PX4 IMUs
...
always use the latest value, based on a lowpass filter in the driver
12 years ago
Andrew Tridgell
46c5d18585
AP_InertialSensor: disable averaging on FMUv2
...
the new filter from Leonard means we shouldn't average values, and
instead just use the last value
12 years ago
Julian Oes
c3b27629ec
AP_InertialSensor: run PX4 FMUv2 at 800Hz
...
this gives much better noise suppression
12 years ago
Randy Mackay
318a831b57
INS: set default filter to 20hz for APM2.x and PX4
12 years ago
Andrew Tridgell
1121254606
AP_InertialSensor: added filter frequency support to PX4 driver
12 years ago
Andrew Tridgell
5643c371b9
AP_InertialSensor: removed unused new_data_available() and temperature() APIs
12 years ago
Andrew Tridgell
f60d657f72
AP_InertialSensor: added timer for accumulating samples for PX4
...
this makes the driver much more tolerant of sketch timing errors
12 years ago