Commit 6490a1de authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #5624 from lvale/APM_FlightMode_21

Initial support for ArduCopter SafeRTL
parents c28aba66 ae0caa8f
......@@ -1336,6 +1336,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when Channel 5 pwm is &gt;1230, &lt;= 1360" user="Standard">
......@@ -1358,6 +1359,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when Channel 5 pwm is &gt;1360, &lt;= 1490" user="Standard">
......@@ -1380,6 +1382,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when Channel 5 pwm is &gt;1490, &lt;= 1620" user="Standard">
......@@ -1402,6 +1405,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when Channel 5 pwm is &gt;1620, &lt;= 1749" user="Standard">
......@@ -1424,6 +1428,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when Channel 5 pwm is &gt;=1750" user="Standard">
......@@ -1446,6 +1451,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode)" user="Advanced">
......
......@@ -1094,6 +1094,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when Channel 5 pwm is &gt;1230, &lt;= 1360" user="Standard">
......@@ -1116,6 +1117,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when Channel 5 pwm is &gt;1360, &lt;= 1490" user="Standard">
......@@ -1138,6 +1140,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when Channel 5 pwm is &gt;1490, &lt;= 1620" user="Standard">
......@@ -1160,6 +1163,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when Channel 5 pwm is &gt;1620, &lt;= 1749" user="Standard">
......@@ -1182,6 +1186,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when Channel 5 pwm is &gt;=1750" user="Standard">
......@@ -1204,6 +1209,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode)" user="Advanced">
......
......@@ -1013,6 +1013,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when Channel 5 pwm is &gt;1230, &lt;= 1360" user="Standard">
......@@ -1035,6 +1036,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when Channel 5 pwm is &gt;1360, &lt;= 1490" user="Standard">
......@@ -1057,6 +1059,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when Channel 5 pwm is &gt;1490, &lt;= 1620" user="Standard">
......@@ -1079,6 +1082,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when Channel 5 pwm is &gt;1620, &lt;= 1749" user="Standard">
......@@ -1101,6 +1105,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when Channel 5 pwm is &gt;=1750" user="Standard">
......@@ -1123,6 +1128,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode)" user="Advanced">
......
......@@ -1013,6 +1013,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 2" name="ArduCopter:FLTMODE2" documentation="Flight mode when Channel 5 pwm is &gt;1230, &lt;= 1360" user="Standard">
......@@ -1035,6 +1036,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 3" name="ArduCopter:FLTMODE3" documentation="Flight mode when Channel 5 pwm is &gt;1360, &lt;= 1490" user="Standard">
......@@ -1057,6 +1059,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 4" name="ArduCopter:FLTMODE4" documentation="Flight mode when Channel 5 pwm is &gt;1490, &lt;= 1620" user="Standard">
......@@ -1079,6 +1082,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 5" name="ArduCopter:FLTMODE5" documentation="Flight mode when Channel 5 pwm is &gt;1620, &lt;= 1749" user="Standard">
......@@ -1101,6 +1105,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Flight Mode 6" name="ArduCopter:FLTMODE6" documentation="Flight mode when Channel 5 pwm is &gt;=1750" user="Standard">
......@@ -1123,6 +1128,7 @@
<value code="18">Throw</value>
<value code="19">Avoid_ADSB</value>
<value code="20">Guided_NoGPS</value>
<value code="21">SafeRTL</value>
</values>
</param>
<param humanName="Simple mode bitmask" name="ArduCopter:SIMPLE" documentation="Bitmask which holds which flight modes use simple heading mode (eg bit 0 = 1 means Flight Mode 0 uses simple mode)" user="Advanced">
......
......@@ -41,6 +41,8 @@ APMCopterMode::APMCopterMode(uint32_t mode, bool settable) :
enumToString.insert(THROW, "Throw");
enumToString.insert(AVOID_ADSB,"Avoid ADSB");
enumToString.insert(GUIDED_NOGPS,"Guided No GPS");
enumToString.insert(SAFE_RTL,"Safe RTL");
setEnumToStringMapping(enumToString);
}
......@@ -66,6 +68,8 @@ ArduCopterFirmwarePlugin::ArduCopterFirmwarePlugin(void)
supportedFlightModes << APMCopterMode(APMCopterMode::THROW ,true);
supportedFlightModes << APMCopterMode(APMCopterMode::AVOID_ADSB,true);
supportedFlightModes << APMCopterMode(APMCopterMode::GUIDED_NOGPS,true);
supportedFlightModes << APMCopterMode(APMCopterMode::SAFE_RTL,true);
setSupportedModes(supportedFlightModes);
......
......@@ -41,8 +41,9 @@ public:
THROW = 18,
AVOID_ADSB = 19,
GUIDED_NOGPS= 20,
SAFE_RTL = 21, //Safe Return to Launch
};
static const int modeCount = 21;
static const int modeCount = 22;
APMCopterMode(uint32_t mode, bool settable);
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment