From 9c1a22e74eda968495555fca6d8f103308452fa1 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 24 Jul 2025 10:50:30 +1000 Subject: [PATCH] Improve flight termination docs --- docs/en/advanced_config/flight_termination.md | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/docs/en/advanced_config/flight_termination.md b/docs/en/advanced_config/flight_termination.md index f54224328d..b08f3b7808 100644 --- a/docs/en/advanced_config/flight_termination.md +++ b/docs/en/advanced_config/flight_termination.md @@ -1,12 +1,33 @@ # Flight Termination Configuration -The _Flight termination_ [failsafe action](../config/safety.md#failsafe-actions) may be triggered by a [safety check](../config/safety.md) (e.g. RC Loss, geofence violation, etc. on any vehicle type or in any flight mode), by the [Failure Detector](../config/safety.md#failure-detector), or manually by toggling a termination switch mapped to an RC channel (see [RC_MAP_TERM_SW](../advanced_config/parameter_reference.md#RC_MAP_TERM_SW)). +The _Flight termination_ [failsafe action](../config/safety.md#failsafe-actions) irreversibly turns off controllers and sets PWM values to their parameter configured failsafe values. ::: info -Flight termination may also be triggered from a ground station or companion computer using the MAVLink [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command. -This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods. +Flight termination differs from the [Kill action](../config/safety.html#kill-switch) in that it is permanent until after reboot. ::: +::: warning +This is _not_ an independent _Flight Termination System_. +If power is lost or if the autopilot crashes completely, the failsafe devices will not be triggered. +::: + +## Overview + +### Termination Triggers + +Termination may be triggered by: + +- [Safety checks](../config/safety.md) for RC Loss, geofence violation, and so on (on any vehicle type or in any flight mode). +- [Failure Detector](../config/safety.md#failure-detector) trigger +- RC termination switch (mapped to an RC channel using [RC_MAP_TERM_SW](../advanced_config/parameter_reference.md#RC_MAP_TERM_SW)). +- The MAVLink [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) MAVLink command from a GCS or companion computer (see [MAVLink Trigger](#mavlink-trigger) below). + +There is no way to recover from flight termination. +After triggering you should unplug the battery as soon as possible. +You will need to reboot/power cycle the vehicle before it can be used again. + +### Termination Actions + When _Flight termination_ is activated, PX4 simultaneously turns off all controllers and sets all PWM outputs to their failsafe values. Depending on what devices are connected, the PWM failsafe outputs can be used to: @@ -17,10 +38,6 @@ Depending on what devices are connected, the PWM failsafe outputs can be used to - Trigger an inflatable device like an airbag. - Trigger an alarm. -There is no way to recover from flight termination. -After triggering you should unplug the battery as soon as possible. -You will need to reboot/power cycle the vehicle before it can be used again. - :::tip PX4 does not know what safety devices are attached - it just applies a predefined set of PWM values to its outputs. ::: @@ -30,11 +47,6 @@ Failsafe values are applied to all outputs on termination. There is no way to configure independent time-based (or other) triggering of the motors or specific safety devices. ::: -::: info -This is _not_ an independent _Flight Termination System_. -If power is lost or if the autopilot crashes completely, the failsafe devices will not be triggered. -::: - ## Hardware Configuration Any _safety device(s)_ (e.g. a [parachute](../peripherals/parachute.md)) that can be triggered by changing a PWM value can be used, and may be connected to any free PWM port (both MAIN and AUX). @@ -74,6 +86,12 @@ Flight termination via ATS only works if `drivers/pwm_input` is included in the If not, you need to add it manually to your board configuration using [boardconfig](../hardware/porting_guide_config.md#px4-menuconfig-setup). ::: +## MAVLink Trigger + +The [MAV_CMD_DO_FLIGHTTERMINATION](https://mavlink.io/en/messages/common.html#MAV_CMD_DO_FLIGHTTERMINATION) command can be used to trigger Flight termination from a ground station or companion computer. + +This is sent, for example, when you call the [MAVSDK Action plugin](https://mavsdk.mavlink.io/main/en/cpp/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1a47536c4a4bc8367ccd30a92eb09781c5) `terminate()` or `terminate_async()` methods. + ## Logic Diagram The diagram below shows the logical flow around flight termination.