← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The level calibration was refused

Stops itIMU: accelerometers, gyros, vibration

What ArduPilot says:

The level calibration (“Calibrate level”, also the first position of the accelerometer calibration) measures how far the flight controller is tilted against the airframe and stores it in AHRS_TRIM_X and AHRS_TRIM_Y. It refuses a tilt of more than 10° on any axis: that is not a small mounting error, something else is wrong. Nothing was saved.

What to do, most likely first

  1. The aircraft was not level when the calibration was started.

    FixLevel the airframe with a spirit level (on the motor arms or the wing, not on the flight controller) and repeat.

  2. The flight controller is mounted turned or upside down, and AHRS_ORIENTATION does not say so.

    CheckTilt the nose down and roll right: the horizon in the ground station must follow correctly. If it moves the wrong way, the orientation is wrong.

    FixSet AHRS_ORIENTATION to match how the board sits, reboot, and do the whole accelerometer calibration again.

  3. The accelerometer calibration itself is bad, so “level” is measured wrongly.

    FixDo the six-position accelerometer calibration again, holding each position still.

Parameters to look at

ParameterWhat it is
AHRS_TRIM_XAHRS Trim Roll
AHRS_TRIM_YAHRS Trim Pitch
AHRS_ORIENTATIONBoard Orientation
The code that sends it

trim over maximum of 10 degrees

libraries/AP_InertialSensor/AP_InertialSensor.cpp AP_InertialSensor::_calculate_trim() · Open in ArduPilot Copter-4.7.1

unsupported trim rotation

libraries/AP_InertialSensor/AP_InertialSensor.cpp AP_InertialSensor::_calculate_trim() · Open in ArduPilot Copter-4.7.1

Cannot calibrate with Q_TRIM_PITCH set

libraries/AP_InertialSensor/AP_InertialSensor.cpp AP_InertialSensor::_calculate_trim() · Open in ArduPilot Plane-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