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
Andrew Tridgell
9dfbdb1e69
AP_InertialSensor: run the MPU6000 at 1kHz on fast CPUs
...
use a software filter and 1kHz sampling for better filtering if we
have a fast enough CPU to do it
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
17b2214798
AP_InertialSensor: make it easier to add multiple backends
...
use _add_backend() to add new backends on startup
10 years ago
Andrew Tridgell
bc5d79118d
AP_InertialSensor: updated comments
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
520727e5bd
AP_InertialSensor: fixed example build
10 years ago
Andrew Tridgell
dbcd02f2be
AP_InertialSensor: converted MPU9150 driver
...
untested conversion
10 years ago
Andrew Tridgell
ff5f791343
AP_InertialSensor: converted flymaple driver to new API
10 years ago
Andrew Tridgell
a42af0f2f1
AP_InertialSensor: use common AP_InertialSensor driver for PX4 and VRBRAIN
10 years ago
Andrew Tridgell
3ce7667e5a
AP_InertialSensor: tidy up MPU6000 driver
10 years ago
Andrew Tridgell
2d47a07480
AP_InertialSensor: ported L3G4200D driver to new API
10 years ago
Andrew Tridgell
deafcd6ddc
AP_InertialSensor: improved timing in all drivers
10 years ago
Andrew Tridgell
ff6d87f145
AP_InertialSensor: minor tidy up for HIL driver
10 years ago
Andrew Tridgell
85686c22ec
AP_InertialSensor: converted the APM1/Oilpan driver to new API
10 years ago
Andrew Tridgell
dcef9bb3b8
AP_InertialSensor: converted the MPU9250 driver to new API
10 years ago
Andrew Tridgell
d48beb0c0f
AP_InertialSensor: converted PX4 driver to new API
10 years ago
Andrew Tridgell
ec11417705
AP_InertialSensor: converted HIL backend, which gets SITL working
10 years ago
Andrew Tridgell
448efc70a3
AP_InertialSensor: first steps in frontend/backend split
...
This converts the MPU6000 driver to a frontend/backend structure, and
disables all other drivers. They will be progressively re-enabled as
each is converted
10 years ago
Randy Mackay
834f2bea07
INS: add gyro_calibrated_ok_all method
...
This returns true if the gyros have been calibrated successfully
10 years ago
Randy Mackay
0803d79701
INS: param descriptions for ACC2, GYR2
11 years ago
Randy Mackay
74553e523d
INS: add get_accel_health_all and get_gyro_health_all
...
Returns true only if all available accels or gyros are healthy
11 years ago
Randy Mackay
50ae5b2519
InertialSensor: reorder .cpp file to match .h
...
No functional changes
11 years ago
Andrew Tridgell
dcdb53584b
AP_InertialSensor: use lockless structures in MPU9250 driver
...
this avoids suspending timers when transferring data between main
thread and SPI read thread
11 years ago
Andrew Tridgell
5c9e5fbc11
AP_InertialSensor: removed use of hrt_absolute_time()
11 years ago
Andrew Tridgell
a14f8dbd0a
AP_InertialSensor_MPU9250: use micros64() and millis64()
11 years ago
Andrew Tridgell
3c2ab31415
AP_InertialSensor: get rid of data_ready for MPU9250
...
when running off a 1kHz timer and reading at 1kHz it is better to
double sample than it is to skip a sample, as skipping samples will
throw the filter off, whereas a double sample will have minimal effect
11 years ago
Andrew Tridgell
9e01c657e5
AP_InertialSensor: update MPU9250 driver for 1kHz operation
...
use a time base sample wait, with 1kHz sampling
11 years ago
Andrew Tridgell
532e9aace4
AP_InertialSensor: fixed timer bug in HIL sensors
11 years ago
Andrew Tridgell
12239de00d
AP_InertialSensor: fix data_ready return for L3GD20
11 years ago
Andrew Tridgell
7286e7acd2
AP_InertialSensor: fixed build errors on APM2
11 years ago
Andrew Tridgell
50068a7c6a
AP_InertialSensor: fixed default orientation for PXF board MPU9250
11 years ago
Víctor Mayoral Vilches
5e5319e23b
AP_InertialSensor: MPU9250 cleaning
11 years ago
Víctor Mayoral Vilches
df1de4efd6
AP_InertialSensor: Driver added for the LSM303D
11 years ago
Víctor Mayoral Vilches
8968647873
AP_InertialSensor: INS_generic example, add support L3GD20
11 years ago
Víctor Mayoral Vilches
0f908a8ccd
HAL_Linux: Add L3GD20 to the AP_InertialSensor header
11 years ago
Víctor Mayoral Vilches
556d46a4ef
AP_InertialSensor: L3GD20 driver added
...
L3GD20 gyro userspace sensor added. The driver constructs
over the implementation of the PX4 Dev Team at
https://github.com/diydrones/PX4Firmware .
11 years ago