Thomas Watson
b8d50b112a
AP_Compass: fix C++ One Definition Rule violations
...
Two structs with the same name must have exactly the same definition, no
matter where they occur in the program, otherwise the program is undefined.
Move each sample register struct definition into the associated class
definition so they are in a different namespace and no longer
identically named, thus fixing this issue.
2023-11-21 13:21:03 +11:00
Hayden
b237fd9fa4
AP_Compass: fix AK09916 hangup issue
2023-10-20 07:56:56 +11:00
Peter Barker
ee6b44113d
AP_Compass: add and use AP_COMPASS_ICM20948_ENABLED
2023-02-22 19:40:13 +11:00
Peter Barker
ad9521c1c4
AP_Compass: add and use AP_COMPASS_AK09916_ENABLED
2023-02-22 19:40:13 +11:00
Andrew Tridgell
45bfc75e4b
AP_Compass: added register checking for AK09916 mode
...
this allows AK09916 on I2C to recover from a power outage in flight
2021-12-28 16:04:36 +11:00
Buzz
8d9f161b40
AP_Compass: add support for ICM20948 I2C variant and rename existing one as SPI variant
...
Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
Andrew Tridgell
b0674a2b35
AP_Compass: support 2nd address for ICM20948 compass
2021-10-18 08:29:29 +11:00
Andrew Tridgell
613f970870
AP_Compass: added AK09918 support
...
minor update over AK09916
2021-10-06 18:16:00 +11:00
Andrew Tridgell
f877def909
AP_Compass: removed default rotations for compass probe
...
this prevents bugs where the force_external and rotation are mixed up
in hwdef.dat causing incorrect rotations
2019-09-04 16:27:47 +10:00
Siddharth Purohit
6ff8f52957
AP_Compass: add support for AK09916 connected over fourth IMU over I2C
2019-03-06 20:47:10 +11:00
Siddharth Purohit
cff8bf14b7
AP_Compass: add support for AK09916 via invensensev2 aux bus
2019-03-06 20:47:10 +11:00
Lucas De Marchi
565df5ec94
AP_Compass: AK09916: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
4039b51810
AP_Compass: stop passing frontend pointer
...
Let AP_Compass_Backend call AP::compass() *once* instead of passing
the frontend pointer over and over.
2018-09-06 08:23:02 +10:00
Andrew Tridgell
d946d5da6f
AP_Compass: enable AK09916 inside a ICM20948
...
the ICM20948 has an AK09916 which can be accessed via I2C bypass
2017-06-07 17:39:45 +10:00
Lucas De Marchi
5472bc4de1
Global: change Device::PeriodicCb signature
...
Remove bool return as it's never being used and not supported on PX4.
2017-01-14 10:03:54 +11:00
Pierre Kancir
c49c851a57
Ap_Compass: AK09916 fix order
2016-12-06 09:31:21 -08:00
Andrew Tridgell
62805f59fa
AP_Compass: added AK09916 driver
...
yet another magnetometer!
2016-11-25 17:50:24 +11:00