From b8e35ed3905662789b0ddb6ef3d00a3ec211000d Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 14 Dec 2015 10:26:10 -0800 Subject: [PATCH] Add failsafe settings --- .../APM/APMSafetyComponentSummaryCopter.qml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml b/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml index 4140ef7f86..0d2328082b 100644 --- a/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml +++ b/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml @@ -14,6 +14,9 @@ FactPanel { QGCPalette { id: qgcPal; colorGroupEnabled: enabled } FactPanelController { id: controller; factPanel: panel } + property Fact _failsafeBattEnable: controller.getParameterFact(-1, "FS_BATT_ENABLE") + property Fact _failsafeThrEnable: controller.getParameterFact(-1, "FS_THR_ENABLE") + property Fact _fenceAction: controller.getParameterFact(-1, "FENCE_ACTION") property Fact _fenceEnable: controller.getParameterFact(-1, "FENCE_ENABLE") property Fact _fenceType: controller.getParameterFact(-1, "FENCE_TYPE") @@ -23,10 +26,75 @@ FactPanel { property Fact _rtlAltFinalFact: controller.getParameterFact(-1, "RTL_ALT_FINAL") property Fact _landSpeedFact: controller.getParameterFact(-1, "LAND_SPEED") + property string _failsafeBattEnableText + property string _failsafeThrEnableText + + Component.onCompleted: { + setFailsafeBattEnableText() + setFailsafeThrEnableText() + } + + Connections { + target: _failsafeBattEnable + + onValueChanged: setFailsafeBattEnableText() + } + + Connections { + target: _failsafeThrEnable + + onValueChanged: setFailsafeThrEnableText() + } + + function setFailsafeThrEnableText() { + switch (_failsafeThrEnable.value) { + case 0: + _failsafeThrEnableText = "Disabled" + break + case 1: + _failsafeThrEnableText = "Always RTL" + break + case 2: + _failsafeThrEnableText = "Continue with Mission in Auto Mode" + break + case 3: + _failsafeThrEnableText = "Always Land" + break + default: + _failsafeThrEnableText = "Unknown" + } + } + + function setFailsafeBattEnableText() { + switch (_failsafeBattEnable.value) { + case 0: + _failsafeBattEnableText = "Disabled" + break + case 1: + _failsafeBattEnableText = "Land" + break + case 2: + _failsafeBattEnableText = "Return to Launch" + break + default: + _failsafeThrEnableText = "Unknown" + } + } + Column { anchors.fill: parent anchors.margins: 8 + VehicleSummaryRow { + labelText: "Throttle failsafe:" + valueText: _failsafeThrEnableText + } + + VehicleSummaryRow { + labelText: "Battery failsafe:" + valueText: _failsafeBattEnableText + } + VehicleSummaryRow { labelText: "GeoFence:" valueText: _fenceEnable.value == 0 || _fenceType == 0 ? @@ -41,6 +109,7 @@ FactPanel { valueText: _fenceAction.value == 0 ? "Report only" : (_fenceAction.value == 1 ? "RTL or Land" : "Unknown") + visible: _fenceEnable.value != 0 } VehicleSummaryRow { -- GitLab