Commit Graph

106 Commits

Author SHA1 Message Date
Peter Barker d6c5a0ab2b AP_Compass: correct compilation when COMPASS_MAX_INSTANCE>1 and no diagonals 2022-10-06 08:21:03 +11:00
jackhong12 4a4f361a17 all: use CLASS_NO_COPY() macro 2022-10-04 11:23:04 +11:00
Andrew Tridgell 0b9769e658 AP_Compass: removed diagonals and offdiagonals on AP_Periph 2022-09-30 21:25:36 +10:00
Peter Barker 57f8b7c2a8 AP_Compass: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Iampete1 209ad965be AP_Compass: remove custom rotations 2022-03-02 18:16:42 +11:00
Peter Barker ed608d37f6 AP_Compass: add and use AP_SIM_COMPASS_ENABLED 2022-01-17 15:24:02 +11:00
Andrew Tridgell 8eb40bafc5 AP_Compass: revert compass parameter changes 2021-12-04 16:51:53 +11:00
Iampete1 6ba87dfe9a AP_Compass: add param conversion 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 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
Peter Barker 62f6a5b033 AP_Compass: fail calibration unless at least 1 compass to cal 2021-08-24 10:18:38 +10:00
Peter Barker 944b82a7be AP_Compass: make is_calibrating const 2021-07-30 17:37:08 +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 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
Siddharth Purohit 7cbb3d8a3f AP_Compass: allow compass cal option for AP_Periph if defined 2021-07-02 08:50:16 +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
Siddharth Purohit 8590bfea63 AP_Compass: use first available compass in priority list 2021-06-02 17:10:19 +10:00
Siddharth Purohit b31a04e52b AP_Compass: allow single compass configure for autopilot boards 2021-05-19 18:04:20 +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
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 a068e95a48 AP_Compass: added ExternalAHRS driver 2021-01-05 21:13:12 +11:00
yaapu 5e88a856e9 AP_Compass: support for MSP compass 2020-09-09 06:35:50 +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 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
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
Siddharth Purohit c0eb27cc35 AP_Compass: pull compass calibrator out into a separate thread 2020-06-05 09:38:40 +10:00
Andy Piper 63b5711a4d AP_Compass: use a separate slot for the custom compass rotation 2020-05-24 07:46:17 +10:00
Andy Piper f5320e8816 AP_Compass: make sure SITL rotation gets initialized like all the others
don't remove a custom rotation that has already been set
2020-05-21 16:28:27 +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
Paul Riseborough 8e9dc1c393 AP_Compass: Add accessor function for COMPASS_AUTODEC 2020-04-28 11:42:31 +09:00
Peter Barker 0665c379de AP_Compass: correct use of incorrect backend-count macro 2020-03-17 11:25:16 +11:00
Siddharth Purohit 8d227d401a AP_Compass: modify compass driver to support consistent ordering and hotplugging 2020-02-19 13:59:53 +09:00
Andrew Tridgell 09d7e732b7 AP_Compass: added mag_cal_fixed_yaw()
this is a fast compass calibration that uses a yaw value provided by
the user.
2019-12-18 17:20:37 +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 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
Peter Barker 1adda1ccf0 AP_Compass: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Peter Barker df01bed14f AP_Compass: take GCS link in place of channel to calibration routines 2019-08-05 09:23:10 +10:00
Michael du Breuil 9fc954b030 AP_Compass: Reduce scope of BattMonitor include 2019-06-18 10:02:05 +10:00
Andrew Tridgell 532b82b3a3 AP_Compass: use DRIVER_HMC5843 to match driver name 2019-05-30 15:39:57 +10:00
Peter Barker bf23f1df67 AP_Compass: move responsibility for logging into library 2019-04-23 10:06:17 +10:00
Peter Barker 0e8722181f AP_Compass: take responsibility for not running cal if armed 2019-04-23 10:06:17 +10:00
Peter Barker 7ae7c48362 AP_Compass: remove set_and_save_offsets taking integer parameters
because the only caller that mattered had floats to offer...
2019-04-05 06:09:25 -07:00