From a2c9eb9555bf3a7eba7183b017f9f40223bab7e1 Mon Sep 17 00:00:00 2001 From: DoinLakeFlyer Date: Tue, 10 Mar 2020 09:14:46 -0700 Subject: [PATCH] Temporary use setting for using CONDITION_GATE in Patterns --- src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc | 10 +++++++++- src/Settings/PlanView.SettingsGroup.json | 6 ++++++ src/Settings/PlanViewSettings.cc | 1 + src/Settings/PlanViewSettings.h | 1 + src/ui/preferences/GeneralSettings.qml | 5 +++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc index c5cffe9465..419561db40 100644 --- a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc +++ b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc @@ -23,6 +23,8 @@ #include "RadioComponentController.h" #include "QGCCameraManager.h" #include "QGCFileDownload.h" +#include "SettingsManager.h" +#include "PlanViewSettings.h" #include @@ -279,7 +281,7 @@ void PX4FirmwarePlugin::getParameterMetaDataVersionInfo(const QString& metaDataF QList PX4FirmwarePlugin::supportedMissionCommands(void) { - return { + QList cmds = { MAV_CMD_NAV_WAYPOINT, MAV_CMD_NAV_LOITER_UNLIM, MAV_CMD_NAV_LOITER_TIME, MAV_CMD_NAV_LOITER_TO_ALT, MAV_CMD_NAV_LAND, MAV_CMD_NAV_TAKEOFF, MAV_CMD_NAV_RETURN_TO_LAUNCH, @@ -298,6 +300,12 @@ QList PX4FirmwarePlugin::supportedMissionCommands(void) MAV_CMD_NAV_DELAY, MAV_CMD_CONDITION_YAW, }; + + if (qgcApp()->toolbox()->settingsManager()->planViewSettings()->useConditionGate()->rawValue().toBool()) { + cmds.append(MAV_CMD_CONDITION_GATE); + } + + return cmds; } QString PX4FirmwarePlugin::missionCommandOverrides(MAV_TYPE vehicleType) const diff --git a/src/Settings/PlanView.SettingsGroup.json b/src/Settings/PlanView.SettingsGroup.json index eb1921d9d9..38a63492c7 100644 --- a/src/Settings/PlanView.SettingsGroup.json +++ b/src/Settings/PlanView.SettingsGroup.json @@ -16,5 +16,11 @@ "shortDescription": "Show/Hide the mission item status display", "type": "bool", "defaultValue": false +}, +{ + "name": "useConditionGate", + "shortDescription": "Use MAV_CMD_CONDITION_GATE for pattern generation", + "type": "bool", + "defaultValue": false } ] diff --git a/src/Settings/PlanViewSettings.cc b/src/Settings/PlanViewSettings.cc index 8f82dc044f..b6ea71fac5 100644 --- a/src/Settings/PlanViewSettings.cc +++ b/src/Settings/PlanViewSettings.cc @@ -20,3 +20,4 @@ DECLARE_SETTINGGROUP(PlanView, "PlanView") DECLARE_SETTINGSFACT(PlanViewSettings, displayPresetsTabFirst) DECLARE_SETTINGSFACT(PlanViewSettings, aboveTerrainWarning) DECLARE_SETTINGSFACT(PlanViewSettings, showMissionItemStatus) +DECLARE_SETTINGSFACT(PlanViewSettings, useConditionGate) diff --git a/src/Settings/PlanViewSettings.h b/src/Settings/PlanViewSettings.h index 2fbc3bdc03..c1a6d0c04d 100644 --- a/src/Settings/PlanViewSettings.h +++ b/src/Settings/PlanViewSettings.h @@ -23,4 +23,5 @@ public: DEFINE_SETTINGFACT(displayPresetsTabFirst) DEFINE_SETTINGFACT(aboveTerrainWarning) DEFINE_SETTINGFACT(showMissionItemStatus) + DEFINE_SETTINGFACT(useConditionGate) }; diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index 3897dc61a7..c698d44af4 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -621,6 +621,11 @@ Rectangle { fact: QGroundControl.settingsManager.appSettings.defaultMissionItemAltitude } } + + FactCheckBox { + text: qsTr("Use MAV_CMD_CONDITION_GATE for pattern generation") + fact: QGroundControl.settingsManager.planViewSettings.useConditionGate + } } } -- GitLab