Jonathan Challinger
4c2e6af6ee
AP_InertialSensor: statically register with AP_AccelCal
2016-01-23 10:35:34 +09:00
Randy Mackay
081beacb8d
AP_InertialSensor: replace sqrt with safe_sqrt to resolve compiler warning
...
Also add suppressing comment for missing break at end of switch
2016-01-23 10:10:17 +09:00
Gustavo Jose de Sousa
c2e3f05dbf
waf: ardupilotwaf: prefix build context methods with ap_
...
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Andrew Tridgell
24d8610013
AP_InertialSensor: use SIM_GYR_SCALE in SITL
2016-01-19 15:29:08 +11:00
Andrew Tridgell
ee453783eb
AP_InertialSensor: added get_delta_angle_dt() API
2016-01-19 09:50:21 +11:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Víctor Mayoral Vilches
e493bfcae4
AP_InertialSensor: add PXFmini support
2016-01-05 15:35:56 -02:00
Andrew Tridgell
b2745bb545
AP_InertialSensor: we only need peak hold for negative X for now
2016-01-02 09:58:32 +11:00
Tom Pittenger
3aaf2b1d2b
AP_InertialSensor: add pos/neg peak detector
...
new functions that get a filtered min/max accel peaks on each axis with fixed 500ms timeout:
Vector3f get_accel_peak_hold_pos()
Vector3f get_accel_peak_hold_neg()
This allows slower mechanisms, such as is_flying, to detect accel spikes which would indicate ground or object impacts. Vibe is too filtered. Independent positive and negative peaks are available
2016-01-02 09:58:31 +11:00
Jonathan Challinger
bae16a61e2
AP_InertialSensor: fix segfault
2015-12-29 23:10:56 -08:00
Jonathan Challinger
0a3c2774e9
AP_InertialSensor: fixes in response to review
2015-12-29 22:55:04 -08:00
Jonathan Challinger
137ace473d
AP_InertialSensor: add accel_cal_requires_reboot
2015-12-29 10:46:35 -08:00
Jonathan Challinger
f6a41a8936
AP_InertialSensor: ensure that accel calibration object isn't allocated more than once
2015-12-29 10:46:35 -08:00
Jonathan Challinger
492223cb84
AP_InertialSensor: support AP_AccelCal
2015-12-29 10:46:34 -08:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell
3fb0b8f69d
AP_InertialSensor: fixed example build
2015-12-27 14:57:30 +09:00
Andrew Tridgell
17fc58f3cd
AP_InertialSensor: re-work for more flexible main loop rates
2015-12-27 14:57:12 +09:00
Andrew Tridgell
93ef881109
AP_InertialSensor: added get_loop_delta_t() API
2015-12-27 14:57:10 +09:00
Andrew Tridgell
6639c23685
AP_InertialSensor: added QURT driver
2015-12-27 16:21:26 +11:00
Andrew Tridgell
28230556bb
AP_InertialSensor: added qflight driver
2015-12-27 16:12:27 +11:00
Don Gagne
47586dae07
AP_InertialSensor: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Aaron Wang Shi
3a31970056
AP_InertialSensor: add support to BH hat
...
- MPU6050 I2C for BH v0.1
- MPU9250 SPI for BH v0.2
2015-12-21 15:54:30 +11:00
Julien BERAUD
a27d7f8a93
AP_InertialSensor_MPU6000: Fix FIFO reset
...
Change the sequence. Previous sequence was sometimes causing failure
to initialize the IMU.
2015-12-16 08:16:10 +11:00
Lucas De Marchi
e1d90c78d8
AP_InertialSensor: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:43 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Lucas De Marchi
d19c5035b6
Global: Rename printf format attribute
...
As commented in 8218140
("AP_Common: add scanf format macro"), "FORMAT"
was a bad name for this macro since there's also the scanf. Rename to
FMT_PRINTF to follow the scanf name.
2015-12-01 07:22:12 +11:00
Andrew Tridgell
774e257a88
AP_InertialSensor: support FMUv4
2015-11-27 18:54:30 +11:00
Andrew Tridgell
9cdd5f3944
AP_InertialSensor: catch NAN errors in accel and gyro filters
2015-11-22 17:30:29 +11:00
Caio Marcelo de Oliveira Filho
d7601095fa
AP_InertialSensor: use millis/micros/panic functions
2015-11-20 12:31:41 +09:00
Andrew Tridgell
f36b2e415a
AP_InertialSensor: fixed flymaple build
2015-11-17 08:52:49 +11:00
Andrew Tridgell
32ed0d58f3
AP_InertialSensor: fixed filter setup on 2nd accel/gyro
2015-11-16 17:57:36 +11:00
Andrew Tridgell
4a768d47f3
AP_InertialSensor: created a SITL specific backend
2015-11-16 17:57:35 +11:00
Andrew Tridgell
ccd915eb67
AP_InertialSensor: moved raw gyro and accel logging to common code
...
this brings raw logging to non-PX4 ports
2015-11-16 17:57:35 +11:00
Andrew Tridgell
75ea8f3dc0
AP_InertialSensor: removed "have sample" logic from drivers
...
the frontend has all the information it needs, so we can simplify the
drivers some more
2015-11-16 17:57:35 +11:00
Andrew Tridgell
0e4bab74ba
AP_InertialSensor: simplify sensor backends
...
use common code for filtering and update, allowing each sensor driver
to be simpler and more consistent
2015-11-16 17:57:35 +11:00
José Roberto de Souza
d1ff4286c2
AP_InertialSensor: Make detect_backends() public
...
This method will be used to initialize and configure I2C backends that
have an auxiliary I2C bus that can be connected to the main I2C bus,
like MPU6000 and MPU9250.
2015-11-11 14:29:07 +11:00
José Roberto de Souza
0cbe99a862
AP_InertialSensor: MPU9250 I2C: Connect the auxiliary I2C bus to the main bus
...
Using MPU9250 over I2C we can connect the auxiliary bus where there is
a AK8963 and connect this bus to the main one, this way we don't need
any AuxiliaryBus infrastructure as we need with SPI and we can talk
with AK8963 as we would talk with a standalone AK8963.
2015-11-11 14:29:07 +11:00
José Roberto de Souza
b3322ed1ae
AP_InertialSensor: Add MPU9250 over I2C to detect_backends()
2015-11-11 14:29:07 +11:00
José Roberto de Souza
607ab5b005
AP_InertialSensor: MPU9250: Add I2C support
2015-11-11 14:29:07 +11:00
José Roberto de Souza
c3dae6fcec
AP_InertialSensor: MPU9250: Remove methods not used anymore
...
Those methods were used by AK8963 before it started to use auxiliary bus.
2015-11-11 14:29:06 +11:00
José Roberto de Souza
588df53429
AP_InertialSensor: Add support to get auxiliary bus of multiple instances of the same sensor
2015-11-11 14:29:06 +11:00
José Roberto de Souza
3e1b974fd2
AP_InertialSensor: MPU9250: Export auxiliary bus
2015-11-11 14:29:06 +11:00
José Roberto de Souza
206f0fb773
AP_InertialSensor: MPU9250: Add BusDriver abstraction
...
This adds a similar abstraction to the one in MPU60XX so it's possible to use
MPU9250 in other bus. The I2C implementation will come later.
2015-11-11 14:29:06 +11:00
Víctor Mayoral Vilches
30faf7e92a
AP_InertialSensor: Add Erle-Brain 2 support
2015-11-04 13:58:24 +11:00
Lucas De Marchi
3142f21363
AP_InertialSensor: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1
2015-11-04 12:14:12 +11:00
Gustavo Jose de Sousa
8e351a058d
AP_InertialSensor: MPU6000: enable data-ready pin for minlure
...
Data-ready pin wasn't being used before due to a bug in the Kernel with
concurrent accesses to GPIO in Intel Baytrail platforms. That has been fixed in
Kernel version 4.2.
2015-11-04 12:12:47 +11:00
Lucas De Marchi
3d1d6286e9
AP_InertialSensor: fix example build after PSTR removal
2015-11-04 12:11:59 +11:00
Lucas De Marchi
62ba8266ef
AP_InertialSensor: fix wrong printf format for printf
...
"%S" is used for wide string, but we are passing a char*. Use lowercase
in this case to remove warnings like this:
libraries/AP_InertialSensor/AP_InertialSensor.cpp: In member function
'bool AP_InertialSensor::calibrate_accel(AP_InertialSensor_UserInteract*, float&, float&)':
libraries/AP_InertialSensor/AP_InertialSensor.cpp:620:61: warning:
format '%S' expects argument of type 'wchar_t*', but argument 3 has type 'const char*' [-Wformat=]
"Place vehicle %S and press any key.\n", msg);
^
2015-10-30 14:35:40 +09:00