/**************************************************************************** * * (c) 2009-2016 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ import QtQuick 2.3 import QtQuick.Controls 1.2 import QtGraphicalEffects 1.0 import QGroundControl.FactSystem 1.0 import QGroundControl.FactControls 1.0 import QGroundControl.Palette 1.0 import QGroundControl.Controls 1.0 import QGroundControl.ScreenTools 1.0 SetupPage { id: safetyPage pageComponent: safetyPageComponent Component { id: safetyPageComponent Flow { id: flowLayout width: availableWidth spacing: _margins FactPanelController { id: controller; factPanel: safetyPage.viewPanel } QGCPalette { id: ggcPal; colorGroupEnabled: true } property Fact _failsafeGCSEnable: controller.getParameterFact(-1, "FS_GCS_ENABLE") property Fact _failsafeThrEnable: controller.getParameterFact(-1, "FS_THR_ENABLE") property Fact _failsafeThrValue: controller.getParameterFact(-1, "FS_THR_VALUE") property Fact _failsafeAction: controller.getParameterFact(-1, "FS_ACTION") property Fact _failsafeCrashCheck: controller.getParameterFact(-1, "FS_CRASH_CHECK") property Fact _armingCheck: controller.getParameterFact(-1, "ARMING_CHECK") property real _margins: ScreenTools.defaultFontPixelHeight property bool _showIcon: !ScreenTools.isTinyScreen Column { spacing: _margins / 2 QGCLabel { id: failsafeLabel text: qsTr("Failsafe Triggers") font.family: ScreenTools.demiboldFontFamily } Rectangle { id: failsafeSettings width: throttleEnableCombo.x + throttleEnableCombo.width + _margins height: crashCheckCombo.y + crashCheckCombo.height + _margins color: ggcPal.windowShade QGCLabel { id: gcsEnableLabel anchors.margins: _margins anchors.left: parent.left anchors.baseline: gcsEnableCombo.baseline text: qsTr("Ground Station failsafe:") } FactComboBox { id: gcsEnableCombo anchors.topMargin: _margins anchors.leftMargin: _margins anchors.left: gcsEnableLabel.right anchors.top: parent.top width: throttlePWMField.width fact: _failsafeGCSEnable indexModel: false } QGCLabel { id: throttleEnableLabel anchors.margins: _margins anchors.left: parent.left anchors.baseline: throttleEnableCombo.baseline text: qsTr("Throttle failsafe:") } FactComboBox { id: throttleEnableCombo anchors.topMargin: _margins anchors.left: gcsEnableCombo.left anchors.top: gcsEnableCombo.bottom width: throttlePWMField.width fact: _failsafeThrEnable indexModel: false } QGCLabel { id: throttlePWMLabel anchors.margins: _margins anchors.left: parent.left anchors.baseline: throttlePWMField.baseline text: qsTr("PWM threshold:") } FactTextField { id: throttlePWMField anchors.topMargin: _margins / 2 anchors.left: gcsEnableCombo.left anchors.top: throttleEnableCombo.bottom fact: _failsafeThrValue showUnits: true } QGCLabel { id: crashCheckLabel anchors.margins: _margins anchors.left: parent.left anchors.baseline: crashCheckCombo.baseline text: qsTr("Failsafe Crash Check:") } QGCComboBox { id: crashCheckCombo anchors.topMargin: _margins anchors.left: gcsEnableCombo.left anchors.top: throttlePWMField.bottom width: throttlePWMField.width model: [qsTr("Disabled"), qsTr("Hold"), qsTr("Hold and Disarm")] currentIndex: _failsafeCrashCheck.value onActivated: _failsafeCrashCheck.value = index } } // Rectangle - Failsafe Settings } // Column - Failsafe Settings Column { spacing: _margins / 2 QGCLabel { text: qsTr("Arming Checks") font.family: ScreenTools.demiboldFontFamily } Rectangle { width: flowLayout.width height: armingCheckInnerColumn.height + (_margins * 2) color: ggcPal.windowShade Column { id: armingCheckInnerColumn anchors.margins: _margins anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right spacing: _margins FactBitmask { id: armingCheckBitmask anchors.left: parent.left anchors.right: parent.right firstEntryIsAll: true fact: _armingCheck } QGCLabel { id: armingCheckWarning anchors.left: parent.left anchors.right: parent.right wrapMode: Text.WordWrap color: qgcPal.warningText text: qsTr("Warning: Turning off arming checks can lead to loss of Vehicle control.") visible: _armingCheck.value != 1 } } } // Rectangle - Arming checks } // Column - Arming Checks } // Flow } // Component - safetyPageComponent } // SetupView