← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

In-flight compass learning has started, or finished

InformationCompass

What ArduPilot says:

COMPASS_LEARN is 3: ArduPilot works out the compass offsets in flight instead of from a calibration on the ground. “Initialised” appears at start-up. While learning is on, the compass is not used for heading at all. Once the aircraft has been flying for 3 s and the heading worked out from GPS movement is known to better than 5 degrees, the offsets are set from it, COMPASS_LEARN is saved back to 0 and “Finished” appears.

Until “Finished” the compass arming checks do not run, and the parameter's own description warns that position control modes cannot be used. The result contains offsets only; a full calibration on the ground is more exact.

Parameters to look at

ParameterWhat it is
COMPASS_LEARNLearn compass offsets automatically
COMPASS_OFS_XCompass offsets in milligauss on the X axis
COMPASS_OFS_YCompass offsets in milligauss on the Y axis
COMPASS_OFS_ZCompass offsets in milligauss on the Z axis
The code that sends it

CompassLearn: Finished

libraries/AP_Compass/Compass_learn.cpp CompassLearn::update() · Open in ArduPilot Copter-4.7.1

CompassLearn: Initialised

libraries/AP_Compass/Compass_learn.cpp CompassLearn::CompassLearn() · 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