Commit Graph

1010 Commits

Author SHA1 Message Date
Peter Barker
3ec0e27e4f AP_Compass: move logging of compass ERR flags into AP_Compass 2022-05-10 19:46:40 +10:00
Peter Barker
57f8b7c2a8 AP_Compass: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Michael du Breuil
041b2b594b AP_Compass: Fix compass priority instance message to make sense to users 2022-03-08 10:32:05 +11:00
Iampete1
6c48c346c1 AP_Compass: convert param to new custom rotation 2022-03-02 18:16:42 +11:00
Iampete1
209ad965be AP_Compass: remove custom rotations 2022-03-02 18:16:42 +11:00
Peter Barker
7d3f3b6888 AP_Compass: include cleanups 2022-03-01 11:21:33 +11:00
Joshua Henderson
dc8df8f147 AP_Compass: add define for COMPASS_ENABLE 2022-02-08 10:41:02 +11:00
Peter Barker
ef2fd1f4ba AP_Compass: remove HAL_COMPASS_DEFAULT define
this doesn't actually allow you to specify a default, despite the name
and a couple of hwdefs trying to use it that way.

This would have stopped being useful when we did the
compass-prority-table stuff - or before.
2022-02-01 12:10:38 +11:00
Peter Barker
38abec2133 AP_Compass: rename AP_AHRS::get_position to get_location 2022-01-25 10:47:22 +11:00
Andrew Tridgell
3f2a72f9db AP_Compass: only magcal detected compasses
inflight compass learning with COMPASS_LEARN=3 was not working with
less than 3 compasses, as the force_use parameter was preventing
skipping compasses. This fixes it to calibate all detected compasses
that have USE enabled
2022-01-18 12:01:14 +11:00
Peter Barker
ed608d37f6 AP_Compass: add and use AP_SIM_COMPASS_ENABLED 2022-01-17 15:24:02 +11:00
Willian Galvani
c285f4c748 AP_Compass: Retry reading MMC5983 ID up to 10 times 2022-01-12 11:03:15 -05: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
Jaaaky
d27f122295 AP_Compass: Fix multi #include's 2021-12-21 10:38:46 +11:00
bugobliterator
957da68da5 AP_Compass: fix compilation issue with declaring var after goto 2021-12-15 22:11:10 +11:00
Hwurzburg
8ddb12d9cb AP_Compass: change UAVCAN in metadata to DroneCAN 2021-12-15 09:53:21 +11:00
Peter Barker
31dd17a743 AP_Compass: avoid loaded-value checks in case of HAL_USE_EMPTY_STORAGE 2021-12-14 11:13:28 +11:00
Andrew Tridgell
8eb40bafc5 AP_Compass: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Iampete1
7ad1886667 AP_Compass: reinstate MOTCT underscore 2021-12-02 12:27:09 +11:00
Iampete1
bf21ce8af6 AP_Compass: add new line after old param metadata 2021-12-02 12:27:09 +11:00
Iampete1
e24c90a871 AP_Compass: reinstate old param descriptions 2021-11-30 08:14:43 +09:00
Iampete1
6ba87dfe9a AP_Compass: add param conversion 2021-11-30 08:14:43 +09:00
Iampete1
2fa2e70e7e AP_Compass: SITL: use new scale param 2021-11-30 08:14:43 +09:00
Iampete1
071ff39ff8 AP_Compass: move instance params to shared table 2021-11-30 08:14:43 +09:00
Andrew Tridgell
a4a0607160 AP_Compass: added AP_RM3100_REVERSAL_MASK
this allows for fixing setups where the RM3100 has been installed on a
board with one or more axes reversed
2021-11-24 07:17:13 +11:00
Patrick José Pereira
91ea129be3 AP_Compass: Add support to AK09915
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-11-10 18:11:34 -03:00
Willian Galvani
4c756fd7ef AP_Compass: update MMMC5XX3 driver to support only mmc5983
Registers changed
Product ID changed
Data is now Big endian
Results are now 18 bits instead of 16, but we only consume 16.
Added SPI support

Co-authored-by: Patrick Pereira <patrickelectric@gmail.com>
Co-authored-by: Jacob Walser <jwalser90@gmail.com>
2021-11-10 11:38:25 +11:00
Iampete1
1771481779 AP_Compass: never override custom orentation in calabration 2021-11-10 09:28:54 +11:00
Peter Barker
0627ee66c5 AP_Compass: clarify all_configured calculations 2021-11-01 21:28:17 +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
2b19b8a988 AP_Compass: switched to GSF based compass learning
this makes inflight compass learning faster, more accurate and much
simpler
2021-11-01 09:00:27 +11:00
Andrew Tridgell
b0674a2b35 AP_Compass: support 2nd address for ICM20948 compass 2021-10-18 08:29:29 +11:00
Pierre Kancir
12e1f67326 AP_Compass: only update last_update_ms on raw_field update if on calibration 2021-10-13 19:45:03 +11:00
Andrew Tridgell
613f970870 AP_Compass: added AK09918 support
minor update over AK09916
2021-10-06 18:16:00 +11:00
Hwurzburg
3b543a8ceb AP_Compass: Change orientation labels to match order of rotation 2021-10-05 11:22:32 +11:00
Tom Pittenger
d45526ff42 AP_Compass: fix periph-heavy compile errors with different things enabled 2021-09-24 10:47:13 -05:00
Peter Barker
224ff97f5c AP_Compass: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Peter Barker
875b6331a4 AP_Compass: fix examples for AP_AHRS_DCM becoming backend 2021-08-31 14:28:53 +10:00
Pierre Kancir
4481bc6147 AP_Compass: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-25 16:37:13 +09:00
Peter Barker
62f6a5b033 AP_Compass: fail calibration unless at least 1 compass to cal 2021-08-24 10:18:38 +10:00
Andrew Tridgell
ffe8add56d AP_Compass: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
bugobliterator
33f9c38528 AP_Compass: change class name from SITL::SITL to SITL::SIM 2021-08-05 07:25:31 +10:00
Peter Barker
944b82a7be AP_Compass: make is_calibrating const 2021-07-30 17:37:08 +10:00
Peter Barker
d5ea202c20 AP_Compass: mark COMPASS_ENABLED as @RebootRequired 2021-07-30 12:19:42 +10:00
Peter Barker
c351150a46 AP_Compass: use AP::compass().available in place of enabled() 2021-07-30 12:19:42 +10:00
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
Peter Barker
8bbed968de AP_Compass: remove unused variable 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
78e025af39 AP_Compass: add Calibrator index test 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
aa0a77049e AP_Compass: fixed build warning on g++ 10.2 2021-07-27 19:50:21 +10:00
Andrew Tridgell
b6dbc618dc AP_Compass: replaced Pixhawk with more appropriate wording in docs 2021-07-22 07:48:12 +10:00
Siddharth Purohit
7cbb3d8a3f AP_Compass: allow compass cal option for AP_Periph if defined 2021-07-02 08:50:16 +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
Andrew Tridgell
684e32068b AP_Compass: removed perf counters 2021-06-07 14:29:27 +10:00
Siddharth Purohit
8590bfea63 AP_Compass: use first available compass in priority list 2021-06-02 17:10:19 +10:00
Andrew Tridgell
d5dccaa734 AP_Compass: added heater compensation to internal mag for Pix32v5 2021-06-01 08:07:49 +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
Siddharth Purohit
b31a04e52b AP_Compass: allow single compass configure for autopilot boards 2021-05-19 18:04:20 +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
Kawamura
b305b3b074 AP_Compass: Send message to gcs for compass learn 2021-05-07 08:43:20 +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
0f5dd40052 AP_Compass: removed assert calls
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Pierre Kancir
1082a799c2 AP_Compass: fix example 2021-03-03 18:07:38 +11:00
Andrew Tridgell
f8e0227c8c AP_Compass: added force_save_calibration() 2021-02-15 07:24:40 +11:00
Andrew Tridgell
a90b54ba6e AP_Compass: allow for AK09916 correction by heater duty cycle 2021-02-09 11:32:19 +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
Patrick José Pereira
842360b5e3 AP_Compass: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Andrew Tridgell
d0d480e858 AP_Compass: fixed matrix inverse for new name 2021-01-21 13:09:21 +11:00
Andrew Tridgell
0c156e324b AP_Compass: enable temperature on lsm303d 2021-01-21 13:09:21 +11:00
Andrew Tridgell
eeb728237f AP_Compass: removed error on BMM150
it may be probed at multiple addresses, don't throw lots of errors
2021-01-13 18:10:25 +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
Andrew Tridgell
f7daa4a93a AP_Compass: raise max scale factor and make symmetric 2020-11-10 10:15:39 +11:00
giacomo892
640990a7c7 AP_Compass: Fix TYPEMASK bitmask 2020-10-27 15:40:25 +11:00
bugobliterator
84f3e70b10 AP_Compass: add set_dev_id when initialising HIL 2020-09-30 17:01:37 +10:00
Siddharth Purohit
72cf040f81 AP_Compass: add option to selectively disable Compass I2C backend 2020-09-24 12:32:19 +10:00
Andrew Tridgell
8920362212 AP_Compass: default SITL compass to having scale factor set 2020-09-20 09:25:57 +10:00
Andrew Tridgell
bfa2feb8d8 AP_Compass: fixed build warnings for MSP with AP_Periph 2020-09-15 09:40:03 +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
Andrew Tridgell
c2feebea13 AP_Compass: allow simulation of compass sensor failure 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
Michael du Breuil
f25d20f549 AP_Compass: Only send a single MAG_CAL_* message per poll
this fairly allocates bandwidth between the calibrators
2020-06-16 10:09:14 +10:00