Tom Pittenger
2cd485e7ae
AP_Compass: unify singleton naming to _singleton and get_singleton()
2019-02-10 19:09:58 -07:00
thomass
513964cdad
AP_Compass: RM3100 simplify unisgned to signed integer conversion
2019-02-10 08:00:49 +11:00
thomass
97f3627bd5
AP_Compass: RM3100 added default cycle count value check on initialization as a whoami substitute
2019-02-10 08:00:49 +11:00
thomass
488133c396
AP_Compass: RM3100 make compliant with common methods for accumulating and draining samples
2019-02-10 08:00:49 +11:00
thomass
ede80773b9
AP_Compass: RM3100 stop passing frontend for compliance with backend class
2019-02-10 08:00:49 +11:00
thomass
8155c8b178
AP_Compass: added backend implementation for RM3100 compass
2019-02-10 08:00:49 +11:00
Andrew Tridgell
4003ea841c
AP_Compass: change to 3 compasses in SITL
2019-02-09 13:04:52 +11:00
Andrew Tridgell
700519d805
AP_Compass: raise default max compass offsets
...
the larger offset doesn't present any problems for the compass
drivers, and helps on planes with magnetic hatches
2019-02-03 04:57:25 -08:00
Andrew Tridgell
a21f4dc0c9
AP_Compass: update COMPASS_LEARN docs
2019-01-27 14:31:28 +11:00
Andrew Tridgell
1b95f17940
AP_Compass: removed F4Light
2019-01-21 21:57:21 +11:00
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
2019-01-18 18:08:20 +11:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Randy Mackay
68363ff4a2
AP_Compass: devid param desc include ReadOnly
2018-12-27 10:08:11 +09:00
Andrew Tridgell
3d9126ec4a
AP_Compass: run lsm303d at 91Hz, not 100Hz
...
Peter and I have discovered an odd behaviour with the lsm303d mag. If
you fetch data a bit too soon then it will give a peridic oscillation
in the output.
Checking the data ready bit in the status register doesn't help. The
only fix I've found is to run the sampling at a bit lower rate
2018-11-30 11:39:54 +11:00
Peter Barker
e7a981d2c3
AP_Compass: add override keyword where required
2018-11-08 11:30:12 +11:00
Phillip Kocmoud
27a2b8a350
AP_Compass: Increase default MAX compass offset
...
After discussing the @tridge and @rmackay9 it was suggested that raising the maximum allowable compass offset value would allow users of the LIS3MDL and possibly others with larger compass offsets to fly with the default setting.
This has been deemed a fairly safe change that still allows for sufficient overhead to prevent saturation.
2018-10-30 09:25:51 +09:00
Lucas De Marchi
9d95579b2d
AP_Compass: update TYPEMASK documentation
...
Add missing drivers IST8308 and MAG3110.
2018-10-25 20:19:30 -07:00
Lucas De Marchi
34fb98b1e0
AP_Compass: probe for IST8308 on external buses
2018-10-25 20:19:30 -07:00
Lucas De Marchi
c3d87f91fc
AP_Compass: add support to IST8308
2018-10-25 20:19:30 -07:00
Andrew Tridgell
70246cf954
AP_Compass: added notify events (LEDs and buzzer) for learning
2018-10-24 07:25:42 +10:00
Andrew Tridgell
23ddd994ec
AP_Compass: allow multiple COMPASS_LEARN runs per boot
2018-10-24 07:25:42 +10:00
Andrew Tridgell
026089747d
AP_Compass: use LEARN_NONE on learn completion
...
master doesn't yet have the statistical EKF learning
2018-10-24 07:25:42 +10:00
Andrew Tridgell
0a7170774a
AP_Compass: allow learning of all compasses
...
slave secondary compasses to primary
2018-10-24 07:25:42 +10:00
Andrew Tridgell
5ac6309848
AP_Compass: enable in-flight compass learning system
...
using COMPASS_LEARN=3
2018-10-24 07:25:42 +10:00
Andrew Tridgell
84d7160128
AP_Compass: use new accumulate functions for UAVCAN
2018-10-19 16:03:45 +11:00
Andrew Tridgell
579a84b53e
AP_Compass: use new accumulate functions for AK8963
2018-10-19 16:03:45 +11:00
Andrew Tridgell
55e4b64755
AP_Compass: don't apply offsets twice in SITL
2018-10-19 16:03:45 +11:00
Andrew Tridgell
925555c995
AP_Compass: move accum fields to frontend
...
this is needed to ensure they are per-instance. Without this the SITL
backend produces zero for all but the first instance. The same would
be true for any multi-instance backend
2018-10-17 12:54:22 +11:00
Andrew Tridgell
83065d5e88
AP_Compass: convert SITL to new accumulate approach
2018-10-17 12:54:22 +11:00
Andrew Tridgell
a260792e9e
AP_Compass: use WITH_SEMAPHORE()
...
and removed usage of hal.util->new_semaphore()
2018-10-17 12:54:22 +11:00
vierfuffzig
b455c7a769
AP_Compass: add rotation option for AK8963_MPU9250
...
allows using non-neutrally rotated AK8963 compass on MPU9250 as internal
reference: https://github.com/ArduPilot/ardupilot/pull/9459
2018-10-17 09:35:49 +11:00
Andrew Tridgell
0b9d0a4559
AP_Compass: removed incorrect semaphore take() in QMC5883L driver
2018-10-16 10:47:26 -07:00
Lucas De Marchi
1a9c386df2
AP_Compass: MMC3416: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
e83b345cbb
AP_Compass: MAG3110: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
ac2771b311
AP_Compass: LSM9DS1: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
2324a28e39
AP_Compass: LSM303D: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
38d1f8705f
AP_Compass: LIS3MDL: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
b05b3b9932
AP_Compass: IST8310: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
8d54276263
AP_Compass: BMM150: use common method to accumulate samples
2018-10-15 14:41:09 -07: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
e769c6932f
AP_Compass: QMC5883L: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
c0bccdaed6
AP_Compass: HMC5843: use common method to accumulate samples
2018-10-15 14:41:09 -07:00
Lucas De Marchi
329516373c
AP_Compass: add common method to accumulate and drain samples
...
Instead of repeating on each driver the same sequence of steps,
let's move them to the common parent class. This only implements
it, but no driver was ported yet.
2018-10-15 14:41:09 -07:00
Andrew Tridgell
2f2be6afda
AP_Compass: use rotation_equal() from AP_Compass
2018-10-01 14:26:56 +09:00
Andrew Tridgell
803f255c73
AP_Compass: fixed handling of duplication rotations
...
we have some rotations that are duplicated, such as ROLL_180_YAW_90
and PITCH_180_YAW_270. This copes with those in the auto-orientation
code
2018-10-01 14:26:56 +09:00
Lucas De Marchi
93d99dacd1
AP_Compass: UAVCAN: remove additional semaphore
...
We already inherit from AP_Compass_Backend, so use the semaphore from
there to synchronize with the main thread, like the other backends.
2018-09-06 08:23:02 +10:00
Lucas De Marchi
cd9b08dbae
AP_Compass: rename variable for more buses
...
"all_external" reflects better the fact that we can have more than 2
buses (and now we are using the foreach macro).
2018-09-06 08:23:02 +10:00
Lucas De Marchi
de535dc573
AP_Compass: remove unused external and name arguments
...
Aka "fix copy and pasta".
2018-09-06 08:23:02 +10: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
Lucas De Marchi
585b6dce0d
AP_Compass: support more external compasses on aerofc
...
Let it probe on external bus. Aerofc has an HMC5883 on internal bus, but
we don't want it enabled as it interferes with the internal baro. Also
the rotation for the compass that comes with Aero RTF is different from
the other that got added later. That means people would need to orient a
third party IST8310-based compass differently on Aero RTF than on other
boards... that's a problem of having orientation based on the chip that
can't be solved on this commit.
2018-09-06 08:23:02 +10:00