diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc index 60b5e9d87b3bbd6748cf979a31e9fbd1f0a9562b..62af025a5773b2f8287cf7cabbabc2ecf6737181 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc @@ -174,6 +174,12 @@ void ArduSubFirmwarePlugin::initializeStreamRates(Vehicle* vehicle) { vehicle->requestDataStream(MAV_DATA_STREAM_EXTRA3, 3); } +bool ArduSubFirmwarePlugin::isCapable(const Vehicle* vehicle, FirmwareCapabilities capabilities) +{ + Q_UNUSED(vehicle); + uint32_t available = SetFlightModeCapability | PauseVehicleCapability; + return (capabilities & available) == capabilities; +} bool ArduSubFirmwarePlugin::supportsThrottleModeCenterZero(void) { diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h index 577bd5284183d538fca77a6961f58605fa805448..1d69bfbfb854760a37e0b16f8c5d874a7f60819f 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h @@ -117,6 +117,8 @@ public: void initializeStreamRates(Vehicle* vehicle) override final; + bool isCapable(const Vehicle *vehicle, FirmwareCapabilities capabilities) final; + bool supportsThrottleModeCenterZero(void) final; bool supportsRadio(void) final;