Commit ab294134 authored by dogmaphobic's avatar dogmaphobic

Merge remote-tracking branch 'origin/master' into messageHandler

parents 16e40be2 47c0d51f
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2014 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
/// @file
......@@ -67,7 +67,7 @@ bool SafetyComponent::setupComplete(void) const
QString SafetyComponent::setupStateDescription(void) const
{
const char* stateDescription;
if (requiresSetup()) {
stateDescription = "Requires setup";
} else {
......@@ -84,7 +84,7 @@ const char** SafetyComponent::setupCompleteChangedTriggerList(void) const
QStringList SafetyComponent::paramFilterList(void) const
{
QStringList list;
return list;
}
......@@ -92,11 +92,11 @@ QWidget* SafetyComponent::setupWidget(void) const
{
QGCQmlWidgetHolder* holder = new QGCQmlWidgetHolder();
Q_CHECK_PTR(holder);
holder->setAutoPilot(_autopilot);
holder->setSource(QUrl::fromUserInput("qrc:/qml/SafetyComponent.qml"));
return holder;
}
......@@ -109,10 +109,10 @@ QString SafetyComponent::prerequisiteSetup(void) const
{
PX4AutoPilotPlugin* plugin = dynamic_cast<PX4AutoPilotPlugin*>(_autopilot);
Q_ASSERT(plugin);
if (!plugin->airframeComponent()->setupComplete()) {
return plugin->airframeComponent()->name();
}
return QString();
}
......@@ -10,37 +10,76 @@ Rectangle {
QGCPalette { id: palette; colorGroup: QGCPalette.Active }
width: 600
height: 400
height: 600
color: palette.window
property var leftColWidth: 350
Column {
anchors.fill: parent
spacing: 20
spacing: 40
//-----------------------------------------------------------------
//-- Return Home Triggers
Column {
spacing: 10
Label { text: "Return to Land setup"; color: palette.windowText; font.pointSize: 20 }
spacing: 18
Label { text: "Triggers For Return Home"; color: palette.windowText; font.pointSize: 20 }
Row {
Label { text: "Climb to minimum altitude of "; color: palette.windowText; anchors.baseline: climbField.baseline }
FactTextField { id: climbField; fact: autopilot.parameters["RTL_RETURN_ALT"]; showUnits: true }
Label {
width: leftColWidth
text: "RC Transmitter Signal Loss - Return Home After"
color: palette.windowText
anchors.baseline: rcLossField.baseline
}
FactTextField {
id: rcLossField
fact: autopilot.parameters["COM_RC_LOSS_T"]
showUnits: true
}
}
Row {
Label { text: "When Home is reached, descend to altitude of "; color: palette.windowText; anchors.baseline: descendField.baseline }
FactTextField { id: descendField; fact: autopilot.parameters["RTL_DESCEND_ALT"]; showUnits: true }
FactCheckBox {
id: telemetryLossCheckbox
fact: autopilot.parameters["COM_DL_LOSS_EN"]
width: leftColWidth
checkedValue: 1
uncheckedValue: 0
text: "Telemetry Signal Timeout - Return Home After"
anchors.baseline: telemetryLossField.baseline
}
FactTextField {
id: telemetryLossField
fact: autopilot.parameters["COM_DL_LOSS_T"];
showUnits: true
}
}
}
//-----------------------------------------------------------------
//-- Return Home Options
Column {
spacing: 18
Label { text: "Return Home Options"; color: palette.windowText; font.pointSize: 20 }
Row {
Label {
width: leftColWidth
text: "Climb to minimum altitude of "
color: palette.windowText
anchors.baseline: climbField.baseline
}
FactTextField {
id: climbField
fact: autopilot.parameters["RTL_RETURN_ALT"]
showUnits: true
}
}
Row {
CheckBox {
id: homeLoiterCheckbox
property Fact fact: autopilot.parameters["RTL_LAND_DELAY"]
width: leftColWidth
checked: fact.value > 0
text: "Loiter at Home altitude for "
onClicked: {
fact.value = checked ? 60 : -1
}
style: CheckBoxStyle {
label: Text {
color: palette.windowText
......@@ -52,47 +91,43 @@ Rectangle {
fact: autopilot.parameters["RTL_LAND_DELAY"];
showUnits: true
anchors.baseline: homeLoiterCheckbox.baseline
enabled: homeLoiterCheckbox.checked == true
}
}
}
Column {
spacing: 10
Label { text: "Return to Land Triggers"; color: palette.windowText; font.pointSize: 20 }
//-------------------------------------------------------------
//-- Visible only if loiter above is checked
// TODO The "enabled" property could be used instead but it
// would have to handle a different "disabled" palette.
Row {
FactCheckBox {
id: telemetryLossCheckbox
fact: autopilot.parameters["COM_DL_LOSS_EN"]
checkedValue: 1
uncheckedValue: 0
text: "Telemetry signal timeout - Return to Land"
anchors.baseline: telemetryLossField.baseline
Label {
width: leftColWidth;
text: "When Home is reached, loiter at an altitude of ";
color: palette.windowText;
anchors.baseline: descendField.baseline
visible: homeLoiterCheckbox.checked == true
}
Label { text: " after "; color: palette.windowText; anchors.baseline: telemetryLossField.baseline }
FactTextField {
id: telemetryLossField
fact: autopilot.parameters["NAV_DLL_N"];
id: descendField;
fact: autopilot.parameters["RTL_DESCEND_ALT"];
visible: homeLoiterCheckbox.checked == true
showUnits: true
}
}
Row {
Label { text: "RC Transmitter signal loss - Return to Land after "; color: palette.windowText; anchors.baseline: rcLossField.baseline }
FactTextField { id: rcLossField; fact: autopilot.parameters["COM_RC_LOSS_T"]; showUnits: true }
}
}
Text {
width: parent.width
font.pointSize: 14
text: "Warning: You have an advanced safety configuration set using the NAV_RCL_OBC parameter. The above settings may not apply.";
visible: autopilot.parameters["NAV_RCL_OBC"].value == 1
visible: autopilot.parameters["NAV_RCL_OBC"].value != 0
color: palette.windowText
wrapMode: Text.Wrap
}
Text {
width: parent.width
font.pointSize: 14
text: "Warning: You have an advanced safety configuration set using the NAV_DLL_OBC parameter. The above settings may not apply.";
visible: autopilot.parameters["NAV_DLL_OBC"].value == 1
visible: autopilot.parameters["NAV_DLL_OBC"].value != 0
color: palette.windowText
wrapMode: Text.Wrap
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment