diff --git a/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml b/src/AutoPilotPlugins/APM/APMSafetyComponentSummaryCopter.qml index 4140ef7f86610901887431b6f24498a62eda305d..0d2328082b3f05d4ae42c94feb2ec67caf8d0975 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 {