APMSafetyComponentSummarySub.qml 2.88 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import QtQuick 2.2
import QtQuick.Controls 1.2

import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.Controls 1.0
import QGroundControl.Palette 1.0

FactPanel {
    id:             panel
    anchors.fill:   parent
    color:          qgcPal.windowShadeDark

    QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
    FactPanelController { id: controller; factPanel: panel }

17 18
    property Fact _failsafeGCSEnable:   controller.getParameterFact(-1, "FS_GCS_ENABLE")
    property Fact _failsafeLeakEnable:  controller.getParameterFact(-1, "FS_LEAK_ENABLE")
19 20 21 22 23

    property Fact _fenceAction: controller.getParameterFact(-1, "FENCE_ACTION")
    property Fact _fenceEnable: controller.getParameterFact(-1, "FENCE_ENABLE")
    property Fact _fenceType:   controller.getParameterFact(-1, "FENCE_TYPE")

24
    property Fact _leakPin:     controller.getParameterFact(-1, "LEAK1_PIN")
25 26 27

    property Fact _armingCheck: controller.getParameterFact(-1, "ARMING_CHECK")

28
    property string _failsafeGCSEnableText
29 30

    Component.onCompleted: {
31
        setFailsafeGCSEnableText()
32 33 34
    }

    Connections {
35
        target: _failsafeGCSEnable
36

37
        onValueChanged: setFailsafeGCSEnableText()
38 39
    }

40 41
    function setFailsafeGCSEnableText() {
        switch (_failsafeGCSEnable.value) {
42
        case 0:
43
            _failsafeGCSEnableText = qsTr("Disabled")
44 45
            break
        case 1:
46
            _failsafeGCSEnableText = qsTr("Always RTL")
47 48
            break
        case 2:
49
            _failsafeGCSEnableText = qsTr("Continue with Mission in Auto Mode")
50 51
            break
        default:
52
            _failsafeGCSEnableText = qsTr("Unknown")
53 54 55 56 57 58 59 60 61 62 63 64
        }
    }

    Column {
        anchors.fill:       parent

        VehicleSummaryRow {
            labelText: qsTr("Arming Checks:")
            valueText:  _armingCheck.value & 1 ? qsTr("Enabled") : qsTr("Some disabled")
        }

        VehicleSummaryRow {
65 66
            labelText: qsTr("GCS failsafe:")
            valueText: _failsafeGCSEnableText
67 68 69
        }

        VehicleSummaryRow {
70 71
            labelText: qsTr("Leak failsafe:")
            valueText:  _failsafeLeakEnable.value ? qsTr("Enabled") : qsTr("Disabled")
72 73 74
        }

        VehicleSummaryRow {
75
            labelText: qsTr("Leak detector:")
76 77 78 79 80 81 82 83
            valueText: _leakPin.value > 0 ? qsTr("Enabled") : qsTr("Disabled")
        }

        VehicleSummaryRow {
            labelText: qsTr("GeoFence:")
            valueText: _fenceEnable.value == 0 || _fenceType == 0 ?
                           qsTr("Disabled") :
                           (_fenceType.value == 1 ?
84 85
                                qsTr("Depth") :
                                (_fenceType.value == 2 ? qsTr("Circle") : qsTr("Depth,Circle")))
86 87 88 89
        }

        VehicleSummaryRow {
            labelText: qsTr("GeoFence:")
90
            valueText: qsTr("Report only")
91 92 93 94
            visible:    _fenceEnable.value != 0
        }
    }
}