← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The quick (fixed-heading) compass calibration failed

Stops itCompass

What ArduPilot says:

This calibration does not need the aircraft turned: given its true heading, ArduPilot looks up the Earth's field for the position and sets the offsets to match. In-flight learning (COMPASS_LEARN 3) uses it too. It needs a position and a compass that delivers readings. “no position available”: neither the position estimator nor the GPS (3D fix) has one. “unhealthy” and “bad uncorrected field”: the compass with that number, counted from 0, gave no data. “WMM table error”: the position is outside the built-in magnetic map.

What to do, most likely first

  1. There is no GPS fix yet.

    FixWait outdoors for a 3D fix, then repeat the calibration.

  2. A compass that is switched on for heading is not sending data.

    CheckIts values in the ground station are frozen or zero; a pre-arm message about the compass usually comes with it.

    FixCheck the compass cable and reboot, or switch that compass off for heading (COMPASS_USE, COMPASS_USE2 or COMPASS_USE3 to 0) if it is not fitted.

This method sets the offsets only and trusts the heading it is given: an error of 10 degrees in the heading becomes an error in the calibration. The full calibration, turning the aircraft, is the better one whenever the aircraft can be turned.

Parameters to look at

ParameterWhat it is
COMPASS_LEARNLearn compass offsets automatically
COMPASS_USEUse compass for yaw
COMPASS_USE2Compass2 used for yaw
COMPASS_USE3Compass3 used for yaw
The code that sends it

Mag: WMM table error

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

Mag[N]: unhealthy

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

Mag: no position available

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

Mag[N]: bad uncorrected field

libraries/AP_Compass/AP_Compass_Calibration.cpp Compass::mag_cal_fixed_yaw() · 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