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
Andrew Tridgell
ea49d1cd39
AP_InertialSensor: removed unused variable
10 years ago
Andrew Tridgell
e6a4b9f68c
AP_InertialSensor: check accel health during accel cal
10 years ago
Andrew Tridgell
875339f12a
AP_InertialSensor: try to avoid a compiler fault in travis
10 years ago
Andrew Tridgell
786172aa4e
AP_InertialSensor: removed 1D accel calibration
...
it is finally time to move on from this. We want to push people
towards better calibration and removing the 1D accel cal is the first
step
10 years ago
Andrew Tridgell
a975520033
AP_InertialSensor: check range of accels in 3D calibration
...
during 3D accel cal it is possible to get data which passes the sphere
fit but which has very poor coverage and does not provide sufficient
data for a good result. This checks that each axis covers a range of
at least 12 m/s/s in body frame
10 years ago
Andrew Tridgell
a8a8628515
AP_InertialSensor: added INS_CALSENSFRAME parameter
...
this allows us to detect if accel calibration was done in sensor frame
or not. If it was done in sensor frame then the accel calibration is
independent of AHRS_ORIENTATION, which makes it easier to move a board
to a new airframe without having to recalibrate.
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
b5131b7b64
AP_InertialSensor: add coning.py example
10 years ago
Jonathan Challinger
2a547f329b
AP_InertialSensor: allow backends to publish delta velocities and angles
10 years ago
Jonathan Challinger
155c173ed1
AP_InertialSensor: rename _rotate_and_offset to _publish
10 years ago
Jonathan Challinger
502446d821
AP_InertialSensor: use LowPassFilter2pVector3f
10 years ago
Randy Mackay
5f26a36060
INS: protect against two calibrations running at the same time
10 years ago
Randy Mackay
f9c6e35d19
INS: add calibrating method
10 years ago
Randy Mackay
b0e7990c90
INS: set gyro_cal_ok only after completing calibration
10 years ago
Andrew Tridgell
aec7907571
AP_InertialSensor: updated comment on accel check in gyro cal
10 years ago
Andrew Tridgell
494e909703
AP_InertialSensor: ensure accel cal completion messages get through
10 years ago
Andrew Tridgell
38bde56523
AP_InertialSensor: continue finding best gyro after convergence
...
with multiple gyros if we are still calibrating one of the gyros then
keep looking for better values for the already converged gyros.
10 years ago
Andrew Tridgell
20a4c98bac
AP_InertialSensor: use accelerometers to prevent bad gyro cal
...
if the board is rotating at a steady rate we can end up with a bad
gyro calibration. This can happen on a steadily moving platform such
as a ship.
This uses the accelerometers to detect the steady movement and not
accept the gyro calibration
10 years ago
Andrew Tridgell
434d094993
AP_InertialSensor: allow MAVLink packets to flow during accelcal
...
this uses the snoop functionality of GCS_MAVLink to allow the delay
callback to be used during accel calibration
10 years ago
Randy Mackay
b650d39786
InertialSensor: remove product_id set to zero
10 years ago
Andrew Tridgell
9b2d44d6ed
AP_InertialSensor: use delay_microseconds_boost()
...
this gives much more consistent timing for PX4
10 years ago
Andrew Tridgell
f54d799bff
AP_InertialSensor: added TIMING_DEBUG code for finding loop timing issues
10 years ago
Andrew Tridgell
04bef5ccf3
AP_InertialSensor: don't skip delay if we are a bit early
...
this produces a bit more even timing
10 years ago
Andrew Tridgell
4537acb898
AP_InertialSensor: change for new PX4 device paths
10 years ago
mirkix
460b434708
AP_InertialSensor: add apm1 oilpan support
10 years ago
Grant Morphett
b511410b48
AP_InertialSensor: Changes to fix the warnings in rover sitl build.
...
We are starting the process of resolving all the warnings in the
ardupilot builds of all vehicles and platforms.
10 years ago
Emile Castelnuovo
dae32984f1
AP_InertialSensor: use PX4 library for VRBRAIN boards.
10 years ago
Emile Castelnuovo
731329fc55
AP_InertialSensor: correction to AP_InertialSensor_VRBRAIN
10 years ago
LukeMike
6a93148b92
AP_InertialSensor: added library for VRBRAIN Inertial Sensor
10 years ago
Andrew Tridgell
6e62e1ca7b
AP_InertialSensor: make calibrated() const
10 years ago
Randy Mackay
b43dc3bdfb
INS: fix example sketch
10 years ago
Andrew Tridgell
8b59c72eb9
AP_InertialSensor: cope with 2 IMUs in SITL
10 years ago
Andrew Tridgell
b3ce56d34d
AP_InertialSensor: fixed 2nd IMU in Replay
...
this makes for much more accurate replay runs
10 years ago
mirkix
fa950a735e
AP_InertialSensor: add support for BBBMINI, simple ArduPilot DIY Cape for the BeagleBone Black
10 years ago
Andrew Tridgell
1b3c3c754d
AP_InertialSensor: use correct ifdef for AK8963
10 years ago
Staroselskii Georgii
f7f9cd2173
AP_InertialSensor: prevented MPU9250 from disabling I2C slaves
10 years ago
Andrew Tridgell
745b739ab7
AP_InertialSensor: make calibrated() function fast enough to call in flight
...
this will be used in plane to make AHRS SYS_STATUS unhealthy if a user
tries to fly with EKF enabled without a full 3D accel cal.
Note that it doesn't rely on using AP_Param load() to detect that a
value has been set, as some users are first doing a 3D cal then later
doing a 1D cal. In that case load() was returning true and would give
a false positive
10 years ago
Andrew Tridgell
06a72839ed
AP_InertialSensor: fixed error detection on secondary IMUs
...
the break; was preventing error detection on lsm303d/l3gd20
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
7bb56e50aa
AP_InertialSensor: fixed example build
10 years ago
Andrew Tridgell
f84f432ecf
AP_InertialSensor: allow gyro calibration to take up to 30 seconds
...
this gives time for the user time to get their battery hatches on and
hold the model steady. 5 seconds was just far too short
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
986b7bf894
AP_InertialSensor: fixed frequency to 16 bit in LDM303D and L3GD20 drivers
10 years ago
Andrew Tridgell
3518cf5480
AP_InertialSensor: fixed default MPU9250 orientation for NavIO
10 years ago
Andrew Tridgell
ad7c612334
AP_InertialSensor: fixed SITL with new HIL code
10 years ago
Andrew Tridgell
aeaa3c1e04
AP_InertialSensor: fixed build for VRBrain
10 years ago
Andrew Tridgell
40e83ceb1f
AP_InertialSensor: simplify next sample time calculations
...
this makes the calculation much clearer
10 years ago