Skip to content

Commit ddd2ffa

Browse files
Hwurzburgclaude
andcommitted
common: prearm-safety-checks: fold prose section into the tables, verified against source
Removed the "Other Failure messages" prose section (Barometer, Compass, GPS, INS, Board Voltage, Parameter, Battery/Power Monitor, Airspeed, Logging, Safety Switch, System, Mission, Rangefinder subsections) and verified every entry against current master (AP_Arming.cpp and the vehicle-specific overrides): - Most entries duplicated a message already correctly documented in one of the three tables above, just under stale or paraphrased wording (e.g. "Ch7&Ch8 Opt cannot be same" was superseded years ago by "Duplicate Aux Switch Options"; "Check Board Voltage" was never the real message, "Board (Xv) out of range 4.3-5.8v" was; "GPS Glitch"/"Alt disparity" were near-misses for the real "GPS glitching"/"Altitude disparity" already in the Copter table). - Some named messages that no longer exist in current source at all: "Need 3D Fix", "Bad Velocity", "Gyro cal failed", "INS not calibrated". "KDECAN Failed" is now dead code - the KDECAN case in AP_Arming's CAN-protocol switch is an empty no-op. - Two were real, verified, and missing from the tables, so added: "Baro: not healthy" and "Compass not calibrated". - Fixed "Airspeed 1 not healthy" -> "Airspeed: 1 not healthy" while in there; the actual format string is "Airspeed: %s". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 1b84c66 commit ddd2ffa

1 file changed

Lines changed: 3 additions & 196 deletions

File tree

common/source/docs/common-prearm-safety-checks.rst

Lines changed: 3 additions & 196 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,10 @@ Pre-arm checks that are failing will also be sent as messages to the GCS while d
4646
Accels not healthy At least one accelerometer is not providing data Reboot autopilot. If failure continues replace autopilot
4747
AHRS: not using configured AHRS type EKF3 is not ready yet and vehicle is using DCM If indoors, go outside. Ensure good GPS lock. Check for misconfiguration of EKF (see :ref:`AHRS_EKF_TYPE<AHRS_EKF_TYPE>`)
4848
AHRS: waiting for home GPS has not gotten a fix If indoors, go outside. Ensure compass and accelerometer calibrations have been completed. Eliminate radio-frequency sources that could interfere with the GPS
49-
Airspeed 1 not healthy Autopilot is unable to retrieve data from sensor Check the physical connection and :ref:`configuration <airspeed>`
49+
Airspeed: 1 not healthy Autopilot is unable to retrieve data from sensor Check the physical connection and :ref:`configuration <airspeed>`
5050
AP_Relay not available Parachute misconfigured Parachute is controlled via Relay but the relay feature is missing. `Custom build server <https://custom.ardupilot.org/>`__ was probably used, rebuild with relay enabled
5151
Auxiliary authorisation refused External system has disallowed authorisation Check external authorisation system
52+
Baro: not healthy Barometer sensor is not providing data Reboot autopilot. If failure continues replace autopilot
5253
Batch sampling requires reboot Batch sampling feature requires Autopilot reboot Reboot autopilot or check :ref:`Batch sampling<common-imu-batchsampling>` configuration
5354
Battery below minimum arming capacity Battery capacity is below BATT_ARM_MAH Replace battery or adjust :ref:`BATT_ARM_MAH<BATT_ARM_MAH>`
5455
Battery below minimum arming voltage Battery voltage is below BATT_ARM_VOLT Replace battery or adjust :ref:`BATT_ARM_VOLT<BATT_ARM_VOLT>`
@@ -74,6 +75,7 @@ Pre-arm checks that are failing will also be sent as messages to the GCS while d
7475
Chute is released Parachute has been released Reboot autopilot
7576
Compass calibrated requires reboot Autopilot must be rebooted after compass cal Reboot autopilot
7677
Compass calibration running Compass calibration is running Complete or cancel the :ref:`compass calibration <common-compass-calibration-in-mission-planner>`
78+
Compass not calibrated Compass offsets are zero or sensor count changed Complete the :ref:`compass calibration <common-compass-calibration-in-mission-planner>`
7779
Compass X not healthy Compass X is not providing data Check the connection between compass X and the autopilot, and review the :ref:`configuration <common-positioning-landing-page>`
7880
Compass offsets too high Compass offset params are too large Relocate compass away from metal in the frame and repeat :ref:`compass calibration <common-compass-calibration-in-mission-planner>`. Disable internal compass. Increase :ref:`COMPASS_OFFS_MAX <COMPASS_OFFS_MAX>`.
7981
Compasses inconsistent Two compasses angles or field strength disagree Check compass orientations (e.g. :ref:`COMPASS_ORIENT <COMPASS_ORIENT>`). Move compass away from metal in the frame. repeat :ref:`compass calibration <common-compass-calibration-in-mission-planner>`. Disable internal compass.
@@ -313,201 +315,6 @@ Pre-arm checks that are failing will also be sent as messages to the GCS while d
313315
Waiting for RC RC failsafe enabled but no RC signal Turn on RC transmitter or check RC transmitters connection to autopilot. If operating with only a GCS, see :ref:`common-gcs-only-operation`
314316
======================================================= =================================================== ====================================================
315317
[/site]
316-
Other Failure messages
317-
======================
318-
319-
Failsafes:
320-
----------
321-
322-
Any failsafe (RC, Battery, GCS,etc.) will display a message and prevent arming.
323-
324-
325-
Barometer failures:
326-
-------------------
327-
328-
**Baro not healthy** : the barometer sensor is reporting that it is
329-
unhealthy which is normally a sign of a hardware failure.
330-
331-
**Alt disparity** : the barometer altitude disagrees with the inertial
332-
navigation (i.e. Baro + Accelerometer) altitude estimate by more than 1
333-
meters. This message is normally short-lived and can occur when the
334-
autopilot is first plugged in or if it receives a hard jolt
335-
(i.e. dropped suddenly). If it does not clear the :ref:`accelerometers may need to be calibrated <common-accelerometer-calibration>` or there may
336-
be a barometer hardware issue.
337-
338-
Compass failures:
339-
-----------------
340-
341-
**Compass X not healthy** : the compass X sensor is reporting that it is
342-
unhealthy, which is a sign of a possible hardware failure.
343-
344-
**Compass not calibrated** : the :ref:`compass(es) has not been calibrated <common-compass-calibration-in-mission-planner>`. the
345-
``COMPASS_OFS_X, _Y, _Z`` parameters are zero or the number or type of
346-
compasses connected has been changed since the last compass calibration
347-
was performed.
348-
349-
**Compass offsets too high** : the primary compass's offsets length
350-
(i.e. sqrt(x^2+y^2+z^2)) are larger than 500. This can be caused by
351-
metal objects being placed too close to the compass. If only an
352-
internal compass is being used (not recommended), it may simply be the
353-
metal in the board that is causing the large offsets and this may not
354-
actually be a problem in which case you may wish to disable the compass
355-
check.
356-
357-
**Check mag field** : This can result from failing two different checks. First, the sensed magnetic field in the area is 35%
358-
higher or lower than the expected value. The expected length is 530 so
359-
it's > 874 or < 185. Also, besides this rough check, when the vehicle's position has been obtained (GPS lock), another check against the field strength predicted using the internal World Magnetic Field database is done with much tighter limits. If you are failing this, either the :ref:`compass calibration <common-compass-calibration-in-mission-planner>` has not calculated good offsets and calibration should be repeated, or your vehicle is near a large metallic or magnetic disturbance and will need to be relocated.
360-
361-
**Compasses inconsistent** : the internal and external compasses are
362-
pointing in different directions (off by >45 degrees). This is normally
363-
caused by the external compasses orientation (i.e. :ref:`COMPASS_ORIENT<COMPASS_ORIENT>`
364-
parameter) being set incorrectly.
365-
366-
GPS related failures:
367-
---------------------
368-
369-
**GPS Glitch** : the :ref:`GPS is glitching <gps-failsafe-glitch-protection>` and the vehicle
370-
is in a flight mode that requires GPS (i.e. Loiter, PosHold, etc) and/or
371-
the :ref:`cylindrical fence <common-ac2_simple_geofence>` is enabled.
372-
373-
**Need 3D Fix** : the GPS does not have a 3D fix and the vehicle is in a
374-
flight mode that requires the GPS and/or the :ref:`cylindrical fence <common-ac2_simple_geofence>` is enabled.
375-
376-
**Bad Velocity** : the vehicle's velocity (according to inertial
377-
navigation system) is above 50cm/s. Issues that could lead to this
378-
include the vehicle actually moving or being dropped, bad accelerometer
379-
calibration, GPS updating at below the expected 5hz.
380-
381-
**High GPS HDOP** : the GPS's HDOP value (a measure of the position
382-
accuracy) is above 2.0 and the vehicle is in a flight mode that requires
383-
GPS and/or the :ref:`cylindrical fence <common-ac2_simple_geofence>` is enabled.
384-
This may be resolved by simply waiting a few minutes, moving to a
385-
location with a better view of the sky or checking sources of GPS
386-
interference (i.e. FPV equipment) are moved further from the GPS.
387-
Alternatively the check can be relaxed by increasing the :ref:`GPS_HDOP_GOOD<GPS_HDOP_GOOD>`
388-
parameter to 2.2 or 2.5. Worst case the pilot may disable the fence and
389-
take-off in a mode that does not require the GPS (i.e. Stabilize,
390-
AltHold) and switch into Loiter after arming but this is not
391-
recommended.
392-
393-
Note: the GPS HDOP can be readily viewed through the Mission Planner's
394-
Quick tab as shown below.
395-
396-
.. image:: ../../../images/MP_QuicHDOP.jpg
397-
:target: ../_images/MP_QuicHDOP.jpg
398-
399-
INS checks (i.e. Accelerometer and Gyro checks):
400-
------------------------------------------------
401-
402-
**INS not calibrated**: some or all of the accelerometer's offsets are
403-
zero. The :ref:`accelerometers need to be calibrated <common-accelerometer-calibration>`.
404-
405-
**Accels not healthy**: one of the accelerometers is reporting it is not
406-
healthy which could be a hardware issue. This can also occur
407-
immediately after a firmware update before the board has been restarted.
408-
409-
**Accels inconsistent**: the accelerometers are reporting accelerations
410-
which are different by at least 1m/s/s. The :ref:`accelerometers need to be re-calibrated <common-accelerometer-calibration>` or there is a
411-
hardware issue.
412-
413-
**Gyros not healthy**: one of the gyroscopes is reporting it is
414-
unhealthy which is likely a hardware issue. This can also occur
415-
immediately after a firmware update before the board has been restarted.
416-
417-
**Gyro cal failed**: the gyro calibration failed to capture offsets.
418-
This is most often caused by the vehicle being moved during the gyro
419-
calibration (when red and blue lights are flashing) in which case
420-
unplugging the battery and plugging it in again while being careful not
421-
to jostle the vehicle will likely resolve the issue. Sensors hardware
422-
failures (i.e. spikes) can also cause this failure.
423-
424-
**Gyros inconsistent**: two gyroscopes are reporting vehicle rotation
425-
rates that differ by more than 20deg/sec. This is likely a hardware
426-
failure or caused by a bad gyro calibration.
427-
428-
Board Voltage checks:
429-
---------------------
430-
431-
**Check Board Voltage**: the board's internal voltage is below 4.3 Volts
432-
or above 5.8 Volts.
433-
434-
If powered through a USB cable (i.e. while on the bench) this can be
435-
caused by the desktop computer being unable to provide sufficient
436-
current to the autopilot - try replacing the USB cable.
437-
438-
If powered from a battery this is a serious problem and the power system
439-
(i.e. Power Module, battery, etc) should be carefully checked before
440-
flying.
441-
442-
Parameter checks:
443-
-----------------
444-
445-
**Ch7&Ch8 Opt cannot be same**: :ref:`Auxiliary Function Switches <channel-7-and-8-options>` are set to the same option which is not permitted because it could lead to confusion.
446-
447-
**Check FS_THR_VALUE**: the :ref:`radio failsafe pwm value <radio-failsafe>` has been set too close to the throttle channels (i.e. ch3) minimum.
448-
449-
**Check ANGLE_MAX**: the :ref:`ATC_ANGLE_MAX<ATC_ANGLE_MAX>` parameter which controls the
450-
vehicle's maximum lean angle has been set below 10 degrees (i.e. 10)
451-
or above 80 degrees (i.e. 80).
452-
453-
**ACRO_BAL_ROLL/PITCH**: the :ref:`ACRO_BAL_ROLL<ACRO_BAL_ROLL>` parameter is higher than
454-
the Stabilize Roll P and/or :ref:`ACRO_BAL_PITCH<ACRO_BAL_PITCH>` parameter is higher than
455-
the Stabilize Pitch P value. This could lead to the pilot being unable
456-
to control the lean angle in ACRO mode because the :ref:`Acro Trainer stabilization <acro-mode_acro_trainer>` would overpower the pilot's
457-
input.
458-
459-
Battery/Power Monitor:
460-
----------------------
461-
462-
If a power monitor voltage is below its failsafe low or critical voltages or failsafe remaining capacity low or critical set points, this check will fail and indicate which set point it is below. It will also fail if these set points are inverted, ie critical point is higher than low point. See :ref:`failsafe-battery` for Copter, :ref:`apms-failsafe-function` for Plane, or :ref:`rover-failsafes` for Rover for more information on these.
463-
464-
In addition, minimum arming voltage and remaining capacity parameters for each battery/power monitor can be set, for example :ref:`BATT_ARM_VOLT<BATT_ARM_VOLT>` and :ref:`BATT_ARM_MAH<BATT_ARM_MAH>` for the first battery, to provide a check that the battery is not only above failsafe levels, but also has enough capacity for operation.
465-
466-
Airspeed:
467-
---------
468-
469-
If an airspeed sensor is configured, and it is not providing a reading or failed to calibrate, this check will fail.
470-
471-
**Airspeed not healthy**
472-
473-
Logging:
474-
--------
475-
476-
**Logging failed**: Logging pre-armed was enabled but failed to write to the log.
477-
478-
**No SD Card**: Logging is enabled, but no SD card is detected.
479-
480-
Safety Switch:
481-
--------------
482-
483-
**Hardware safety switch**: Hardware safety switch has not been pushed.
484-
485-
System:
486-
-------
487-
488-
**Param storage failed**: A check of reading the parameter storage area failed.
489-
490-
**Internal errors (0xx)**: An internal error has occurred. Report to ArduPilot development team `here <https://github.com/ArduPilot/ardupilot/issues/15916>`_
491-
492-
**KDECAN Failed**: KDECAN system failure.
493-
494-
**DroneCAN Failed**: DroneCAN system failure.
495-
496-
Mission:
497-
--------
498-
499-
See :ref:`ARMING_MIS_ITEMS<ARMING_MIS_ITEMS>`
500-
501-
**No mission library present**: Mission checking is enabled, but no mission is loaded.
502-
503-
**No rally library present**: Rally point checking is enabled, but no rally points loaded.
504-
505-
**Missing mission item: xxxx**: A required mission items is missing.
506-
507-
Rangefinder:
508-
------------
509-
510-
IF a rangefinder has been configured, a reporting error has occurred.
511318

512319
Disabling the Pre-arm Safety Check
513320
==================================

0 commit comments

Comments
 (0)