ArduPilot does not know what frame this is
What ArduPilot says:
- Check frame class and type
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
FRAME_CLASSis still 0: the frame has never been chosen.FixChoose the frame in the ground station's Frame Type screen (
FRAME_CLASS1 is a quad, 2 a hexa, 3 an octa;FRAME_TYPE1 is X) and reboot.FRAME_TYPEis 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.
FRAME_CLASSwas 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.
A frame defined by a Lua script (
FRAME_CLASS15 or 17) whose script has not run.FixMake the script load (
SCR_ENABLE1, the file in the scripts folder, reboot) and look for its own error message.
Parameters to look at
| Parameter | What it is |
|---|---|
FRAME_CLASS | Frame Class |
FRAME_TYPE | Frame Type (+, X, V, etc) |
Where to do it:Setup & Tuning GuideStarting Parameters
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