Browse Source

AP_AdvancedFailsafe: use mission singleton inside AP_AdvancedFailsafe

gps-1.3.1
Peter Barker 4 years ago committed by Andrew Tridgell
parent
commit
3013017369
  1. 7
      libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp
  2. 8
      libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h

7
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp

@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
#include <GCS_MAVLink/GCS.h>
#include <AP_GPS/AP_GPS.h>
#include <AP_Baro/AP_Baro.h>
#include <AP_Mission/AP_Mission.h>
AP_AdvancedFailsafe *AP_AdvancedFailsafe::_singleton;
@ -208,6 +209,12 @@ AP_AdvancedFailsafe::check(bool geofence_breached, uint32_t last_valid_rc_ms) @@ -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

8
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.h

@ -22,9 +22,8 @@ @@ -22,9 +22,8 @@
#include <AP_Common/AP_Common.h>
#include <AP_Param/AP_Param.h>
#include <AP_Mission/AP_Mission.h>
#include <inttypes.h>
#include <AP_Common/Location.h>
class AP_AdvancedFailsafe
{
@ -52,8 +51,7 @@ public: @@ -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: @@ -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;

Loading…
Cancel
Save