From cb1b23643903573a57d307cb412414f1b64ba11e Mon Sep 17 00:00:00 2001 From: Michael du Breuil Date: Wed, 16 Oct 2019 20:47:39 -0700 Subject: [PATCH] GCS_MAVLink: Use the vehicle singleton to directly set the flight mode --- libraries/GCS_MAVLink/GCS.h | 1 - libraries/GCS_MAVLink/GCS_Common.cpp | 2 +- libraries/GCS_MAVLink/GCS_Dummy.h | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/GCS_MAVLink/GCS.h b/libraries/GCS_MAVLink/GCS.h index ef748b695c..9030f13f8e 100644 --- a/libraries/GCS_MAVLink/GCS.h +++ b/libraries/GCS_MAVLink/GCS.h @@ -285,7 +285,6 @@ protected: // overridable method to check for packet acceptance. Allows for // enforcement of GCS sysid bool accept_packet(const mavlink_status_t &status, const mavlink_message_t &msg); - virtual bool set_mode(uint8_t mode) = 0; void set_ekf_origin(const Location& loc); virtual MAV_MODE base_mode() const = 0; diff --git a/libraries/GCS_MAVLink/GCS_Common.cpp b/libraries/GCS_MAVLink/GCS_Common.cpp index 926818f2c7..ebdf4756be 100644 --- a/libraries/GCS_MAVLink/GCS_Common.cpp +++ b/libraries/GCS_MAVLink/GCS_Common.cpp @@ -2013,7 +2013,7 @@ MAV_RESULT GCS_MAVLINK::_set_mode_common(const MAV_MODE _base_mode, const uint32 MAV_RESULT result = MAV_RESULT_UNSUPPORTED; // only accept custom modes because there is no easy mapping from Mavlink flight modes to AC flight modes if (_base_mode & MAV_MODE_FLAG_CUSTOM_MODE_ENABLED) { - if (set_mode(_custom_mode)) { + if (AP::vehicle()->set_mode(_custom_mode, ModeReason::GCS_COMMAND)) { result = MAV_RESULT_ACCEPTED; } } else if (_base_mode == (MAV_MODE)MAV_MODE_FLAG_DECODE_POSITION_SAFETY) { diff --git a/libraries/GCS_MAVLink/GCS_Dummy.h b/libraries/GCS_MAVLink/GCS_Dummy.h index c3d5664cbd..a6e3334294 100644 --- a/libraries/GCS_MAVLink/GCS_Dummy.h +++ b/libraries/GCS_MAVLink/GCS_Dummy.h @@ -38,7 +38,6 @@ private: protected: uint8_t sysid_my_gcs() const override { return 1; } - bool set_mode(uint8_t mode) override { return false; }; // dummy information: MAV_MODE base_mode() const override { return (MAV_MODE)MAV_MODE_FLAG_CUSTOM_MODE_ENABLED; }