본문 바로가기

ING/드론

아밍 불가 코드 확인

Arming Sequence & Safety

Bruce Luckcuck edited this page on 30 Apr · 38 revisions

Switch arming

The AUX channel configured for arming will choose a default value that falls outside of the configured arm range (as configured in the "Modes" configurator tab), this value is either 1 "step" (25us) above or below the configured range. This is a safety feature to ensure the default value would not cause accidental arming.

Note that this default value is overwritten by the first values data from the receiver, therefore bad RX initial states or failsafe settings can still cause issues.

Arming Prevention

Betaflight 3.2 (and above) includes more detailed troubleshooting information for the case when a craft will not arm.

This information is available via:

  • the CLI
  • Betaflight OSD
  • beep patterns
  • Betaflight Configurator

Several of these conditions are to assist in preventing accidental arming via bad radio system configuration, unreliable/poor quality receivers and user mistakes.

These reasons for not arming are encoded as a set of flags (see runtime_config.h).

CLI

Flags can be viewed via the status command.

Some targets with limited flash space will only provide the hexadecimal representation of these flags, in which case the active flags must be derived from the armingDisableFlags_e enum in runtime_config.h (ensure the version of the file you are looking at matches that of your firmware).

Beeper

When arming is attempted and fails, if a beeper is connected to the flight controller it will emit a warning signal indicating the most important (lowest number) reason why disarming is disabled.

The signal is as follows:

  • five short 'attention' beeps;
  • a number of long beeps (may be 0);
  • a number of short beeps with long intervals (may be 0).

The arming prevention condition that is active can be calculated as (5 * <number of long beeps>) + <number of short beeps>. For example:

  • 1 long and 2 short beeps = 7
  • 2 long beeps = 10

Description of arming prevention flags

What each flag means and what you should do to (probably) fix the issue.

This list should be kept up to date with the code in master (armingDisableFlags_e in src/main/fc/runtime_config.h) so can be used to find what flag corresponds to a certain index, however if you run an older version you'd have to check this manually as mentioned above.

NameDescriptionBeep codeRequired Actions3.23.33.4/3.54.04.14.2+

NOGYRO A gyro was not detected 1 1 1 1 1 1 You may have a hardware failure, if a previous firmware version works then it may be a firmware issue.
FAILSAFE Failsafe is active 2 2 2 2 2 2 Rectify the failure condition and try again.
RXLOSS(1) No valid receiver signal is detected 3 3 3 3 3 3 Your receiver is either faulty or has no link to the transmitter.
BADRX(1) Your receiver has just recovered from receiver failsafe but the arm switch is on 4 4 4 4 4 4 Switch the arm switch off.
BOXFAILSAFE The 'FAILSAFE' switch was activated 5 5 5 5 5 5 See FAILSAFE
RUNAWAY Runway Takeoff Prevention has been triggered 6 6 6 6 6 Disarm to clear this condition.
CRASH Crash Recovery has been triggered 7 7 Disarm to clear this condition.
THROTTLE Throttle channel is too high 6 7 7 7 8 8 Lower throttle below min_check.
ANGLE Craft is not level (enough) 7 8 8 8 9 9 Level craft to within small_angle degrees (default 25).
BOOTGRACE Arming too soon after power on 8 9 9 10 10 10 Wait until pwr_on_arm_grace seconds (default 5) have elapsed.
NOPREARM Prearm switch is not activated or prearm has not been toggled after disarm 9 10 10 10 11 11 Toggle the prearm switch.
LOAD System load is too high for safe flight 10 11 11 11 12 12 Revisit configuration and disable features.
CALIB Sensor calibration is still ongoing 11 12 12 12 13 13 Wait for sensor calibration to complete.
CLI CLI is active 12 13 13 13 14 14 Exit the CLI.
CMS CMS (config menu) is Active - over OSD or other display 13 14 14 14 15 15 Exit the CMS (or OSD menu).
OSD OSD menu is active 14 15 16 Exit OSD menu.
BST A Black Sheep Telemetry device (TBS Core Pro for example) disarmed and is preventing arming 15 16 16 15 16 16 Refer to the manual for your hardware.
MSP MSP connection is active, probably via Betaflight Configurator 16 17 17 16 17 17 Terminate the Betaflight Configurator connection (disconnect).
PARALYZE Paralyze mode has been activated 18 17 18 18 Power cycle/reset FC board.
GPS GPS rescue mode is configured but required number of satellites has not been fixed 19 18 19 19 Wait for GPS fix, enable arming without GPS fix, or disable GPS rescue mode.
RESCUE_SW GPS Rescue switch is in an unsafe position 19 20 20 Turn off the GPS Rescue switch to arm.
RPMFILTER(2) Motor RPM-based filtering is not functioning 21 21 21 One or more ESC's are not supplying valid RPM telemetry.
REBOOT_REQD Reboot required 22 22 Reboot the flight controller for settings changes to take effect.
DSHOT_BBANG DSHOT Bitbang is not working 23 23 (3)
NO_ACC_CAL Accelerometer calibration required 24 Calibrate the accelerometer or disable features that use it
MOTOR_PROTO ESC/Motor Protocol not configured 25 Select the ESC/Motor protocol to use on the Configuration tab.
ARMSWITCH Arm switch is in an unsafe position 17 18 20 21 24 26 Toggle the arm switch to arm.

(1) This may appear on the Betaflight OSD during flight, take it as a sign that your radio system is either faulty or you are flying at the edge of your range. Treat it the same you would an "RSSI critically low" warning.

(2) RPM-based filtering is enabled but one or more ESC's are not supplying valid DSHOT telemetry. Check that the ESC's are capable of and have the required firmware installed to support bidirectional DSHOT telemetry.

(3) Bitbang DSHOT is not working properly and the motors can't be controlled. Likely caused by a timer conflict with other features enabled on the flight controller.

 

github.com/betaflight/betaflight/wiki/Arming-Sequence-&-Safety

'ING > 드론' 카테고리의 다른 글

dji hack  (0) 2022.02.07
DJI hack  (0) 2020.10.04
gps_rescue 및 나코  (0) 2020.09.22
APM캘리 및 OpenTx  (0) 2017.07.21
transmitter 배선  (0) 2016.12.07