Q_ENABLE is on, but the VTOL code has not started
What ArduPilot says:
- PreArm: Quadplane enabled but not running
Q_ENABLE is not 0, yet the QuadPlane part of the firmware (the lift-motor mixer and the controllers behind every Q mode) is not running, so the plane will not arm. ArduPilot starts it at power-on, or within a moment of Q_ENABLE being set while disarmed; it never starts it while armed. In 4.6 and 4.7 every failed start ends in a “Config Error: …” line repeated every 5 s, so this message nearly always comes together with one.
What to do, most likely first
The start stopped at a configuration error: an unsupported frame class, tailsitter and tiltrotor both enabled, or too little memory.
CheckRead the ground station's messages for a line that begins “Config Error:”: “Unsupported
Q_FRAME_CLASS…”, “setTAILSIT_ENABLE0 orTILT_ENABLE0” or “Not enough memory for quadplane”. While it repeats, the board does nothing else, but parameters can still be changed.FixCorrect what that line names (each has its own explanation here), then reboot the flight controller.
Q_ENABLEwas changed a moment ago and the VTOL code is still starting.CheckThe line “QuadPlane initialised, Frame: …” follows within a second, and this message does not come back.
FixReboot the flight controller anyway after setting
Q_ENABLE: the faster main loop a QuadPlane needs only starts at boot. Then refresh the parameter list: the Q parameters appear only onceQ_ENABLEis set.
Parameters to look at
| Parameter | What it is |
|---|---|
Q_ENABLE | Enable QuadPlane |
Q_FRAME_CLASS | Frame Class |
Q_TAILSIT_ENABLE | Enable Tailsitter |
Q_TILT_ENABLE | Enable Tiltrotor functionality |
The code that sends it
PreArm: Quadplane enabled but not running
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