QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
APMFailsafesComponentSummary.qml
Go to the documentation of this file.
1import QtQuick
2import QtQuick.Controls
3import QtQuick.Layouts
4
5import QGroundControl
6import QGroundControl.FactControls
7import QGroundControl.Controls
8
9Item {
10 implicitWidth: mainLayout.implicitWidth
11 implicitHeight: mainLayout.implicitHeight
12 width: parent.width
13
14 FactPanelController { id: controller; }
15
16 property Fact _batt1Monitor: controller.getParameterFact(-1, "BATT_MONITOR")
17 property Fact _batt2Monitor: controller.getParameterFact(-1, "BATT2_MONITOR", false /* reportMissing */)
18 property bool _batt2MonitorAvailable: controller.parameterExists(-1, "BATT2_MONITOR")
19 property bool _batt1MonitorEnabled: _batt1Monitor.rawValue !== 0
20 property bool _batt2MonitorEnabled: _batt2MonitorAvailable && _batt2Monitor.rawValue !== 0
21
22 property Fact _batt1FSLowAct: controller.getParameterFact(-1, "BATT_FS_LOW_ACT", false /* reportMissing */)
23 property Fact _batt1FSCritAct: controller.getParameterFact(-1, "BATT_FS_CRT_ACT", false /* reportMissing */)
24 property Fact _batt2FSLowAct: controller.getParameterFact(-1, "BATT2_FS_LOW_ACT", false /* reportMissing */)
25 property Fact _batt2FSCritAct: controller.getParameterFact(-1, "BATT2_FS_CRT_ACT", false /* reportMissing */)
26 property bool _batt1FSCritActAvailable: controller.parameterExists(-1, "BATT_FS_CRT_ACT")
27
28 property bool _roverFirmware: controller.parameterExists(-1, "MODE1")
29
30 ColumnLayout {
31 id: mainLayout
32 spacing: 0
33
34 VehicleSummaryRow {
35 labelText: qsTr("Throttle failsafe:")
36 valueText: fact ? fact.enumStringValue : ""
37 visible: controller.vehicle.multiRotor
38
39 property Fact fact: controller.getParameterFact(-1, "FS_THR_ENABLE", false /* reportMissing */)
40 }
41
42 VehicleSummaryRow {
43 labelText: qsTr("Throttle failsafe:")
44 valueText: fact ? fact.enumStringValue : ""
45 visible: controller.vehicle.fixedWing
46
47 property Fact fact: controller.getParameterFact(-1, "THR_FAILSAFE", false /* reportMissing */)
48 }
49
50 VehicleSummaryRow {
51 labelText: qsTr("Throttle failsafe:")
52 valueText: fact ? fact.enumStringValue : ""
53 visible: _roverFirmware
54
55 property Fact fact: controller.getParameterFact(-1, "FS_THR_ENABLE", false /* reportMissing */)
56 }
57
58 VehicleSummaryRow {
59 labelText: qsTr("Failsafe Action:")
60 valueText: fact ? fact.enumStringValue : ""
61 visible: _roverFirmware
62
63 property Fact fact: controller.getParameterFact(-1, "FS_ACTION", false /* reportMissing */)
64 }
65
66 VehicleSummaryRow {
67 labelText: qsTr("Failsafe Crash Check:")
68 valueText: fact ? fact.enumStringValue : ""
69 visible: _roverFirmware
70
71 property Fact fact: controller.getParameterFact(-1, "FS_CRASH_CHECK", false /* reportMissing */)
72 }
73
74 VehicleSummaryRow {
75 labelText: qsTr("Batt1 low failsafe:")
76 valueText: _batt1MonitorEnabled ? _batt1FSLowAct.enumStringValue : ""
77 visible: _batt1MonitorEnabled
78 }
79
80 VehicleSummaryRow {
81 labelText: qsTr("Batt1 critical failsafe:")
82 valueText: _batt1FSCritActAvailable ? _batt1FSCritAct.enumStringValue : ""
83 visible: _batt1FSCritActAvailable
84 }
85
86 VehicleSummaryRow {
87 labelText: qsTr("Batt2 low failsafe:")
88 valueText: _batt2MonitorEnabled ? _batt2FSLowAct.enumStringValue : ""
89 visible: _batt2MonitorEnabled
90 }
91
92 VehicleSummaryRow {
93 labelText: qsTr("Batt2 critical failsafe:")
94 valueText: _batt2MonitorEnabled ? _batt2FSCritAct.enumStringValue : ""
95 visible: _batt2MonitorEnabled
96 }
97 }
98}