Mikhail Avkhimenia
34da221c3d
AP_InertialSensor: Use MPU9250 DRDY pin only on boards that support it
2014-08-12 22:13:00 +10:00
Andrew Tridgell
f8ceccce32
AP_InertialSensor: improved HIL timing consistancy
...
try to keep the average time for each sample right
2014-08-09 22:50:15 +10:00
Andrew Tridgell
1d4d848300
AP_InertialSensor: fixed a build warning
2014-08-08 13:48:03 +10:00
Andrew Tridgell
ed6ab5f1d3
AP_InertialSensor: use bool for blocking_read()
...
uint8_t return was confusing
2014-08-07 13:09:17 +10:00
Michael Carpenter
b4c0e1215b
AP_InertialSensor: Use return value of blocking_read to handle calibration timeouts
2014-08-07 13:04:18 +10:00
Andrew Tridgell
cc735a4200
AP_InertialSensor: some more debug info for VibTest
2014-07-31 12:48:30 +10:00
Andrew Tridgell
f7b01a6f3f
AP_InertialSensor: avoid integer underflow in mavlink txspace check
2014-07-27 22:18:52 +10:00
Andrew Tridgell
662276597a
AP_InertialSensor: fixed example build
2014-07-25 17:52:14 +10:00
Andrew Tridgell
79f453dfd3
AP_InertialSensor: use LSM9DSO_AM device
2014-07-19 13:23:54 +10:00
Randy Mackay
6baedbda1d
AP_InertialSensor: add empty virtual destructor
2014-07-16 14:56:56 +09:00
Randy Mackay
a09f7b9198
AP_InertialSensor_MPU6k: init members to reduce compiler warnings
2014-07-16 14:40:55 +09:00
Randy Mackay
c5a03ea18e
AP_InertialSensor: init members to reduce compiler warnings
2014-07-16 14:40:53 +09:00
LukeMike
85fc72c57c
AP_InertialSensor: VRBRAIN added 3th inertial sensor
2014-07-15 20:42:15 +10:00
Andrew Tridgell
0f724c1d7a
AP_InertialSensor: removed per-device example code
...
now can use a single generic test for all boards
2014-07-14 09:44:36 +10:00
Andrew Tridgell
5a170c6343
AP_InertialSensor: added INS_generic test
2014-07-14 09:44:36 +10:00
Andrew Tridgell
d1ba78002d
AP_InertialSensor: added paranoid check for DRDY pin
2014-07-14 09:44:36 +10:00
Andrew Tridgell
6f9965cc22
AP_InertialSensor: fixed setup of DRDY pin on MPU9250
2014-07-14 09:44:36 +10:00
Andrew Tridgell
6a6dbe5790
AP_InertialSensor: added check for WHOAMI on MPU9250
2014-07-14 09:44:35 +10:00
Andrew Tridgell
abb53eb9a2
AP_InertialSensor: simplify using HAL board subtypes
2014-07-14 09:44:35 +10:00
Andrew Tridgell
848b563fc3
AP_InertialSensor: rotate acccel/gyro for PXF
2014-07-14 09:44:34 +10:00
Andrew Tridgell
ea188528fc
AP_InertialSensor: fixed build errors for LSM9DSO
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
2982fc029c
AP_InertialSensor_LSM9DS0: Fix _dump_registers method
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
feedc40f72
AP_InertialSensor_LSM9DS0: Move LSM9DS0_DEBUG flag to the header
2014-07-14 09:44:34 +10:00
Andrew Tridgell
297bb52ced
AP_InertialSensor: added MPU9250 header
2014-07-14 09:44:34 +10:00
Víctor Mayoral Vilches
f213f01983
AP_InertialSensor_LSM9DS0: Remove previous CS handling.
...
CS is now being automatically handled by the SPI Driver.
2014-07-14 09:44:33 +10:00
Andrew Tridgell
3ed4f82cb0
AP_InertialSensor: fixed DRDY include for Linux
2014-07-14 09:44:33 +10:00
Andrew Tridgell
06b6d7aaf0
AP_InertialSensor: fixeup DRDY pin for different boards
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
3379ddd51f
AP_InertialSensor_MPU6000: Add _register_write_check method.
...
This private method allows to check whether the value written and
the posterior value readed are the same.
Should be used only for debuging purposes, for release versions use
_register_write instead.
2014-07-14 09:44:33 +10:00
Víctor Mayoral Vilches
0fff8df491
AP_InertialSensor: fix LSM9DS0 test code
2014-07-14 09:32:30 +10:00
Víctor Mayoral Vilches
bb5de8a6a1
AP_InertialSensor_LSM9DS0: Fix the CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
ad3a3f9366
AP_InertialSensor_MPU6000: Fix the CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
aa60a89cda
AP_InertialSensor_MPU9250: Fix SPI CS.
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
bae84e2942
AP_InertialSensor: Add missing library to test example.
2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches
4df3b55ed4
AP_InertialSensor_MPU9250: Add missing library for example/
...
In order to compile the examples test a library needed to
added.
2014-07-14 09:29:36 +10:00
Víctor Mayoral Vilches
eb95130441
AP_InertialSensor_MPU9250: remove legacy CS.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
5e7e28a83e
AP_InertialSensor_MPU9250.cpp: Update the DRDY pin.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
d053a91cd5
AP_InertialSensor_MPU6000: Remove MPU6000_CS_PIN
...
Remove MPU6000_CS_PIN, a legacy way of handling
Chip Select.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
d9cb29ea8b
AP_InertialSensor_MPU6000: Correct DRDY pin.
2014-07-14 09:29:18 +10:00
Víctor Mayoral Vilches
df14318bbd
AP_InertialSensor_L3G4200D: Clock-based wait_for_sample() impl.
2014-07-14 09:29:08 +10:00
Víctor Mayoral Vilches
7cf1187473
AP_InertialSensor_MPU9150: Clock-based wait_for_sample() impl.
...
Adapt the I2C driver to a system clock based wait_for_sample()
implementation.
The sample rate of the sensor has been corrected to 800 Hz (could be
further pushed up to 1KHz).
Filters for the mag have also been created but remain commented until
the code for the mag is ready.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
c4babc543d
AP_InertialSensor_LSM9DS0: SPI userspace sensor driver.
...
ST Microelectronics 9 DOF IMU userspace sensor driver. Some
work with the filters needs to be done.
2014-07-14 09:10:23 +10:00
Víctor Mayoral Vilches
1c07985518
AP_InertialSensor_MPU9150: Comment the suspend_timer_procs
...
It causes the driver to hang. This matter should be inspected.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
d65aefbef5
AP_InertialSensor_MPU6000: Fix the test code so that compiles.
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
fac3d1c271
AP_InertialSensor_MPU9250: SPI userspace sensor driver.
...
InvenSense MPU9250 sensor driver and test code (available under
libraries/examples/).
2014-07-14 09:02:47 +10:00
Víctor Mayoral Vilches
4d79887cc5
L3G4200D: fix in the test example provided.
...
The test coded had a call to "wait_for_sample" that expected one
argument and 0 where provided.
2014-07-14 08:52:51 +10:00
Andrew Tridgell
ab7e96b9de
AP_InertialSensor: updates for ERLE board type
2014-07-14 08:51:44 +10:00
Victor Mayoral Vilches
44320708a7
AP_InertialSensor_MPU9150: I2C userspace driver sensor added.
...
The MPU9150 is a 9 axis sensor that includes 3 accelerometers,
3 gyroscopes and 3 magnetometers. All accessible through I2C.
The AP_InertialSensor_MPU9150 class allows APM to use this sensor.
2014-07-14 08:16:29 +10:00
Randy Mackay
7e04b5d1f1
INS: calibrated method checks all accelerometers
2014-07-13 22:05:21 +09:00
Andrew Tridgell
d325f630e5
VibTest: added sample timing to console output
2014-07-09 12:12:23 +10:00
Andrew Tridgell
863e7a5f93
VibTest: fixed array bounds error
2014-07-09 08:11:52 +10:00
Andrew Tridgell
2c8240dbb4
VibTest: fixed gyro timestamps in logs
...
it was using the accel timestamps
2014-07-09 08:10:09 +10:00
Andrew Tridgell
d50d5b8f24
VibTest: fixed sample count output on console
2014-07-08 10:59:30 +10:00
Andrew Tridgell
03770c4d34
VibTest: added gyro data and support 3 sensors
...
will be used for vibration testing on FMUv3
2014-07-08 10:07:58 +10:00
Andrew Tridgell
ca12592448
AP_InertialSensor: allow for 3 accels and 3 gyros on Pixhawk
...
this supports FMUv3
2014-06-30 07:58:27 +10:00
Andrew Tridgell
ece01da10e
AP_InertialSensor: fixed _dump_registers() for MPU6000
...
need to take the semaphore to prevent bus errors
2014-06-29 12:11:21 +10:00
LukeMike
8f552d5758
VRBRAIN: Changed the management of VirtualRobotix's boards.
2014-06-19 11:27:38 +02:00
Andrew Tridgell
4c43cd9775
AP_InertialSensor: fixes for HAL_GPIO_*
2014-06-02 10:42:35 +10:00
Andrew Tridgell
65fd25fb5a
AP_InertialSensor: fixed example build
2014-05-18 08:08:19 +10:00
Andrew Tridgell
8533aecf18
AP_InertialSensor: fixed example build
2014-05-16 21:24:25 +10:00
Andrew Tridgell
086142580a
AP_InertialSensor: added VibTest sketch
...
logs all accel data at high rate to SD card
2014-05-15 21:14:21 +10:00
Emile Castelnuovo
06744ea7d2
AP_InertialSensor: new files and definitions for VRBRAIN board
2014-04-08 16:19:19 +10:00
Andrew Tridgell
2763393908
AP_InertialSensor: fixed some compiler warnings
2014-03-24 12:52:16 +11:00
Andrew Tridgell
731f980327
AP_InertialSensor: fixed example build
2014-03-19 12:13:47 +09:00
Jonathan Challinger
e81d2e9584
AP_InertialSensor: Correct out-of-bounds array access that was causing SITL to crash
2014-02-28 17:25:54 +11:00
Andrew Tridgell
2c85a7ba56
AP_InertialSensor: expose get_primary_accel() for use in AHRS
2014-02-27 16:27:46 +11:00
Andrew Tridgell
840f1b9a1e
AP_InertialSensor: make HIL timing more accurate
...
needed for 400Hz replay
2014-02-27 08:10:42 +11:00
Andrew Tridgell
6732d6c79b
AP_InertialSensor: enable get_accel_count() and get_gyro_count() APIs for HIL
2014-02-23 19:10:07 +11:00
Andrew Tridgell
0e18079c47
AP_InertialSensor: allow HIL sensors to support multiple instances
...
this allows log replay to test both sets of sensors on a Pixhawk log
2014-02-23 08:16:33 +11:00
Randy Mackay
33fe778cdd
InertialSensor_PX4: resolve compiler warning
2014-02-21 13:53:34 +09:00
Andrew Tridgell
fe0cb23733
AP_InertialSensor: fixed HIL for 400Hz INS
2014-02-19 10:29:00 +11:00
Mike McCauley
2c94a40310
AP_InertialSensor: AP_InertialSensor_Flymaple Remove unnecessary
...
comment
2014-02-17 05:56:37 +11:00
Mike McCauley
dd6abb49a9
AP_InertialSensor: AP_InertialSensor_Flymaple::healthy() was required after
...
all.
2014-02-17 05:56:37 +11:00
Mike McCauley
0a43cf8c5c
AP_InertialSensor: AP_InertialSensor_Flymaple removed redundant definition of
...
healthy().
2014-02-17 05:56:37 +11:00
Mike McCauley
f7279aa13f
AP_InertialSensor: AP_InertialSensor_Flymaple implement get_gyro_health
...
and get_accel_health.
2014-02-17 05:56:37 +11:00
Andrew Tridgell
f9d0747750
AP_InertialSensor: fixed example build
2014-02-15 06:39:35 +11:00
Andrew Tridgell
3617c65af7
AP_InertialSensor: make HIL treat time like PX4 does
2014-02-15 05:48:20 +11:00
Andrew Tridgell
b1c5f23bbd
AP_InertialSensor: make get_delta_time() const
...
allows use from AP_NavEKF
2014-02-15 05:29:47 +11:00
Randy Mackay
b7565affcd
INS: add support for 400hz for PX4
2014-02-15 05:27:33 +11:00
Andrew Tridgell
a95a3142e0
AP_InertialSensor: use fixed size arrays
...
apparently helps SITL build on MacOS
2014-02-08 19:32:26 +11:00
Andrew Tridgell
045efdb084
AP_InertialSensor: fixed example builds
2014-01-30 13:33:38 +11:00
Andrew Tridgell
58d3729d16
AP_InertialSensor: fixed default health functions
...
this fixes INS on APM1. Thanks to Mike McCauley for noticing this!
2014-01-22 22:08:28 +11:00
Don Gagne
68b3b31499
Param doc typo
2014-01-18 10:18:58 +09:00
Randy Mackay
965e5b2dfd
INS: check for good calibration for 10seconds
...
Shortened gyro calibration commit also halved the total time we would
look for a good gyro calibration. This restores the total time to 10
seconds.
2014-01-17 12:48:11 +09:00
Randy Mackay
1f76ada9dd
INS: shortened gyro calibration
...
Removed delays before calibration, reduced number of samples taken,
widened convergence criteria
2014-01-16 13:40:49 +09:00
Randy Mackay
a400ddeb88
INS: replace APM with vehicle in accel calibrate
2013-12-28 10:41:49 +09:00
Andrew Tridgell
8dd34f8bc4
AP_InertialSensor: fixed example build
2013-12-17 11:51:37 +11:00
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
2013-12-14 15:47:49 +11:00
Andrew Tridgell
99e2dc87c9
AP_InertialSensor: prevent INS healthy errors while initialising
...
during gyro cal we shouldn't mark the gyro unhealthy
2013-12-13 20:47:24 +11:00
Andrew Tridgell
23a112c5d5
AP_InertialSensor: reduce the number of format string warnings
2013-12-11 17:29:27 +11:00
Andrew Tridgell
433ad19335
AP_InertialSensor: fixed loop limits
...
stops pointless operations
2013-12-11 14:57:13 +11:00
Andrew Tridgell
e54fc6b8e3
AP_InertialSensor: make sure we wait for a sample before update()
2013-12-11 13:50:50 +11:00
Andrew Tridgell
cba0cb963a
AP_InertialSensor: auto-failover to working gyro and accel
2013-12-09 20:02:04 +11:00
Andrew Tridgell
a0688a69d4
AP_InertialSensor: generalise the accel/gyro calibration for N sensors
2013-12-09 17:34:06 +11:00
Andrew Tridgell
d9b6f7f0f7
AP_InertialSensor: implement up to two sensors on PX4
2013-12-09 17:34:05 +11:00
Andrew Tridgell
2753449e75
AP_InertialSensor: added support for multiple accel/gyro devices
...
this makes it possible to ask for the gyro and accel vectors from
secondary INS devices.
2013-12-09 17:34:05 +11:00
Randy Mackay
fd9b115d01
INS: move Product ID to @User Advanced
2013-11-26 22:18:28 +09:00
Andrew Tridgell
71bb462ad0
AP_InertialSensor: use fabsf()
2013-11-15 10:43:10 +11:00
Andrew Tridgell
aef9289476
AP_InertialSensor: added INS_PRODUCT_ID values
2013-11-15 10:43:10 +11:00
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
2013-11-10 17:03:16 +11:00
Andrew Tridgell
80def01fbe
AP_InertialSensor: fixed semaphore error on startup for MPU6000
2013-11-09 11:26:50 +11:00