A missing compass was dropped from the list, or replaced by a new one
What ArduPilot says:
- Mag: Compass #N with DEVID N removed
- Mag: Compass #N with DEVID N replaced
“removed”: when a calibration of all compasses starts, every compass on the priority list that was not detected at this start-up is taken off the saved list. “replaced”: with bit 1 of COMPASS_OPTIONS set, a DroneCAN compass that is missing was swapped at start-up for a DroneCAN compass ArduPilot had not seen before. The number after # is the place in the list, counted from 0; then comes the old device ID.
What to do, most likely first
You changed the GPS/compass module, or took one off, on purpose.
FixReboot and calibrate: a new compass has no calibration yet, and arming is refused until it has one.
The compass is still fitted but did not start this time: a loose connector, or a CAN node that was slow to boot.
CheckYou removed nothing, yet the ground station's compass screen shows one compass fewer.
FixFix the connection and reboot, then look at the compass screen again and calibrate if it asks for it.
Parameters to look at
| Parameter | What it is |
|---|---|
COMPASS_PRIO1_ID | Compass device id with 1st order priority |
COMPASS_PRIO2_ID | Compass device id with 2nd order priority |
COMPASS_PRIO3_ID | Compass device id with 3rd order priority |
COMPASS_OPTIONS | Compass options |
Where to do it:Setup & Tuning Guide
The code that sends it
Mag: Compass #N with DEVID N removed
libraries/AP_Compass/AP_Compass.cpp Compass::_reset_compass_id() · Open in ArduPilot Copter-4.7.1
Mag: Compass #N with DEVID N replaced
libraries/AP_Compass/AP_Compass.cpp Compass::probe_dronecan_compasses() · Open in ArduPilot Copter-4.7.1