From ed5da4ead200e5787811049d7104c8e66e7ba338 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Sat, 2 Sep 2023 15:21:36 +1000 Subject: [PATCH] GCS_MAVLink: allow more libraries to compile with no HAL_GCS_ENABLED --- libraries/GCS_MAVLink/GCS.cpp | 6 ++++++ libraries/GCS_MAVLink/GCS.h | 4 ++++ libraries/GCS_MAVLink/GCS_Common.cpp | 7 +++++++ libraries/GCS_MAVLink/GCS_Dummy.cpp | 7 +++++++ libraries/GCS_MAVLink/GCS_Dummy.h | 6 ++++++ libraries/GCS_MAVLink/GCS_FTP.cpp | 7 +++++++ libraries/GCS_MAVLink/GCS_Fence.cpp | 5 +++-- libraries/GCS_MAVLink/GCS_MAVLink.cpp | 7 +++++++ libraries/GCS_MAVLink/GCS_Param.cpp | 7 +++++++ libraries/GCS_MAVLink/GCS_Signing.cpp | 5 +++++ libraries/GCS_MAVLink/MAVLink_routing.cpp | 5 +++++ libraries/GCS_MAVLink/MissionItemProtocol.cpp | 6 ++++++ libraries/GCS_MAVLink/MissionItemProtocol_Fence.cpp | 9 ++++++--- libraries/GCS_MAVLink/MissionItemProtocol_Rally.cpp | 9 ++++++--- libraries/GCS_MAVLink/MissionItemProtocol_Waypoints.cpp | 7 +++++++ 15 files changed, 89 insertions(+), 8 deletions(-) diff --git a/libraries/GCS_MAVLink/GCS.cpp b/libraries/GCS_MAVLink/GCS.cpp index 7ff1e7ec3c..20601f8e79 100644 --- a/libraries/GCS_MAVLink/GCS.cpp +++ b/libraries/GCS_MAVLink/GCS.cpp @@ -1,3 +1,7 @@ +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS.h" #include @@ -375,3 +379,5 @@ bool GCS_MAVLINK::check_payload_size(uint16_t max_payload_len) } return true; } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS.h b/libraries/GCS_MAVLink/GCS.h index c5f847e408..de4e7c8010 100644 --- a/libraries/GCS_MAVLink/GCS.h +++ b/libraries/GCS_MAVLink/GCS.h @@ -1329,6 +1329,8 @@ void can_printf(const char *fmt, ...); #define GCS_SEND_TEXT(severity, format, args...) (void)severity; can_printf(format, ##args) #endif +#define GCS_SEND_MESSAGE(msg) gcs().send_message(msg) + #elif defined(HAL_BUILD_AP_PERIPH) && !defined(STM32F1) // map send text to can_printf() on larger AP_Periph boards @@ -1336,10 +1338,12 @@ extern "C" { void can_printf(const char *fmt, ...); } #define GCS_SEND_TEXT(severity, format, args...) can_printf(format, ##args) +#define GCS_SEND_MESSAGE(msg) #else // HAL_GCS_ENABLED // empty send text when we have no GCS #define GCS_SEND_TEXT(severity, format, args...) +#define GCS_SEND_MESSAGE(msg) #endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Common.cpp b/libraries/GCS_MAVLink/GCS_Common.cpp index de79b6d764..ea624cd7f0 100644 --- a/libraries/GCS_MAVLink/GCS_Common.cpp +++ b/libraries/GCS_MAVLink/GCS_Common.cpp @@ -14,6 +14,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ + +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS.h" #include @@ -6709,3 +6714,5 @@ MAV_RESULT GCS_MAVLINK::handle_control_high_latency(const mavlink_command_long_t return MAV_RESULT_ACCEPTED; } #endif // HAL_HIGH_LATENCY2_ENABLED + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Dummy.cpp b/libraries/GCS_MAVLink/GCS_Dummy.cpp index 135318e313..8b70c6c26c 100644 --- a/libraries/GCS_MAVLink/GCS_Dummy.cpp +++ b/libraries/GCS_MAVLink/GCS_Dummy.cpp @@ -1,4 +1,9 @@ +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS_Dummy.h" + #include #define FORCE_VERSION_H_INCLUDE @@ -22,3 +27,5 @@ void GCS_Dummy::send_textv(MAV_SEVERITY severity, const char *fmt, va_list arg_l ::printf("\n"); #endif } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Dummy.h b/libraries/GCS_MAVLink/GCS_Dummy.h index e588bf5c1c..2d273d58bd 100644 --- a/libraries/GCS_MAVLink/GCS_Dummy.h +++ b/libraries/GCS_MAVLink/GCS_Dummy.h @@ -1,3 +1,7 @@ +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS.h" #include @@ -72,3 +76,5 @@ private: MAV_TYPE frame_type() const override { return MAV_TYPE_FIXED_WING; } uint32_t custom_mode() const override { return 3; } // magic number }; + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_FTP.cpp b/libraries/GCS_MAVLink/GCS_FTP.cpp index 0ba3a1392b..71eef91f42 100644 --- a/libraries/GCS_MAVLink/GCS_FTP.cpp +++ b/libraries/GCS_MAVLink/GCS_FTP.cpp @@ -14,6 +14,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ + +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include #include "GCS.h" @@ -696,3 +701,5 @@ void GCS_MAVLINK::ftp_list_dir(struct pending_ftp &request, struct pending_ftp & AP::FS().closedir(dir); } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Fence.cpp b/libraries/GCS_MAVLink/GCS_Fence.cpp index abe3e59aef..5d93d7644b 100644 --- a/libraries/GCS_MAVLink/GCS_Fence.cpp +++ b/libraries/GCS_MAVLink/GCS_Fence.cpp @@ -1,6 +1,7 @@ +#include "GCS_config.h" #include -#if AP_FENCE_ENABLED +#if HAL_GCS_ENABLED && AP_FENCE_ENABLED #include "GCS.h" @@ -103,4 +104,4 @@ void GCS_MAVLINK::send_fence_status() const breach_mitigation); } -#endif +#endif // HAL_GCS_ENABLED && AP_FENCE_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_MAVLink.cpp b/libraries/GCS_MAVLink/GCS_MAVLink.cpp index 41ef15b497..3a061656b4 100644 --- a/libraries/GCS_MAVLink/GCS_MAVLink.cpp +++ b/libraries/GCS_MAVLink/GCS_MAVLink.cpp @@ -19,6 +19,11 @@ This provides some support code and variables for MAVLink enabled sketches */ + +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS.h" #include "GCS_MAVLink.h" @@ -173,3 +178,5 @@ HAL_Semaphore &comm_chan_lock(mavlink_channel_t chan) { return chan_locks[uint8_t(chan)]; } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Param.cpp b/libraries/GCS_MAVLink/GCS_Param.cpp index 45b4ebd072..75cc85b63f 100644 --- a/libraries/GCS_MAVLink/GCS_Param.cpp +++ b/libraries/GCS_MAVLink/GCS_Param.cpp @@ -14,6 +14,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ + +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include #include "GCS.h" @@ -461,3 +466,5 @@ void GCS_MAVLINK::handle_common_param_message(const mavlink_message_t &msg) break; } } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/GCS_Signing.cpp b/libraries/GCS_MAVLink/GCS_Signing.cpp index c0dff3b80a..394d669a9c 100644 --- a/libraries/GCS_MAVLink/GCS_Signing.cpp +++ b/libraries/GCS_MAVLink/GCS_Signing.cpp @@ -15,6 +15,10 @@ along with this program. If not, see . */ +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "GCS.h" extern const AP_HAL::HAL& hal; @@ -259,3 +263,4 @@ uint8_t GCS_MAVLINK::packet_overhead_chan(mavlink_channel_t chan) return MAVLINK_NUM_NON_PAYLOAD_BYTES + reserved_space; } +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/MAVLink_routing.cpp b/libraries/GCS_MAVLink/MAVLink_routing.cpp index 8015102a47..2c05833e61 100644 --- a/libraries/GCS_MAVLink/MAVLink_routing.cpp +++ b/libraries/GCS_MAVLink/MAVLink_routing.cpp @@ -16,6 +16,10 @@ /// @file MAVLink_routing.h /// @brief handle routing of MAVLink packets by sysid/componentid +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include #include #include @@ -405,3 +409,4 @@ void MAVLink_routing::get_targets(const mavlink_message_t &msg, int16_t &sysid, } } +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/MissionItemProtocol.cpp b/libraries/GCS_MAVLink/MissionItemProtocol.cpp index 63ca81965f..302f9dd833 100644 --- a/libraries/GCS_MAVLink/MissionItemProtocol.cpp +++ b/libraries/GCS_MAVLink/MissionItemProtocol.cpp @@ -1,3 +1,7 @@ +#include "GCS_config.h" + +#if HAL_GCS_ENABLED + #include "MissionItemProtocol.h" #include "GCS.h" @@ -380,3 +384,5 @@ void MissionItemProtocol::update() link->send_message(next_item_ap_message_id()); } } + +#endif // HAL_GCS_ENABLED diff --git a/libraries/GCS_MAVLink/MissionItemProtocol_Fence.cpp b/libraries/GCS_MAVLink/MissionItemProtocol_Fence.cpp index 5c308ea5db..bea8f3dd89 100644 --- a/libraries/GCS_MAVLink/MissionItemProtocol_Fence.cpp +++ b/libraries/GCS_MAVLink/MissionItemProtocol_Fence.cpp @@ -1,11 +1,14 @@ +#include "GCS_config.h" +#include + +#if HAL_GCS_ENABLED && AP_FENCE_ENABLED + #include "MissionItemProtocol_Fence.h" #include #include #include -#if AP_FENCE_ENABLED - /* public function to format mission item as mavlink_mission_item_int_t */ @@ -244,4 +247,4 @@ MAV_MISSION_RESULT MissionItemProtocol_Fence::allocate_update_resources() return MAV_MISSION_ACCEPTED; } -#endif // AP_FENCE_ENABLED +#endif // HAL_GCS_ENABLED && AP_FENCE_ENABLED diff --git a/libraries/GCS_MAVLink/MissionItemProtocol_Rally.cpp b/libraries/GCS_MAVLink/MissionItemProtocol_Rally.cpp index 2c7a57c0a6..8ba19415ba 100644 --- a/libraries/GCS_MAVLink/MissionItemProtocol_Rally.cpp +++ b/libraries/GCS_MAVLink/MissionItemProtocol_Rally.cpp @@ -16,14 +16,17 @@ along with this program. If not, see . */ +#include "GCS_config.h" +#include + +#if HAL_GCS_ENABLED && HAL_RALLY_ENABLED + #include "MissionItemProtocol_Rally.h" #include #include #include -#if HAL_RALLY_ENABLED - MAV_MISSION_RESULT MissionItemProtocol_Rally::append_item(const mavlink_mission_item_int_t &cmd) { RallyLocation rallyloc; @@ -139,4 +142,4 @@ void MissionItemProtocol_Rally::truncate(const mavlink_mission_count_t &packet) rally.truncate(packet.count); } -#endif // HAL_RALLY_ENABLED +#endif // HAL_GCS_ENABLED && HAL_RALLY_ENABLED diff --git a/libraries/GCS_MAVLink/MissionItemProtocol_Waypoints.cpp b/libraries/GCS_MAVLink/MissionItemProtocol_Waypoints.cpp index 6878ae92bb..311b27e157 100644 --- a/libraries/GCS_MAVLink/MissionItemProtocol_Waypoints.cpp +++ b/libraries/GCS_MAVLink/MissionItemProtocol_Waypoints.cpp @@ -16,6 +16,11 @@ along with this program. If not, see . */ +#include "GCS_config.h" +#include + +#if HAL_GCS_ENABLED && AP_MISSION_ENABLED + #include "MissionItemProtocol_Waypoints.h" #include @@ -139,3 +144,5 @@ void MissionItemProtocol_Waypoints::truncate(const mavlink_mission_count_t &pack // new mission arriving, truncate mission to be the same length mission.truncate(packet.count); } + +#endif // HAL_GCS_ENABLED && AP_MISSION_ENABLED