Newer
Older
import QtQuick 2.3
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
FactPanelController { id: controller; }
property Fact _copterFenceAction: controller.getParameterFact(-1, "FENCE_ACTION", false /* reportMissing */)
property Fact _copterFenceEnable: controller.getParameterFact(-1, "FENCE_ENABLE", false /* reportMissing */)
property Fact _copterFenceType: controller.getParameterFact(-1, "FENCE_TYPE", false /* reportMissing */)
property Fact _batt1Monitor: controller.getParameterFact(-1, "BATT_MONITOR")
property Fact _batt2Monitor: controller.getParameterFact(-1, "BATT2_MONITOR", false /* reportMissing */)
property bool _batt2MonitorAvailable: controller.parameterExists(-1, "BATT2_MONITOR")
property bool _batt1MonitorEnabled: _batt1Monitor.rawValue !== 0
property bool _batt2MonitorEnabled: _batt2MonitorAvailable && _batt2Monitor.rawValue !== 0
property Fact _batt1FSLowAct: controller.getParameterFact(-1, "r.BATT_FS_LOW_ACT", false /* reportMissing */)
property Fact _batt1FSCritAct: controller.getParameterFact(-1, "BATT_FS_CRT_ACT", false /* reportMissing */)
property Fact _batt2FSLowAct: controller.getParameterFact(-1, "BATT2_FS_LOW_ACT", false /* reportMissing */)
property Fact _batt2FSCritAct: controller.getParameterFact(-1, "BATT2_FS_CRT_ACT", false /* reportMissing */)
property bool _batt1FSCritActAvailable: controller.parameterExists(-1, "BATT_FS_CRT_ACT")
property bool _roverFirmware: controller.parameterExists(-1, "MODE1") // This catches all usage of ArduRover firmware vehicle types: Rover, Boat...
Column {
anchors.fill: parent
VehicleSummaryRow {
labelText: qsTr("Arming Checks:")
valueText: fact ? (fact.value & 1 ? qsTr("Enabled") : qsTr("Some disabled")) : ""
property Fact fact: controller.getParameterFact(-1, "ARMING_CHECK")
}
VehicleSummaryRow {
labelText: qsTr("Throttle failsafe:")
valueText: fact ? fact.enumStringValue : ""
visible: controller.vehicle.multiRotor
property Fact fact: controller.getParameterFact(-1, "FS_THR_ENABLE", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("Throttle failsafe:")
valueText: fact ? fact.enumStringValue : ""
visible: controller.vehicle.fixedWing
property Fact fact: controller.getParameterFact(-1, "THR_FAILSAFE", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("Throttle failsafe:")
valueText: fact ? fact.enumStringValue : ""
visible: _roverFirmware
property Fact fact: controller.getParameterFact(-1, "FS_THR_ENABLE", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("Failsafe Action:")
valueText: fact ? fact.enumStringValue : ""
visible: _roverFirmware
property Fact fact: controller.getParameterFact(-1, "FS_ACTION", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("Failsafe Crash Check:")
valueText: fact ? fact.enumStringValue : ""
visible: _roverFirmware
property Fact fact: controller.getParameterFact(-1, "FS_CRASH_CHECK", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("Batt1 low failsafe:")
valueText: _batt1MonitorEnabled ? _batt1FSLowAct.enumStringValue : ""
visible: _batt1MonitorEnabled
}
VehicleSummaryRow {
labelText: qsTr("Batt1 critical failsafe:")
valueText: _batt1FSCritActAvailable ? _batt1FSCritAct.enumStringValue : ""
visible: _batt1FSCritActAvailable
}
VehicleSummaryRow {
labelText: qsTr("Batt2 low failsafe:")
valueText: _batt2MonitorEnabled ? _batt2FSLowAct.enumStringValue : ""
visible: _batt2MonitorEnabled
}
VehicleSummaryRow {
labelText: qsTr("Batt2 critical failsafe:")
valueText: _batt2MonitorEnabled ? _batt2FSCritAct.enumStringValue : ""
visible: _batt2MonitorEnabled
}
VehicleSummaryRow {
labelText: qsTr("GeoFence:")
valueText: {
if(_copterFenceEnable && _copterFenceType) {
if(_copterFenceEnable.value == 0 || _copterFenceType == 0) {
return qsTr("Disabled")
} else {
if(_copterFenceType.value == 1) {
return qsTr("Altitude")
}
if(_copterFenceType.value == 2) {
return qsTr("Circle")
}
return qsTr("Altitude,Circle")
}
}
return ""
}
visible: controller.vehicle.multiRotor
}
VehicleSummaryRow {
labelText: qsTr("GeoFence:")
valueText: _copterFenceAction.value == 0 ?
qsTr("Report only") :
(_copterFenceAction.value == 1 ? qsTr("RTL or Land") : qsTr("Unknown"))
visible: controller.vehicle.multiRotor && _copterFenceEnable.value !== 0
}
VehicleSummaryRow {
labelText: qsTr("RTL min alt:")
valueText: fact ? (fact.value == 0 ? qsTr("current") : fact.valueString + " " + fact.units) : ""
visible: controller.vehicle.multiRotor
property Fact fact: controller.getParameterFact(-1, "RTL_ALT", false /* reportMissing */)
}
VehicleSummaryRow {
labelText: qsTr("RTL min alt:")
valueText: fact ? (fact.value < 0 ? qsTr("current") : fact.valueString + " " + fact.units) : ""
visible: controller.vehicle.fixedWing
property Fact fact: controller.getParameterFact(-1, "ALT_HOLD_RTL", false /* reportMissing */)
}
}
}