From 30130173690cce8cbbc9bf513cdd72e0463d13fb Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Fri, 30 Jul 2021 22:25:40 +1000 Subject: [PATCH] AP_AdvancedFailsafe: use mission singleton inside AP_AdvancedFailsafe --- libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp | 7 +++++++ libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp b/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp index 9ca764dada..5004afa0ae 100644 --- a/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp +++ b/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp @@ -26,6 +26,7 @@ #include #include #include +#include AP_AdvancedFailsafe *AP_AdvancedFailsafe::_singleton; @@ -208,6 +209,12 @@ AP_AdvancedFailsafe::check(bool geofence_breached, uint32_t last_valid_rc_ms) bool gcs_link_ok = ((now - last_heartbeat_ms) < 10000); bool gps_lock_ok = ((now - AP::gps().last_fix_time_ms()) < 3000); + AP_Mission *_mission = AP::mission(); + if (_mission == nullptr) { + return; + } + AP_Mission &mission = *_mission; + switch (_state) { case STATE_PREFLIGHT: // we startup in preflight mode. This mode ends when diff --git a/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h b/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h index 499b2edb74..3cb7e85f1c 100644 --- a/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h +++ b/libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h @@ -22,9 +22,8 @@ #include #include -#include #include - +#include class AP_AdvancedFailsafe { @@ -52,8 +51,7 @@ public: AP_AdvancedFailsafe &operator=(const AP_AdvancedFailsafe&) = delete; // Constructor - AP_AdvancedFailsafe(AP_Mission &_mission) : - mission(_mission) + AP_AdvancedFailsafe() { AP_Param::setup_object_defaults(this, var_info); if (_singleton != nullptr) { @@ -106,8 +104,6 @@ protected: enum state _state; - AP_Mission &mission; - AP_Int8 _enable; // digital output pins for communicating with the failsafe board AP_Int8 _heartbeat_pin;