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
Lucas De Marchi
49d08ba72a
Global: remove minlure
...
Minlure is a port of ArduPilot to Minnow Board connected to daughter
board. Very few of those were produced and nobody is flying with it.
It served its purpose and all the the improvements to ArduPilot remain
regardless of it not being supported anymore. Now it's just adding
maintenance work with no clear benefit, so pull the plug.
2018-06-26 07:32:08 -07:00
Peter Barker
9eb53e333b
AP_Compass: tidy consistency calculations
...
AP_Compass: normalize vectors in-place to save a few bytes (thanks MdB)
2018-06-26 18:37:55 +10:00
Andrew Tridgell
2d9df83ed5
AP_Compass: probe for ist8310 on bus 2 as well as 0 for fmuv5
2018-06-06 15:01:38 +10:00
Andrew Tridgell
99540a184c
AP_Compass: enable FMUv5 compass
2018-06-06 07:15:41 +10:00
Andrew Tridgell
ccdfc75dd9
AP_Compass: placeholder for FMUv5
2018-06-06 07:15:41 +10:00
Peter Barker
a3a1967e05
AP_Compass: add AP::compass() singleton getter
2018-05-17 15:37:14 +10:00
Francisco Ferreira
0a3af28d17
AP_Compass: remove Qualcomm board support
2018-05-17 09:57:20 +10:00
mirkix
85fe07f1f0
AP_Compass: enable probe HMC5843 for PocketPilot
2018-05-12 07:16:50 +10:00
night-ghost
a05c79f1d8
Compass: fix HAL_F4light compilation errors
2018-04-30 08:32:58 +10:00
Jacob Walser
44d0f7b2a1
AP_Compass: update ORIENT @Values
2018-04-24 13:04:37 +01:00
Jacob Walser
6699c59ad3
AP_Compass: add support for custom board orientations
2018-04-24 13:04:37 +01:00
kozinalexey
444c0bb54c
AP_Compass: added ChibiOS external compass config
2018-04-14 11:09:34 +10:00
night-ghost
677f2bebc3
AP_Compass: added autodetect of all known compasses on external bus
2018-04-11 15:00:36 +10:00
night-ghost
f26bb0cfbe
AP_Compass: added range filter to backend, added its use in some sensors (thanks khancyr for style correction)
2018-04-11 14:46:42 +10:00
Michael du Breuil
c66d15efd7
AP_Compass: Read current for compensation from the battery singleton
2018-03-27 22:12:21 +01:00
Nathan E
dcf127b73d
Compass: clarify compass orientation description
...
Resolves an error directing users to reference the flight controller (instead of the frame) for COMPASS_ORIENT.
Changed wing to side for all vehicles
2018-03-21 09:01:45 +09:00
LinJieqiang
c73e7f0cf3
add IST8310 compass sensors in AP_Compass.cpp
2018-03-09 11:25:35 -08:00
Andrew Tridgell
8b3db7c09f
AP_Compass: allow for HAL_COMPASS_NONE
2018-03-02 12:52:50 +11:00
Andrew Tridgell
f61591c426
AP_Compass: added SP01 board type
2018-02-14 18:27:00 +11:00
Andrew Tridgell
52815cd952
AP_Compass: fixed compass orientation for mini-pix
2018-02-14 18:27:00 +11:00