Skip to content

"Something" is disabled Reasons

Jonathan Hudson edited this page Apr 22, 2023 · 38 revisions

Something is disabled

INAV may fail to perform some action as expected, typically arming or engaging waypoints. This articles documents the reasons for some of these events.

Arming disabled reasons

INAV will refuse to arm for the following reasons (e.g. from cli status):

Reason (CLI Mnemonic) Bit Mask (Hex) Explanation
FS 00000080 The RX is not recognised as providing a valid signal
ANGLE 00000100 The vehicle is not level as defined by the CLI small_angle setting
CAL 00000200 The pre-arm sensor calibration has not completed. The barometer is somewhat susceptible to lengthy calibration, which may be mitigated by the CLI setting baro_cal_tolerance, e.g. set baro_cal_tolerance = 500 (find a suitable value by experimentation).
OVRLD 00000400 The CPU load is excessive. May be caused by too an aggressive loop time setting.
NAV 00000800 Where the CLI setting nav_extra_arming_safety = ON is used, this may be caused by reasons shown in the table below
COMPASS 00001000 The compass is not calibrated. Perform the calibration procedure
ACC 00002000 The accelerometer is not calibrated. Perform the 6 point calibration procedure
ARMSW 00004000 The arm switch was engaged as the FC booted
HWFAIL 00008000 A required hardware device has failed / is not recognised (e.g. GPS, Compass, Baro)
BOXFS 00010000 A failsafe switch is engaged
KILLSW 00020000 A kill switch is engaged
RX 00040000 The RC link is not detected (RX not detected)
THR 00080000 The throttle setting is not a minimum
CLI 00100000 The CLI is active (note: you will always /unavoidably see this when in the CLI)
CMS 00200000 The CMS menu is active
OSD 00400000 The OSD menu is active
ROLL/PITCH 00800000 Roll and/or pitch is not centred
AUTOTRIM 01000000 Servo autotrim is engaged
OOM 02000000 The FC is out of memory
SETTINGFAIL 04000000 A CLI setting is out of range. The erroneous setting should be indicated in a CLI dump. If you can't then reset the offending setting, reflash with full chip erase and reapplying settings from scratch may help.
PWMOUT 08000000 PWM output error. Motor or servo output initialisation failed.
NOPREARM 10000000 PREARM is enabled and timed out
DSHOTBEEPER 20000000 DSHOTBEEPER is enabled and is active
LANDED 40000000 Landing detected.

Note: On older processors, just the bitmask is shown, which can be decoded by the numeric values in the table. A numeric value may be a combination of conditions, for example:

0x184000 = 00100000 + 00080000 + 00004000 (CLI active, throttle not at minimum, arm engaged)

The values are correct for INAV 6.1.0 as of 2023-04.

Navigation Unsafe reasons

Requires that a navigation mode (which includes failsafe RTH) is configured

Navigation Unsafe
The GPS has insufficient satellites (this is checked even if you disable GPS, but have a NAV mode configured in Modes tab)
A navigation switch is engaged (e.g.PH, WP, RTH)
First WP distance exceeded
Satellite quality is unacceptable: EPH/EPV > 10m (note the limit in the CLI inav_max_eph_epv is in cm, default 1000)
The WP mission contains an invalid JUMP sequence
The first waypoint is beyond the distance defined by the CLI setting: INAV 5.1 and below uses nav_wp_safe_distance. From INAV 6.0 use nav_wp_max_safe_distance
  • nav_wp_safe_distance : The default is 100m (10000cm, as the value is entered in cm), 0 disables this check.

    # get nav_wp_safe_distance
    nav_wp_safe_distance = 10000
    Allowed range: 0 - 65000
    
  • nav_wp_max_safe_distance : The default is 100m, 0 disables this check. This setting is entered in metres.

    # get nav_wp_safe_distance
    nav_wp_safe_distance = 100
    Allowed range: 0 - 1500
    
  • Invalid JUMP.

    • First item can't be JUMP (can't calculate 1st WP distance, impossible for backward jumps)
    • Can't jump to immediately adjacent WPs (pointless)
    • Can't jump beyond WP list (undefined behaviour)
    • Can only jump to geo-referenced WPs (otherwise, undefined behaviour)

Waypoints will not execute

The pilot thinks that they have loaded a waypoint mission, but the mission will not execute when the assigned switch is engaged.

  • No mission is actually loaded into the FC. Note that waypints have to be in volatile memory (that is cleared on powercycle), not in EEPROM. If waypoints have been saved to EEPROM it is necessary to restore the WPs to volatile memory before the mission can be executed.

  • The Fixed Wing aircraft is in MANUAL / PASSTHROUGH mode.

  • The craft is currently executing RTH

RTH fails to engage

  • The GPS signal is degraded (eph / epv exceed, CLI setting inav_max_eph_epv)

Diagnostics

Diagnosing arming failure and WP execution failure often requires the use of a tool external to the FC; the following may help:

  • The INAV configurator displays reasons for arming failure

  • A blackbox log provides post event diagnostics

  • The INAV CLI (available from a terminal, the configurator and many ground-stations) displays arming disabled reasons:

     # status
     ...
     Arming disabled flags: NAV HWFAIL RX CLI
    
  • A ground station may provide diagnostics, for example mwp provides an 'Arming Disabled' alert icon with 'popover' description / explanation, mission upload validation checks and 'first WP distance' exceeded warnings.

  • Video explanation via https://quadmeup.com/troubleshooting-inav-why-inav-is-not-arming/

  • Your favourite diagnostic tool / technique goes here

Postscript

For 'Navigation is unsafe', you may, of course set nav_extra_arming_safety = ALLOW_BYPASS; however there is a clue is in the name. Arming with ALLOW_BYPASS is performed by holding full right yaw whilst switch arming.

Prior to INAV 6.0, there is also nav_extra_arming_safety = OFF, which is not recommended. At least with ALLOW_BYPASS you know you've done something potentially dangerous.

WIKI TOPICS

Wiki Home Page

INAV Version Release Notes

7.1.0 Release Notes
7.0.0 Release Notes
6.0.0 Release Notes
5.1 Release notes
5.0.0 Release Notes
4.1.0 Release Notes
4.0.0 Release Notes
3.0.0 Release Notes
2.6.0 Release Notes
2.5.1 Release notes
2.5.0 Release Notes
2.4.0 Release Notes
2.3.0 Release Notes
2.2.1 Release Notes
2.2.0 Release Notes
2.1.0 Release Notes
2.0.0 Release Notes
1.9.1 Release notes
1.9.0 Release notes
1.8.0 Release notes
1.7.3 Release notes
Older Release Notes

QUICK START GUIDES

Getting started with iNav
Fixed Wing Guide
Howto: CC3D flight controller, minimOSD , telemetry and GPS for fixed wing
Howto: CC3D flight controller, minimOSD, GPS and LTM telemetry for fixed wing
INAV for BetaFlight users
launch mode
Multirotor guide
YouTube video guides
DevDocs Getting Started.md
DevDocs INAV_Fixed_Wing_Setup_Guide.pdf
DevDocs Safety.md

Connecting to INAV

Bluetooth setup to configure your flight controller
DevDocs Wireless Connections (BLE, TCP and UDP).md\

Flashing and Upgrading

Boards, Targets and PWM allocations
Upgrading from an older version of INAV to the current version
DevDocs Installation.md
DevDocs USB Flashing.md

Setup Tab
Live 3D Graphic & Pre-Arming Checks

Calibration Tab
Accelerometer, Compass, & Optic Flow Calibration

Alignment Tool Tab
Adjust mount angle of FC & Compass

Ports Tab
Map Devices to UART Serial Ports

Receiver Tab
Set protocol and channel mapping

Mixer

Mixer Tab
Custom mixes for exotic setups
DevDocs Mixer.md

Outputs

DevDocs ESC and servo outputs.md
DevDocs Servo.md

Modes

Modes
Navigation modes
Navigation Mode: Return to Home
DevDocs Controls.md
DevDocs INAV_Modes.pdf
DevDocs Navigation.md

Configuration

Sensor auto detect and hardware failure detection

Failsafe

Failsafe
DevDocs Failsafe.md

PID Tuning

PID Attenuation and scaling
Fixed Wing Tuning for INAV 3.0
Tune INAV PIFF controller for fixedwing
DevDocs Autotune - fixedwing.md
DevDocs INAV PID Controller.md
DevDocs INAV_Wing_Tuning_Masterclass.pdf
DevDocs PID tuning.md
DevDocs Profiles.md

GPS

GPS and Compass setup
GPS Failsafe and Glitch Protection

OSD and VTx

DevDocs Betaflight 4.3 compatible OSD.md
OSD custom messages
OSD Hud and ESP32 radars
DevDocs OSD.md
DevDocs VTx.md

LED Strip

DevDocs LedStrip.md

ADVANCED

Advanced Tuning

Fixed Wing Autolaunch
DevDocs INAV_Autolaunch.pdf

Programming

DevDocs Programming Framework.md

Adjustments

DevDocs Inflight Adjustments.md

Mission Control

iNavFlight Missions
DevDocs Safehomes.md

Tethered Logging

Log when FC is connected via USB

Blackbox

DevDocs Blackbox.md
INAV blackbox variables
DevDocs USB_Mass_Storage_(MSC)_mode.md

CLI

iNav CLI variables
DevDocs Cli.md
DevDocs Settings.md

VTOL

DevDocs MixerProfile.md
DevDocs VTOL.md

TROUBLESHOOTING

"Something" is disabled Reasons
Blinkenlights
Pixel OSD FAQs
TROUBLESHOOTING
Why do I have limited servo throw in my airplane

ADTL TOPICS, FEATURES, DEV INFO

AAT Automatic Antenna Tracker
Building custom firmware
Default values for different type of aircrafts
Features safe to add and remove to fit your needs.
Developer info
INAV MSP frames changelog
INAV Remote Management, Control and Telemetry
Lightweight Telemetry (LTM)
Making a new Virtualbox to make your own INAV
MSP Navigation Messages
MSP V2
OrangeRX LRS RX and OMNIBUS F4
Rate Dynamics
Target and Sensor support
UAV Interconnect Bus
Ublox 3.01 firmware and Galileo
DevDocs 1wire.md
DevDocs ADSB.md
DevDocs Battery.md
DevDocs Buzzer.md
DevDocs Channel forwarding.md
DevDocs Display.md
DevDocs Fixed Wing Landing.md
DevDocs GPS_fix_estimation.md
DevDocs LED pin PWM.md
DevDocs Lights.md
DevDocs OSD Joystick.md
DevDocs Servo Gimbal.md
DevDocs Temperature sensors.md

OLD LEGACY INFO

Supported boards
DevDocs Boards.md
Legacy Mixers
Legacy target ChebuzzF3
Legacy target Colibri RACE
Legacy target Motolab
Legacy target Omnibus F3
Legacy target Paris Air Hero 32
Legacy target Paris Air Hero 32 F3
Legacy target Sparky
Legacy target SPRacingF3
Legacy target SPRacingF3EVO
Legacy target SPRacingF3EVO_1SS
DevDocs Configuration.md
Request form new PRESET
DevDocs Introduction.md
Welcome to INAV, useful links and products
iNav Telemetry
DevDocs Rangefinder.md
DevDocs Rssi.md
DevDocs Runcam device.md
DevDocs Serial.md
DevDocs Telemetry.md
DevDocs Rx.md
DevDocs Spektrum bind.md

Clone this wiki locally