← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The main loop is too slow for a QuadPlane

Stops itPlane: take-off, landing, QuadPlanePlane only

What ArduPilot says:

The flight controller's main loop runs at less than 100 Hz. A plain plane runs at 50 Hz, too slow to keep a hovering aircraft level; when Q_ENABLE is already set at power-on, the default becomes 300 Hz. The rate is read once at start-up, so a change of SCHED_LOOP_RATE or of Q_ENABLE takes effect only after a reboot.

What to do, most likely first

  1. Q_ENABLE was set and the flight controller has not been rebooted since, so it still runs at the plane's 50 Hz.

    FixReboot the flight controller. If SCHED_LOOP_RATE was never saved by hand, it comes up at 300.

  2. SCHED_LOOP_RATE is saved with a value below 100, for example from a plain plane's parameter file; a saved value beats the QuadPlane default.

    CheckRead SCHED_LOOP_RATE after a reboot.

    FixSet SCHED_LOOP_RATE to 300 and reboot.

Parameters to look at

ParameterWhat it is
SCHED_LOOP_RATEScheduling main loop rate
Q_ENABLEEnable QuadPlane
The code that sends it

PreArm: quadplane needs SCHED_LOOP_RATE >= 100

ArduPlane/AP_Arming.cpp AP_Arming_Plane::quadplane_checks() · Open in ArduPilot Plane-4.6.3

ArduPlane/AP_Arming_Plane.cpp AP_Arming_Plane::quadplane_checks() · Open in ArduPilot Plane-4.7.1

Written here for Plane 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