diff --git a/ArduPlane/GCS_Mavlink.cpp b/ArduPlane/GCS_Mavlink.cpp index 1ec1b15f74..68fdaed0d9 100644 --- a/ArduPlane/GCS_Mavlink.cpp +++ b/ArduPlane/GCS_Mavlink.cpp @@ -14,7 +14,7 @@ void Plane::send_heartbeat(mavlink_channel_t chan) uint8_t system_status; uint32_t custom_mode = control_mode; - if (failsafe.state != FAILSAFE_NONE || failsafe.low_battery) { + if (failsafe.state != FAILSAFE_NONE || failsafe.low_battery || failsafe.adsb) { system_status = MAV_STATE_CRITICAL; } else if (plane.crash_state.is_crashed) { system_status = MAV_STATE_EMERGENCY; diff --git a/ArduPlane/Plane.h b/ArduPlane/Plane.h index 00f3c65ff6..fe1da8436b 100644 --- a/ArduPlane/Plane.h +++ b/ArduPlane/Plane.h @@ -350,6 +350,9 @@ private: // flag to hold whether battery low voltage threshold has been breached uint8_t low_battery:1; + // true if an adsb related failsafe has occurred + uint8_t adsb:1; + // saved flight mode enum FlightMode saved_mode;