From 26367517d16568356d23e90368a9fd54db541b48 Mon Sep 17 00:00:00 2001 From: Jacob Walser Date: Fri, 7 Apr 2017 16:52:48 -0400 Subject: [PATCH] Add GuidedModeCapability to ArduPlane fw plugin --- src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc | 9 +++++++++ src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc index 996551e100..c621be81a4 100644 --- a/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc @@ -86,3 +86,12 @@ int ArduPlaneFirmwarePlugin::remapParamNameHigestMinorVersionNumber(int majorVer // Remapping supports up to 3.8 return majorVersionNumber == 3 ? 8 : Vehicle::versionNotSetValue; } + +bool ArduPlaneFirmwarePlugin::isCapable(const Vehicle* vehicle, FirmwareCapabilities capabilities) +{ + Q_UNUSED(vehicle); + + uint32_t vehicleCapabilities = SetFlightModeCapability | GuidedModeCapability | PauseVehicleCapability; + + return (capabilities & vehicleCapabilities) == capabilities; +} diff --git a/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h index dfa4340813..ab038b804c 100644 --- a/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h @@ -59,6 +59,7 @@ public: QString offlineEditingParamFile(Vehicle* vehicle) final { Q_UNUSED(vehicle); return QStringLiteral(":/FirmwarePlugin/APM/Plane.OfflineEditing.params"); } const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; } int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final; + bool isCapable(const Vehicle *vehicle, FirmwareCapabilities capabilities) final; private: static bool _remapParamNameIntialized; -- GitLab