/**************************************************************************** * * (c) 2009-2016 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ /// @file /// @author Pritam Ghanghas #ifndef ArduPlaneFirmwarePlugin_H #define ArduPlaneFirmwarePlugin_H #include "APMFirmwarePlugin.h" class APMPlaneMode: public APMCustomMode { public: enum Mode { MANUAL = 0, CIRCLE = 1, STABILIZE = 2, TRAINING = 3, ACRO = 4, FLY_BY_WIRE_A = 5, FLY_BY_WIRE_B = 6, CRUISE = 7, AUTOTUNE = 8, RESERVED_9 = 9, // RESERVED FOR FUTURE USE AUTO = 10, RTL = 11, LOITER = 12, RESERVED_13 = 13, // RESERVED FOR FUTURE USE RESERVED_14 = 14, // RESERVED FOR FUTURE USE GUIDED = 15, INITIALIZING = 16, QSTABILIZE = 17, QHOVER = 18, QLOITER = 19, QLAND = 20, QRTL = 21, modeCount }; APMPlaneMode(uint32_t mode, bool settable); }; class ArduPlaneFirmwarePlugin : public APMFirmwarePlugin { Q_OBJECT public: ArduPlaneFirmwarePlugin(void); // Overrides from FirmwarePlugin QString offlineEditingParamFile(Vehicle* vehicle) final { Q_UNUSED(vehicle); return QStringLiteral(":/FirmwarePlugin/APM/Plane.OfflineEditing.params"); } QString takeControlFlightMode(void) final; }; #endif