From 8b766efb0ad68bbb0cae2740a9b7836d4df1629d Mon Sep 17 00:00:00 2001 From: Andy Piper Date: Sun, 9 Aug 2020 18:31:59 +0200 Subject: [PATCH] GCS_MAVLink: add support for updating OSD parameters over mavlink --- libraries/GCS_MAVLink/GCS.h | 2 ++ libraries/GCS_MAVLink/GCS_Common.cpp | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/libraries/GCS_MAVLink/GCS.h b/libraries/GCS_MAVLink/GCS.h index faa94367f0..780760c918 100644 --- a/libraries/GCS_MAVLink/GCS.h +++ b/libraries/GCS_MAVLink/GCS.h @@ -394,6 +394,8 @@ protected: void handle_distance_sensor(const mavlink_message_t &msg); void handle_obstacle_distance(const mavlink_message_t &msg); + void handle_osd_param_config(const mavlink_message_t &msg); + void handle_common_param_message(const mavlink_message_t &msg); void handle_param_set(const mavlink_message_t &msg); void handle_param_request_list(const mavlink_message_t &msg); diff --git a/libraries/GCS_MAVLink/GCS_Common.cpp b/libraries/GCS_MAVLink/GCS_Common.cpp index 0e1159ed9a..d3ab2ccb1d 100644 --- a/libraries/GCS_MAVLink/GCS_Common.cpp +++ b/libraries/GCS_MAVLink/GCS_Common.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -3168,6 +3169,16 @@ void GCS_MAVLINK::handle_obstacle_distance(const mavlink_message_t &msg) } } +void GCS_MAVLINK::handle_osd_param_config(const mavlink_message_t &msg) +{ +#if OSD_ENABLED + AP_OSD *osd = AP::osd(); + if (osd != nullptr) { + osd->handle_msg(msg, *this); + } +#endif +} + /* handle messages which don't require vehicle specific data */ @@ -3354,6 +3365,10 @@ void GCS_MAVLINK::handle_common_message(const mavlink_message_t &msg) handle_obstacle_distance(msg); break; + case MAVLINK_MSG_ID_OSD_PARAM_CONFIG: + case MAVLINK_MSG_ID_OSD_PARAM_SHOW_CONFIG: + handle_osd_param_config(msg); + break; } }