Andrew Tridgell
4a80313fdd
AP_Compass: added get_num_enabled()
...
used by EKF3
2020-05-09 12:33:33 +10:00
Andy Piper
b7b2d9a6ce
AP_Compass: add support for custom compass rotation via COMPASS_CUS_{ROLL,PIT,YAW}
...
add reboot required for parameters that need it
disable custom rotation on AP_Periph devices
2020-05-05 09:25:18 +10:00
Andrew Tridgell
66655212b1
AP_Compass: fixed compass ordering bug with AP_Periph
...
when a user swaps compasses on AP_Periph we want to immediately
replace it. The compass ordering code was rejecting the new compass
and calling panic as it was out of slots. This changes the AP_Compass
ordering so that when we only have a single compass we operate in a
very simple manner where we always accept the first compass found
2020-04-29 18:51:16 +10:00
Andrew Tridgell
6d42e9502b
AP_Compass: fixed unreg compass check for AP_Periph
...
this fixes detection of compasses on peripherals where
COMPASS_MAX_UNREG_DEV is 0
2020-03-26 18:10:13 +11:00
Peter Barker
0665c379de
AP_Compass: correct use of incorrect backend-count macro
2020-03-17 11:25:16 +11:00
Siddharth Purohit
f00a39af52
AP_Compass: run style script on Compass.cpp
2020-02-19 13:59:53 +09:00
Siddharth Purohit
8d227d401a
AP_Compass: modify compass driver to support consistent ordering and hotplugging
2020-02-19 13:59:53 +09:00
Siddharth Purohit
defc1b5fcb
ArduCopter: add arming message for compass not detected but assigned
2020-02-19 13:59:53 +09:00
Peter Barker
cc3f6468e3
AP_Compass: mark some parameters as Calibration parameters
2020-02-04 20:29:09 +11:00
Andrew Tridgell
ebceab9aa0
AP_Compass: don't probe for ICM20948 on AP_Periph
2020-01-07 12:37:35 +11:00
Pierre Kancir
d6563bff7d
AP_Compass: probe for RM3100
2019-12-21 09:07:20 +11:00
Andrew Tridgell
421fbef2a0
AP_Compass: added COMPASS_OPTIONS
...
this allows user to set that calibration requires GPS lock
2019-12-03 20:48:23 +11:00
Andrew Tridgell
6fd0ca36aa
AP_Compass: added estimation of compass scale factor
...
this adds new COMPASS_SCALE, COMPASS_SCALE2 and COMPASS_SCALE3
parameters, which give the sensor scaling factor. It is used to
compensate for an incorrect scaling in a compass.
The 3D compass calibration process will set the correct value
automatically, otherwise users can set the value to a known value for
an existing compass
2019-12-03 20:48:23 +11:00
Andrew Tridgell
513e483821
AP_Compass: disable HIL for AP_Periph
...
this saves several k of flash
2019-10-24 22:03:43 +11:00
Randy Mackay
01c36fa6aa
AP_Compass: LEARN param default to 0 for all vehicles
2019-10-23 17:15:57 +11:00
Andrew Tridgell
7ad91fa1c9
AP_Compass: don't show too many params when max compasses 1
2019-10-16 08:58:52 +11:00
Peter Barker
8e412d0885
AP_Compass: adjust for new vehicle base class
2019-10-08 11:26:04 +11:00
Andrew Tridgell
df387dc396
AP_Compass: allow rotation of BMM150 compass
2019-09-07 09:53:21 +10:00
Andrew Tridgell
1cb775e2c2
AP_Compass: probe more addresses for IST8310
...
IST8310 can be on 4 possible i2c addresses
2019-09-07 07:35:54 +10:00
Andrew Tridgell
bd0760f9d4
AP_Compass: removed unusued compass probes
...
now only use probe lists
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3bc8522b54
AP_Compass: added ROTATION_NONE to probes
...
we no longer use defaults in the headers
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2a48241ebb
AP_Compass: fixed naming of QMC5883L driver
...
needed for probe using COMPASS macro in hwdef.dat
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f4576ec8f3
AP_Compass: reduce firmware size for AP_Periph
2019-08-27 10:29:56 +10:00
Andrew Tridgell
0ec3f80bbe
AP_Compass: enable LIS3MDL on I2C and RM3100 on SPI
2019-08-27 10:29:56 +10:00
Peter Barker
1adda1ccf0
AP_Compass: move automatic declination setting into AP_Compass itself
2019-08-13 10:02:13 +10:00
Andrew Tridgell
38c775e6df
AP_Compass: removed old mRoControlZeroF7 config
2019-05-30 15:39:57 +10:00
Andrew Tridgell
481ae22671
AP_Compass: support new sensor config setup
2019-05-30 15:39:57 +10:00
Andrew Tridgell
532b82b3a3
AP_Compass: use DRIVER_HMC5843 to match driver name
2019-05-30 15:39:57 +10:00
Phillip Kocmoud
1f827004be
AP_Compass: Enable AK09916 inside the ICM20948
2019-05-10 15:05:42 +10:00
Peter Barker
bf23f1df67
AP_Compass: move responsibility for logging into library
2019-04-23 10:06:17 +10:00
Siddharth Purohit
6dc94b0e3d
Compass: fix compass orientation for AK09916 on Cube
2019-04-17 06:47:14 +10:00
Peter Barker
54e3959a99
AP_Compass: move enabled parameter into compass library
2019-04-02 10:24:49 +11:00
Peter Barker
f8be4efed4
AP_Compass: init never fails; return void rather than bool
2019-03-13 13:06:50 +11: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
Andrew Tridgell
7f3103073a
AP_Compass: setup for fmuv6
2019-02-26 16:18:26 +11:00
thomass
8155c8b178
AP_Compass: added backend implementation for RM3100 compass
2019-02-10 08:00:49 +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
Randy Mackay
68363ff4a2
AP_Compass: devid param desc include ReadOnly
2018-12-27 10:08:11 +09: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
Andrew Tridgell
5ac6309848
AP_Compass: enable in-flight compass learning system
...
using COMPASS_LEARN=3
2018-10-24 07:25:42 +10: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
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