/**************************************************************************** * * (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. * ****************************************************************************/ #include "ArduPlaneFirmwarePlugin.h" bool ArduPlaneFirmwarePlugin::_remapParamNameIntialized = false; FirmwarePlugin::remapParamNameMajorVersionMap_t ArduPlaneFirmwarePlugin::_remapParamName; APMPlaneMode::APMPlaneMode(uint32_t mode, bool settable) : APMCustomMode(mode, settable) { setEnumToStringMapping({ {MANUAL, "Manual"}, {CIRCLE, "Circle"}, {STABILIZE, "Stabilize"}, {TRAINING, "Training"}, {ACRO, "Acro"}, {FLY_BY_WIRE_A, "FBW A"}, {FLY_BY_WIRE_B, "FBW B"}, {CRUISE, "Cruise"}, {AUTOTUNE, "Autotune"}, {AUTO, "Auto"}, {RTL, "RTL"}, {LOITER, "Loiter"}, {GUIDED, "Guided"}, {INITIALIZING, "Initializing"}, {QSTABILIZE, "QuadPlane Stabilize"}, {QHOVER, "QuadPlane Hover"}, {QLOITER, "QuadPlane Loiter"}, {QLAND, "QuadPlane Land"}, {QRTL, "QuadPlane RTL"}, }); } ArduPlaneFirmwarePlugin::ArduPlaneFirmwarePlugin(void) { setSupportedModes({ APMPlaneMode(APMPlaneMode::MANUAL ,true), APMPlaneMode(APMPlaneMode::CIRCLE ,true), APMPlaneMode(APMPlaneMode::STABILIZE ,true), APMPlaneMode(APMPlaneMode::TRAINING ,true), APMPlaneMode(APMPlaneMode::ACRO ,true), APMPlaneMode(APMPlaneMode::FLY_BY_WIRE_A ,true), APMPlaneMode(APMPlaneMode::FLY_BY_WIRE_B ,true), APMPlaneMode(APMPlaneMode::CRUISE ,true), APMPlaneMode(APMPlaneMode::AUTOTUNE ,true), APMPlaneMode(APMPlaneMode::AUTO ,true), APMPlaneMode(APMPlaneMode::RTL ,true), APMPlaneMode(APMPlaneMode::LOITER ,true), APMPlaneMode(APMPlaneMode::GUIDED ,true), APMPlaneMode(APMPlaneMode::INITIALIZING ,false), APMPlaneMode(APMPlaneMode::QSTABILIZE ,true), APMPlaneMode(APMPlaneMode::QHOVER ,true), APMPlaneMode(APMPlaneMode::QLOITER ,true), APMPlaneMode(APMPlaneMode::QLAND ,true), APMPlaneMode(APMPlaneMode::QRTL ,true), }); if (!_remapParamNameIntialized) { FirmwarePlugin::remapParamNameMap_t& remapV3_10 = _remapParamName[3][10]; remapV3_10["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN"); remapV3_10["BATT2_ARM_VOLT"] = QStringLiteral("ARMING_VOLT2_MIN"); _remapParamNameIntialized = true; } } int ArduPlaneFirmwarePlugin::remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const { // Remapping supports up to 3.10 return majorVersionNumber == 3 ? 10 : Vehicle::versionNotSetValue; }