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
Andrew Tridgell
8eb40bafc5
AP_Compass: revert compass parameter changes
2021-12-04 16:51:53 +11:00
Iampete1
071ff39ff8
AP_Compass: move instance params to shared table
2021-11-30 08:14:43 +09:00
Iampete1
1771481779
AP_Compass: never override custom orentation in calabration
2021-11-10 09:28:54 +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
Peter Barker
224ff97f5c
AP_Compass: move from HAL_NO_GCS to HAL_GCS_ENABLED
2021-09-22 21:37:00 +10: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
Iampete1
36a80d46e3
AP_Compass: support auto orientation for new rotations
2021-07-28 18:09:05 +10:00
Siddharth Purohit
b31a04e52b
AP_Compass: allow single compass configure for autopilot boards
2021-05-19 18:04:20 +10: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
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
murata
7ec0cb47a5
AP_Compass: const extern hal reference
2020-04-07 20:45:51 +09:00
Rishabh
cbccdfa8a3
AP_Compass: Alert GCS if user tries to calibrate compass while vehicle is armed
2020-03-03 11:37:19 +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
Peter Barker
823f2bb217
AP_Compass: make compass_cal_status_t enum class Status within CompassCalibrator
2019-12-05 17:38:57 +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
Randy Mackay
89fa324a2b
AP_Compass: rename CompassCalibrator::clear to stop
2019-11-26 11:10:06 +11:00
Randy Mackay
09046aec66
AP_Compass: formatting fixes
...
this should be a non-functional change
2019-11-26 11:10:06 +11:00
Randy Mackay
f58b09ebef
AP_Compass: constify get_completion_mask and remove use of auto
2019-11-26 11:10:06 +11:00
Andrew Tridgell
f4576ec8f3
AP_Compass: reduce firmware size for AP_Periph
2019-08-27 10:29:56 +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
Peter Barker
0e8722181f
AP_Compass: take responsibility for not running cal if armed
2019-04-23 10:06:17 +10:00
Andrew Tridgell
15d2daabf0
AP_Compass: don't do auto-orientation if using ROTATION_CUSTOM
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
d15a4ad92a
AP_Compass: improved error reporting, check all compasses
...
this uses extensions to the MAG_CAL_REPORT message to convey failures
of orientation checking.
It also checks all compasses, external or internal. It only tries to
fix the orientation if it is external
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
Peter Barker
6b53b5b5f3
AP_Compass: make handle_mag_cal_command return type stricter
2017-07-17 14:17:19 +01:00
Andrew Tridgell
ee2afd3242
AP_Compass: added COMPASS_OFFS_MAX
...
this allows setup of airframes with hatch magnets
2017-04-04 00:49:34 +01:00
murata
af47a8e91c
AP_Compass: Unify from print or println to printf.
2017-01-27 18:20:22 +11:00
Michael du Breuil
deec4ec6af
Compass: Rework compass calibrator
...
Summary of significant changes:
-Autsave doesn't depend on STREAM_EXTRA3
-Don't risk only saving one compass on copter if CAL_ALWAYS_REBOOT is set
-Only calibrate compasses that are both health and marked for use (there was a inconsistency in handling the mask)
-Fix incorrect failure reporting on DO_ACCEPT_MAG_CAL with a mask of 0 if a channel was specifically not started
-Fix not starting the buzzer if the delay is set to 0 seconds
-Always send MAG_CAL_REPORT until its acknowledged
-Correct the field in MAG_CAL_REPORT for autosave to indicate if the compass had actually been saved, rather then being scheduled to be saved
-Remmove unused public interfaces
2016-10-27 14:04:33 +11:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
f7ac6c8d86
AP_Compass: make internal compasses use a higher cal threshold
...
they tend to be a lot noisier
2016-05-18 16:32:32 +10:00
Gustavo Jose de Sousa
0c31354539
AP_Compass: implement completion mask
...
Fill the completion mask and send that through MAVLink while calibrating the
compass.
2016-05-16 19:08:36 -03:00
Lucas De Marchi
e6059f5197
AP_Compass: rename files to follow other libraries
...
AP_Compass.h is the main header to be exported and AP_Compass.cpp its
implementation. There's no need for an additional header.
2016-03-23 17:50:38 -03:00
Tom Pittenger
0aa0380db8
AP_Compass: compiler warnings - float to float compare and bool cast
2015-12-07 15:49:58 +09:00
Jonathan Challinger
78af6d61de
AP_Compass: only play compass cal cancel tone if a cal was running
2015-10-21 08:24:49 +11:00
Jonathan Challinger
562db11159
AP_Compass: fix potential AP_Notify concurrency problem
2015-10-20 20:54:02 +09:00
Andrew Tridgell
fa9ff5b604
AP_Compass: added parameter for compass calibration fitness threshold
2015-09-14 17:01:14 +10:00
Andrew Tridgell
6991a1b9e9
AP_Compass: ensure we have payload space to send MAG_CAL messages
2015-09-07 08:58:11 +10:00
Andrew Tridgell
2baa0ac2f2
AP_Compass: disable COMPASS_LEARN when mag calibration used
2015-09-07 08:07:17 +10:00
Andrew Tridgell
e4b2fc711d
AP_Compass: added message for compass cal when armed
2015-09-03 16:59:22 +10:00
Andrew Tridgell
f4cdf57d8f
AP_Compass: added handling of compass calibration mavlink messages
2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
3abdf85796
AP_Compass_Calibrator: remove unrequired variables
2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
c126017035
AP_Compass: reduce to if healthy check from if-else
2015-09-03 16:59:14 +10:00