← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

ArduPilot does not know what frame this is

Stops itMotors, ESCs and outputs

What ArduPilot says:

ArduPilot could not build the motor layout from FRAME_CLASS and FRAME_TYPE, so it does not know which output drives which motor. A newly loaded Copter has FRAME_CLASS 0 (undefined), which always gives this. It also comes when the type does not exist for the class, or the class was changed without a reboot. It is shown as “PreArm: Motors: Check frame class and type”, is checked even when the arming checks are switched off, and stops the motor test too.

What to do, most likely first

  1. FRAME_CLASS is still 0: the frame has never been chosen.

    FixChoose the frame in the ground station's Frame Type screen (FRAME_CLASS 1 is a quad, 2 a hexa, 3 an octa; FRAME_TYPE 1 is X) and reboot.

  2. FRAME_TYPE is one that the class does not have.

    CheckThe start-up messages show what was built: “Frame: QUAD/X” is right, “Frame: UNSUPPORTED” is this.

    FixChoose a type that exists for your class and reboot. The Setup & Tuning Guide's frame step lists the usual ones.

  3. FRAME_CLASS was changed to a tricopter, single, coax or tailsitter and the board not rebooted.

    FixReboot after changing the class: these frames use a different motor driver, created at start-up only.

  4. A frame defined by a Lua script (FRAME_CLASS 15 or 17) whose script has not run.

    FixMake the script load (SCR_ENABLE 1, the file in the scripts folder, reboot) and look for its own error message.

Parameters to look at

ParameterWhat it is
FRAME_CLASSFrame Class
FRAME_TYPEFrame Type (+, X, V, etc)
The code that sends it

Check frame class and type

libraries/AP_Motors/AP_Motors_Class.cpp AP_Motors::arming_checks() · 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