Andrew Tridgell
4eab27abe9
AP_InertialSensor: fixed logic bug in MPU6000 init
...
thanks to coverity
2015-06-20 14:53:04 +10:00
mirkix
588a16dec2
AP_InertialSensor: Add Linux support for VibTest example
2015-06-18 08:48:23 +10:00
Andrew Tridgell
4fe092fead
AP_InertialSensor: panic on bad gyro or accel sample rates
2015-06-17 15:01:23 +10:00
Andrew Tridgell
d3b85eb792
AP_InertialSensor: use driver supplied sample rate
...
this will work with a wider range of sensors
2015-06-17 14:44:19 +10:00
Andrew Tridgell
e91bfdfc1c
AP_InertialSensor: fixed VibTest example build
2015-06-17 14:15:58 +10:00
Andrew Tridgell
bc0ae630a1
AP_InertialSensor: always provide delta_velocity and delta_angles
...
this makes the NavEKF code simpler
2015-06-17 13:10:26 +10:00
Andrew Tridgell
f831c16238
AP_InertialSensor: use fixed sensor sample times
...
this uses fixed sample times for PX4 IMUs, rather than reported
timestamps. It avoids timing jitter caused by the over-sampling in
the PX4 drivers
2015-06-17 13:03:56 +10:00
Randy Mackay
9d81856580
InertialSensor: fix name of get_delta_velocity method
2015-06-17 12:46:54 +10:00
Andrew Tridgell
727be87d84
AP_InertialSensor: support HIL functions for delta_velocity and delta_angles
2015-06-16 09:53:55 +10:00
Randy Mackay
8ceccd778d
InertialSensor: disable vibration checks on APM2
...
Also bug fix get_accel_clip_count's instance check
2015-06-12 21:36:56 +09:00
Randy Mackay
0db7acc628
InertialSensor: calc vibration and accel clipping
2015-06-12 21:36:22 +09:00
Andrew Tridgell
214b61bfc0
AP_InertialSensor: fixed example build
2015-06-01 17:35:15 +10:00
Andrew Tridgell
7f7113c1de
AP_InertialSensor: convert example from .pde to .cpp
2015-06-01 17:07:04 +10:00
Andrew Tridgell
6a2c585632
AP_InertialSensor: fixed build warnings
2015-05-30 22:51:19 +10:00
Peter Barker
8be9e99fad
AP_InertialSensor_PX4: 64-bit timestamps for ACCx and GYRx messages
2015-05-27 11:54:17 +10:00
Peter Barker
f489f6b696
AP_InertialSensor: use 64-bit timestamps in dataflash logs
2015-05-27 11:54:17 +10:00
Lucas De Marchi
3aa46e3213
AP_InertialSensor: use functor macros
...
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:53 +10:00
Andrew Tridgell
aaa35bd1ec
AP_InertialSensor: using atan2f() gives more accurate euler corrections
...
thanks to Jon and Paul!
2015-05-16 08:19:18 +10:00
Andrew Tridgell
9e723ef907
AP_InertialSensor: added calibrate_trim() function
...
used for redoing trim calculation
2015-05-16 07:56:34 +10:00
Andrew Tridgell
b564ba0868
AP_InertialSensor: fixed AHRS_TRIM calculation again
2015-05-16 07:56:33 +10:00
Jonathan Challinger
159599879f
AP_InertialSensor: simplify and correct AHRS_TRIM computation
2015-05-15 21:03:03 +10:00
Randy Mackay
3f8b832075
InertialSensor: fix example sketch
2015-05-13 10:13:51 +09:00
Randy Mackay
1f14eec4ea
InertialSensor: accel_calibrated_all_ok replaces calibrated
...
This checks that the current number of accelerometers matches the number
of calibrated accels in order to catch accel failures at boot
2015-05-12 16:32:16 +09:00
Andrew Tridgell
8bf2baef70
AP_InertialSensor: fixed primary accel/gyro in replay
2015-05-11 11:19:11 +10:00
Andrew Tridgell
afc9812d0b
AP_InertialSensor: update VibTest after moving messages info DataFlash
2015-05-07 13:25:37 +10:00
Andrew Tridgell
7d90033a36
AP_InertialSensor: support raw accel and gyro dataflash logging
2015-05-07 12:08:30 +10:00
Andrew Tridgell
f5140e25b0
AP_InertialSensor: updated VibTest for latest PX4 interfaces
2015-05-07 10:51:52 +10:00
Andrew Tridgell
089e63f987
AP_InertialSensor: fixed PSTR handling
...
must use PSTR on code compiled for AVR
2015-05-05 13:54:00 +10:00
Andrew Tridgell
31693e332e
AP_InertialSensor: use non-PSTR printf
...
this is not built on AVR
2015-05-05 13:48:34 +10:00
Andrew Tridgell
e6a8a6da07
AP_InertialSensor: revert AP_Math class change
2015-05-05 13:27:06 +10:00
Tom Pittenger
0e076d6dc8
AP_InertialSensor: compile warnings: format not a string literal, argument types not checked
...
PSTR() goofs things up when using hal.console->printf_P()
2015-05-05 13:27:02 +10:00
Tom Pittenger
9e98c68099
AP_InertialSensor: compile warnings: format not a string literal, argument types not checked
...
PSTR() goofs things up when using hal.console->printf_P()
2015-05-05 13:27:01 +10:00
Tom Pittenger
820199635b
AP_InertialSensors: compiler warnings: apply is_zero(float) or is_equal(float)
2015-05-05 13:26:51 +10:00
Tom Pittenger
3cb2221315
AP_IntertialSensor: double to float warning
2015-05-05 13:26:50 +10:00
Andrew Tridgell
ef527d9daa
AP_InertialSensor: fix for HAL_SITL rename
2015-05-05 09:45:55 +10:00
Randy Mackay
6773c0b232
AP_InertialSensor: default primary accel and gyro
2015-05-01 16:37:33 +09:00
Jonathan Challinger
bb88a4f8fe
AP_InertialSensor: healthy() checks bounds
2015-05-01 16:37:15 +09:00
Jonathan Challinger
af80f20a51
AP_InertialSensor: add get_primary_gyro, fix get_primary_accel
2015-05-01 16:37:14 +09:00
Andrew Tridgell
007b01533d
AP_InertialSensor: switched to 16g accel range for MPU9250
...
this matches the Pixhawk, and makes us less prone to vibration. We
have seen clipping at 8g
2015-04-28 15:30:29 +10:00
Tom Pittenger
a4b8575432
InertialSensor: fix compile warnings re float constants
2015-04-24 14:03:49 +09:00
mirkix
13ee34c58a
AP_InertialSensor: MPU9150 fix compiler warnings
2015-04-14 11:14:48 +10:00
Lucas De Marchi
b292873304
AP_InertialSensor: fix starvation in L3G4200D
...
The main thread would always be blocked on the semaphore to read the
data from accelerometer and gyroscope. Especially if we have a slow
update of these values in _accumulate() due to the I2C transfer function
taking too much time: the timer thread would never give up the CPU,
causing starvation on the main thread.
This fixes the issue by reducing the critical region using a flip-buffer
so _accumulate() can work on its own copy of the data. Now that the
critical region is smaller, also avoid the semaphore and use a spinlock
instead.
2015-04-14 10:01:47 +10:00
Andrew Tridgell
45e016ea5b
AP_InertialSensor: check for zero delta_velocity dt
2015-04-03 15:10:47 -07:00
Jonathan Challinger
b306d7a356
AP_InertialSensor: accel cal sample for 400ms instead of 1s
2015-04-03 14:54:19 -07:00
Jonathan Challinger
1e1d8efa22
AP_InertialSensor: use expected update rate for accel cal sampling
2015-04-03 14:54:17 -07:00
Jonathan Challinger
bd84328440
AP_InertialSensor: hack to "reset" the accel filter before taking a cal sample
2015-04-03 14:54:15 -07:00
Jonathan Challinger
b2b42e081a
AP_InertialSensor: use delta_velocity/dt for calibration if available
2015-04-03 14:54:10 -07:00
Jonathan Challinger
423160eaf8
AP_InertialSensor: publish delta_velocity_dt
2015-04-03 14:54:06 -07:00
Andrew Tridgell
4147825b87
AP_InertialSensor: fixed gyro calibration bug
...
we must not update _gyro_offset[] until we have completed calibration
of that gyro, or we will end up using the new offsets when asking for
the raw gyro vector
2015-04-03 06:57:30 -07:00
Andrew Tridgell
23272e4013
AP_InertialSensor: added get_temperature() interface
...
this will allow logging of individual temperature sensors
2015-03-17 13:32:54 +11:00