← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The compass order was changed: reboot before going on

Stops itCompass

What ArduPilot says:

The order in which ArduPilot prefers its compasses (COMPASS_PRIO1_ID, COMPASS_PRIO2_ID, COMPASS_PRIO3_ID) was changed after start-up. Compasses are given their places only while starting, so until a reboot the order in use and the saved one differ. Arming is refused (“Compass order change requires reboot”), and so is a calibration (“Compass cal requires reboot after priority change”).

What to do, most likely first

  1. You moved a compass up or down, or removed one, in the ground station's compass screen.

    FixReboot the flight controller, then calibrate if the screen asks for it.

  2. A parameter file from another aircraft was loaded: it carries that aircraft's compass IDs.

    CheckParameter Compare & Migrate shows what the file changed; look at COMPASS_PRIO1_ID and the other two.

    FixReboot. If a compass is then reported as not found, set the foreign ID to 0, reboot again and calibrate.

Parameters to look at

ParameterWhat it is
COMPASS_PRIO1_IDCompass device id with 1st order priority
COMPASS_PRIO2_IDCompass device id with 2nd order priority
COMPASS_PRIO3_IDCompass device id with 3rd order priority
The code that sends it

Compass cal requires reboot after priority change

libraries/AP_Compass/AP_Compass_Calibration.cpp Compass::_start_calibration() · Open in ArduPilot Copter-4.7.1

Compass order change requires reboot

libraries/AP_Compass/AP_Compass.cpp Compass::configured() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer