Peter Barker
1d9bfdf8dd
AP_Compass: stop using AHRS as conduit for Compass pointer
2021-07-30 12:19:42 +10:00
Peter Barker
658c978c9d
AP_Compass: add and use compass.available()
...
Covers both being enabled and initialised
2021-07-30 12:19:42 +10:00
Iampete1
e5d4620372
AP_Compass: update orientation param values
2021-07-28 18:09:05 +10:00
Iampete1
36a80d46e3
AP_Compass: support auto orientation for new rotations
2021-07-28 18:09:05 +10:00
Andrew Tridgell
b6dbc618dc
AP_Compass: replaced Pixhawk with more appropriate wording in docs
2021-07-22 07:48:12 +10:00
Nicola Grossenbacher
755ca37326
AP_Compass: added probe method for MMC3416 compass
2021-06-22 09:52:49 +10:00
Peter Barker
9791fdeb11
AP_Compass: remove unused setup_earth_field
2021-06-15 09:47:31 +10:00
Peter Barker
a9621ed802
AP_Compass: remove HIL support
2021-06-15 09:47:31 +10:00
Andrew Tridgell
f2b7d44772
AP_Compass: fixed build with AP_Periph compass
2021-06-09 15:09:46 +10:00
Siddharth Purohit
8590bfea63
AP_Compass: use first available compass in priority list
2021-06-02 17:10:19 +10:00
bugobliterator
0172b867b7
AP_Compass: fix "no detected backends" error with single compass
2021-05-26 18:30:45 +10:00
murata
072a321a01
AP_Compass: Use the value of pi
2021-05-23 16:58:55 +10:00
Peter Barker
519a71504f
AP_Compass: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED
2021-05-19 17:38:47 +10:00
Andrew Tridgell
60f60356b8
AP_Common: hide unnecessary params on AP_Periph
...
we only use raw compass
2021-05-09 06:44:19 +10:00
Andrew Tridgell
9cc883a8c0
AP_Compass: fixed the IST8308 on CubeBlack
...
CubeBlack needs to probe both internal and external buses
2021-04-20 10:42:54 +10:00
Jacob Walser
8defcb9169
AP_Compass: add memsic MMC5883 driver
2021-04-07 16:03:57 +10:00
Randy Mackay
64c4b6a42b
AP_Compass: remove unused set_use_for_yaw
2021-03-31 19:16:01 +11:00
Andrew Tridgell
f8e0227c8c
AP_Compass: added force_save_calibration()
2021-02-15 07:24:40 +11:00
Marko
00d0fe876d
AP_Compass: Added support for internal i2c bus to VRBrain-v51
...
Now the internal compass HMC5883 of the VRBrain-v51 is correctly recognized
Co-authored-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
2021-02-03 19:00:48 +11:00
Andrew Tridgell
a068e95a48
AP_Compass: added ExternalAHRS driver
2021-01-05 21:13:12 +11:00
Andrew Tridgell
09603e29ce
AP_Compass: fixed external handling for BMM150
2021-01-02 10:31:15 +11:00
Andrew Tridgell
3d4a8829f3
AP_Compass: added BMM150 as available external mag
2021-01-02 10:31:15 +11:00
Andrew Tridgell
353ec29ab6
AP_Compass: removed have_ekf_logging()
2020-11-10 16:15:45 +11:00
giacomo892
640990a7c7
AP_Compass: Fix TYPEMASK bitmask
2020-10-27 15:40:25 +11:00
Siddharth Purohit
72cf040f81
AP_Compass: add option to selectively disable Compass I2C backend
2020-09-24 12:32:19 +10:00
yaapu
5e88a856e9
AP_Compass: support for MSP compass
2020-09-09 06:35:50 +10:00
Andrew Tridgell
37866ec3cf
AP_Compass: fixed compass logging when first compass unhealthy
...
keep logging compasses if any are healthy
2020-09-08 11:01:14 +10:00
bugobliterator
de6b48f922
AP_Compass: set only if changed to save space in param storage
2020-09-02 17:06:05 +10:00
Siddharth Purohit
5cd6175d94
AP_Compass: fix reordering compass devid by priority at boot
2020-08-25 08:30:04 +10:00
Siddharth Purohit
bf1a7799f8
AP_Compass: move to using CANManager library
2020-08-19 17:31:09 +10:00
Andrew Tridgell
2a662793c2
AP_Compass: support probing RM3100 on all 4 addresses
2020-08-02 12:25:29 +10:00
Siddharth Purohit
f55ee264a7
AP_Compass: reset compass ids not present after compass cal
...
also implement replacement mechanism for UAVCAN compasses
2020-07-27 19:48:15 +10:00
Andy Piper
88cda25d62
AP_Compass: enable LIS3MDL and friends
2020-06-23 19:59:10 +10:00
Peter Barker
0f2bcea647
AP_Compass: remove use of Vector3 as function
2020-06-16 11:06:47 +10:00
bugobliterator
82480f0a3d
AP_Compass: return id of max empty compass state when prio id is 0
2020-06-13 07:52:20 +10:00
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
Siddharth Purohit
14b701cff8
AP_Compass: move UAVCAN mag subscribers and handlers to Compass Backend
2018-08-29 22:54:59 +01:00
Andrew Tridgell
3ed7c060df
AP_Compass: address review comments
2018-08-07 10:00:10 +10:00
Jonathan Challinger
cefd998177
AP_Compass: add expected DEV_ID parameters
2018-08-07 10:00:10 +10:00
Jonathan Challinger
878e84a015
AP_Compass: correct edge case where checks pass when saved dev_id != detected dev_id
2018-08-07 10:00:10 +10:00
Randy Mackay
99b54935db
Compass: remove accumulate
...
this method is a noop on all backends
2018-08-06 11:05:34 +10:00
Andrew Tridgell
2ded88e611
AP_Compass: allow override of QMC5883L orientation
2018-07-30 17:26:19 +10:00
Andrew Tridgell
e39d070b78
AP_Compass: clear DEV_ID for undetected compasses
...
this prevents user confusion with the number of compasses detected
2018-07-30 13:07:55 +10:00
Andrew Tridgell
b181340fd9
AP_Compass: allow override of COMPASS_AUTO_ROT
2018-07-28 18:05:12 +10:00
Andrew Tridgell
027beb0dc1
AP_Compass: rename COMPASS_ROT_AUTO to COMPASS_AUTO_ROT
...
request from Randy
2018-07-18 16:07:19 +10:00
Andrew Tridgell
196ba0e858
AP_Compass: make COMPASS_ROT_AUTO take 3 values
...
0 for disabled, 1 for check only, 2 for check and fix
2018-07-18 16:07:19 +10:00
Andrew Tridgell
8b0f40b402
AP_Compass: implement automatic compass orientation
...
this automatically determines the compass orientation when doing a 3D
compass calibration, if COMPASS_ROT_AUTO is enabled.
2018-07-18 16:07:19 +10:00
Andrew Tridgell
ff6d639ed7
AP_Compass: separated out external compass probing
...
this allows any ChibiOS board to specify that it wants to probe for
all possible external compass types with a define in hwdef.dat
It also implements duplicate compass detection for all i2c drivers,
ensuring we can't get a load of a driver on the same bus/address twice
2018-07-14 17:51:50 +10:00
Andrew Tridgell
f88a4b3a2f
AP_Compass: fixed compass orientations on PH4
2018-07-10 18:29:14 +10:00
Andrew Tridgell
8fd69250bd
AP_Compass: use I2C bus masks
...
this allows for external compasses on all external I2C ports, while
retaining existing device ordering
2018-07-10 15:39:47 +10:00
Peter Barker
4c2925d693
AP_Compass: remove pointless initialisations
...
If you are allocating one of these on the stack you're doing something
wrong.
2018-07-02 10:44:34 +10:00