Christian Petri
5252cf88d1
AP_Compass: report specific failure reason when fit rejected
2026-07-28 12:43:35 +10:00
Brian Jubelirer
9fe681593c
AP_Compass: MAG_CAL: only autoreboot if calibration succeeds
2026-05-03 15:31:15 +10:00
Peter Barker
b3d622488e
AP_Compass: replace AP_GPS::Status and AP_DAL_GPS::Status with AP_GPS_FixType
2026-03-27 12:01:41 +11:00
TharakaUJ
b5912470e5
Compass: report reason when mag calibration fails
...
When MAV_CMD_DO_START_MAG_CAL fails because no compasses
are available for calibration, the command currently returns
MAV_RESULT_FAILED but does not send a message to the GCS.
Send a STATUSTEXT message so the user receives feedback
instead of a silent failure.
Fixes #13257
2026-03-16 12:24:02 +11:00
Peter Barker
521de42cf7
AP_Compass: rename AHRS get_roll etc accessors to include _rad
2025-06-05 17:28:41 +10:00
Peter Barker
ea11c1053d
AP_Compass: remove line feeds from GCS_SEND_TEXT calls
...
these often make their way in when moving from some other printf-style debugging...
2025-05-30 22:36:07 +10:00
Peter Barker
224dbc4ac7
AP_Compass: replace ToRad with radians and ToDeg with degrees
2025-05-29 11:24:56 +10:00
Peter Barker
6298f7dc58
AP_Compass: make compass LearnType enum-class and parameter AP_Enum
2025-01-29 19:21:59 +11:00
Andrew Tridgell
0f08b47322
AP_Compass: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Patrick José Pereira
84a5a52351
AP_Compass: Use new default for reboot
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com >
2024-03-12 21:13:41 +11:00
Peter Barker
084b0aea24
AP_Compass: make compass.mag_cal_fixed_yaw return boolean
...
this method could be used from a transmitter without GCS enabled, for example
2024-02-06 11:11:27 +11:00
Peter Barker
cad4bd41e9
AP_Compass: make AHRS attitude member variables private
2024-01-14 12:47:47 +11:00
Mykhailo Kuznietsov
633bb159bf
AP_Compass: Fix some typos
...
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker
9a054876ff
AP_Compass: use AP_GPS_ENABLED to exclude more code when GPS not compiled in
2023-09-27 16:38:15 +10:00
Peter Barker
acf437b258
AP_Compass: correct compilation with COMPASS_CAL_ENABLED off
2023-09-19 16:54:59 +10:00
Peter Barker
275a667d41
AP_Compass: allow more libraries to compile with no HAL_GCS_ENABLED
2023-09-05 22:23:51 +10:00
Peter Barker
d50c429355
AP_Compass: handle mag cal as both COMMAND_LONG and COMMAND_INT
2023-08-08 10:06:13 +10:00
Iampete1
262b11f0c1
AP_Compass: stop auto replacing missing CAN by default, add option to re-enable
2023-06-27 09:24:41 +10:00
Andrew Tridgell
863b4bf928
AP_Compass: fixed zero compass diagonals
...
this fixes a regression from 4.2 to 4.3.
previously we automatically set the diagnoals to 1,1,1 if they were
0,0,0. We don't do that any more. I was helping a user who had copied
an old config with 0,0,0 for diagonals and did not understand two
things:
- the compass did not work in 4.3
- large vehicle mag cal didn't work
2023-01-17 12:05:19 +11:00
Peter Barker
aef745c693
AP_Compass: fix compilation when removing diagonals state
2022-11-09 21:14:04 +11:00
Peter Barker
dc85169cb1
AP_Compass: send report if we are in the BAD_RADIUS state
2022-10-06 10:31:09 +11:00
Peter Barker
05a638a639
AP_Compass: correct is_calibrating check
...
before this we only ever looked at the first backend
2022-10-06 08:21:03 +11:00
Peter Barker
75919171b7
AP_Compass: remove default clause from calibrator status switch
...
bad_radius should almost certainly be treated just like bad orientation
2022-10-06 08:21:03 +11:00
Peter Barker
d6c5a0ab2b
AP_Compass: correct compilation when COMPASS_MAX_INSTANCE>1 and no diagonals
2022-10-06 08:21:03 +11:00
Iampete1
209ad965be
AP_Compass: remove custom rotations
2022-03-02 18:16:42 +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
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