13 changed files with 631 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
text: "Not supported" |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
} |
@ -0,0 +1,149 @@ |
|||||||
|
/*=====================================================================
|
||||||
|
|
||||||
|
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
|
||||||
|
/// @author Don Gagne <don@thegagnes.com>
|
||||||
|
|
||||||
|
#include "APMSafetyComponent.h" |
||||||
|
#include "QGCQmlWidgetHolder.h" |
||||||
|
#include "APMAutoPilotPlugin.h" |
||||||
|
|
||||||
|
APMSafetyComponent::APMSafetyComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent) |
||||||
|
: APMComponent(vehicle, autopilot, parent) |
||||||
|
, _name(tr("Safety")) |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
QString APMSafetyComponent::name(void) const |
||||||
|
{ |
||||||
|
return _name; |
||||||
|
} |
||||||
|
|
||||||
|
QString APMSafetyComponent::description(void) const |
||||||
|
{ |
||||||
|
return tr("The Safety Component is used to setup triggers for Return to Land as well as the settings for Return to Land itself."); |
||||||
|
} |
||||||
|
|
||||||
|
QString APMSafetyComponent::iconResource(void) const |
||||||
|
{ |
||||||
|
return "/qmlimages/SafetyComponentIcon.png"; |
||||||
|
} |
||||||
|
|
||||||
|
bool APMSafetyComponent::requiresSetup(void) const |
||||||
|
{ |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
bool APMSafetyComponent::setupComplete(void) const |
||||||
|
{ |
||||||
|
// FIXME: What aboout invalid settings?
|
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
QString APMSafetyComponent::setupStateDescription(void) const |
||||||
|
{ |
||||||
|
const char* stateDescription; |
||||||
|
|
||||||
|
if (requiresSetup()) { |
||||||
|
stateDescription = "Requires setup"; |
||||||
|
} else { |
||||||
|
stateDescription = "Setup complete"; |
||||||
|
} |
||||||
|
return QString(stateDescription); |
||||||
|
} |
||||||
|
|
||||||
|
QStringList APMSafetyComponent::setupCompleteChangedTriggerList(void) const |
||||||
|
{ |
||||||
|
return QStringList(); |
||||||
|
} |
||||||
|
|
||||||
|
QStringList APMSafetyComponent::paramFilterList(void) const |
||||||
|
{ |
||||||
|
return QStringList(); |
||||||
|
} |
||||||
|
|
||||||
|
QUrl APMSafetyComponent::setupSource(void) const |
||||||
|
{ |
||||||
|
QString qmlFile; |
||||||
|
|
||||||
|
switch (_vehicle->vehicleType()) { |
||||||
|
case MAV_TYPE_FIXED_WING: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentPlane.qml"; |
||||||
|
break; |
||||||
|
case MAV_TYPE_QUADROTOR: |
||||||
|
case MAV_TYPE_COAXIAL: |
||||||
|
case MAV_TYPE_HELICOPTER: |
||||||
|
case MAV_TYPE_HEXAROTOR: |
||||||
|
case MAV_TYPE_OCTOROTOR: |
||||||
|
case MAV_TYPE_TRICOPTER: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentCopter.qml"; |
||||||
|
break; |
||||||
|
case MAV_TYPE_GROUND_ROVER: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentRover.qml"; |
||||||
|
break; |
||||||
|
default: |
||||||
|
qmlFile = "qrc:/qml/APMNotSupported.qml"; |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
return QUrl::fromUserInput(qmlFile); |
||||||
|
} |
||||||
|
|
||||||
|
QUrl APMSafetyComponent::summaryQmlSource(void) const |
||||||
|
{ |
||||||
|
QString qmlFile; |
||||||
|
|
||||||
|
switch (_vehicle->vehicleType()) { |
||||||
|
case MAV_TYPE_FIXED_WING: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentSummaryPlane.qml"; |
||||||
|
break; |
||||||
|
case MAV_TYPE_QUADROTOR: |
||||||
|
case MAV_TYPE_COAXIAL: |
||||||
|
case MAV_TYPE_HELICOPTER: |
||||||
|
case MAV_TYPE_HEXAROTOR: |
||||||
|
case MAV_TYPE_OCTOROTOR: |
||||||
|
case MAV_TYPE_TRICOPTER: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentSummaryCopter.qml"; |
||||||
|
break; |
||||||
|
case MAV_TYPE_GROUND_ROVER: |
||||||
|
qmlFile = "qrc:/qml/APMSafetyComponentSummaryRover.qml"; |
||||||
|
break; |
||||||
|
default: |
||||||
|
qmlFile = "qrc:/qml/APMNotSupported.qml"; |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
return QUrl::fromUserInput(qmlFile); |
||||||
|
} |
||||||
|
|
||||||
|
QString APMSafetyComponent::prerequisiteSetup(void) const |
||||||
|
{ |
||||||
|
APMAutoPilotPlugin* plugin = dynamic_cast<APMAutoPilotPlugin*>(_autopilot); |
||||||
|
Q_ASSERT(plugin); |
||||||
|
|
||||||
|
if (!plugin->airframeComponent()->setupComplete()) { |
||||||
|
return plugin->airframeComponent()->name(); |
||||||
|
} |
||||||
|
|
||||||
|
return QString(); |
||||||
|
} |
@ -0,0 +1,56 @@ |
|||||||
|
/*=====================================================================
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
#ifndef APMSafetyComponent_H |
||||||
|
#define APMSafetyComponent_H |
||||||
|
|
||||||
|
#include "APMComponent.h" |
||||||
|
|
||||||
|
class APMSafetyComponent : public APMComponent |
||||||
|
{ |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
public: |
||||||
|
APMSafetyComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL); |
||||||
|
|
||||||
|
// Virtuals from PX4Component
|
||||||
|
virtual QStringList setupCompleteChangedTriggerList(void) const; |
||||||
|
|
||||||
|
// Virtuals from VehicleComponent
|
||||||
|
virtual QString name(void) const; |
||||||
|
virtual QString description(void) const; |
||||||
|
virtual QString iconResource(void) const; |
||||||
|
virtual bool requiresSetup(void) const; |
||||||
|
virtual bool setupComplete(void) const; |
||||||
|
virtual QString setupStateDescription(void) const; |
||||||
|
virtual QUrl setupSource(void) const; |
||||||
|
virtual QStringList paramFilterList(void) const; |
||||||
|
virtual QUrl summaryQmlSource(void) const; |
||||||
|
virtual QString prerequisiteSetup(void) const; |
||||||
|
|
||||||
|
private: |
||||||
|
const QString _name; |
||||||
|
QVariantList _summaryItems; |
||||||
|
}; |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,193 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
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 |
||||||
|
|
||||||
|
QGCView { |
||||||
|
id: _safetyView |
||||||
|
viewPanel: panel |
||||||
|
anchors.fill: parent |
||||||
|
|
||||||
|
FactPanelController { id: controller; factPanel: panel } |
||||||
|
|
||||||
|
QGCPalette { id: palette; colorGroupEnabled: enabled } |
||||||
|
|
||||||
|
property Fact _landSpeedFact: controller.getParameterFact(-1, "LAND_SPEED") |
||||||
|
property Fact _rtlAltFact: controller.getParameterFact(-1, "RTL_ALT") |
||||||
|
property Fact _rtlLoitTimeFact: controller.getParameterFact(-1, "RTL_LOIT_TIME") |
||||||
|
property Fact _rtlAltFinalFact: controller.getParameterFact(-1, "RTL_ALT_FINAL") |
||||||
|
|
||||||
|
property real _margins: ScreenTools.defaultFontPixelHeight |
||||||
|
|
||||||
|
ExclusiveGroup { id: landLoiterRadioGroup } |
||||||
|
ExclusiveGroup { id: returnAltRadioGroup } |
||||||
|
|
||||||
|
QGCViewPanel { |
||||||
|
id: panel |
||||||
|
anchors.fill: parent |
||||||
|
|
||||||
|
Flickable { |
||||||
|
clip: true |
||||||
|
anchors.fill: parent |
||||||
|
boundsBehavior: Flickable.StopAtBounds |
||||||
|
flickableDirection: Flickable.VerticalFlick |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
id: rtlLabel |
||||||
|
text: "Return Home Settings" |
||||||
|
font.weight: Font.DemiBold |
||||||
|
} |
||||||
|
|
||||||
|
Rectangle { |
||||||
|
anchors.topMargin: _margins / 2 |
||||||
|
anchors.left: parent.left |
||||||
|
anchors.right: parent.right |
||||||
|
anchors.top: rtlLabel.bottom |
||||||
|
height: rltAltFinalField.y + rltAltFinalField.height + _margins |
||||||
|
color: palette.windowShade |
||||||
|
|
||||||
|
Image { |
||||||
|
id: icon |
||||||
|
anchors.margins: _margins |
||||||
|
anchors.left: parent.left |
||||||
|
anchors.top: parent.top |
||||||
|
height: ScreenTools.defaultFontPixelWidth * 20 |
||||||
|
width: ScreenTools.defaultFontPixelWidth * 20 |
||||||
|
mipmap: true |
||||||
|
fillMode: Image.PreserveAspectFit |
||||||
|
visible: false |
||||||
|
source: "/qmlimages/ReturnToHomeAltitude.svg" |
||||||
|
} |
||||||
|
|
||||||
|
ColorOverlay { |
||||||
|
anchors.fill: icon |
||||||
|
source: icon |
||||||
|
color: palette.text |
||||||
|
} |
||||||
|
|
||||||
|
QGCRadioButton { |
||||||
|
id: returnAtCurrentRadio |
||||||
|
anchors.leftMargin: _margins |
||||||
|
anchors.left: icon.right |
||||||
|
anchors.top: icon.top |
||||||
|
text: "Return at current altitude" |
||||||
|
checked: _rtlAltFact.value == 0 |
||||||
|
exclusiveGroup: returnAltRadioGroup |
||||||
|
|
||||||
|
onClicked: _rtlAltFact.value = 0 |
||||||
|
} |
||||||
|
|
||||||
|
QGCRadioButton { |
||||||
|
id: returnAltRadio |
||||||
|
anchors.topMargin: _margins |
||||||
|
anchors.left: returnAtCurrentRadio.left |
||||||
|
anchors.top: returnAtCurrentRadio.bottom |
||||||
|
text: "Return at specified altitude:" |
||||||
|
exclusiveGroup: returnAltRadioGroup |
||||||
|
checked: _rtlAltFact.value != 0 |
||||||
|
|
||||||
|
onClicked: _rtlAltFact.value = 1500 |
||||||
|
} |
||||||
|
|
||||||
|
FactTextField { |
||||||
|
id: rltAltField |
||||||
|
anchors.leftMargin: _margins |
||||||
|
anchors.left: returnAltRadio.right |
||||||
|
anchors.baseline: returnAltRadio.baseline |
||||||
|
fact: _rtlAltFact |
||||||
|
showUnits: true |
||||||
|
enabled: returnAltRadio.checked |
||||||
|
} |
||||||
|
|
||||||
|
QGCCheckBox { |
||||||
|
id: homeLoiterCheckbox |
||||||
|
anchors.left: returnAtCurrentRadio.left |
||||||
|
anchors.baseline: landDelayField.baseline |
||||||
|
checked: _rtlLoitTimeFact.value > 0 |
||||||
|
text: "Loiter above Home for:" |
||||||
|
|
||||||
|
onClicked: _rtlLoitTimeFact.value = checked ? 60 : 0 |
||||||
|
} |
||||||
|
|
||||||
|
FactTextField { |
||||||
|
id: landDelayField |
||||||
|
anchors.topMargin: _margins * 1.5 |
||||||
|
anchors.left: rltAltField.left |
||||||
|
anchors.top: rltAltField.bottom |
||||||
|
fact: _rtlLoitTimeFact |
||||||
|
showUnits: true |
||||||
|
enabled: homeLoiterCheckbox.checked === true |
||||||
|
} |
||||||
|
|
||||||
|
QGCRadioButton { |
||||||
|
id: landRadio |
||||||
|
anchors.left: returnAtCurrentRadio.left |
||||||
|
anchors.baseline: landSpeedField.baseline |
||||||
|
text: "Land with descent speed:" |
||||||
|
checked: _rtlAltFinalFact.value == 0 |
||||||
|
exclusiveGroup: landLoiterRadioGroup |
||||||
|
|
||||||
|
onClicked: _rtlAltFinalFact.value = 0 |
||||||
|
} |
||||||
|
|
||||||
|
FactTextField { |
||||||
|
id: landSpeedField |
||||||
|
anchors.topMargin: _margins * 1.5 |
||||||
|
anchors.top: landDelayField.bottom |
||||||
|
anchors.left: rltAltField.left |
||||||
|
fact: _landSpeedFact |
||||||
|
showUnits: true |
||||||
|
enabled: landRadio.checked |
||||||
|
} |
||||||
|
|
||||||
|
QGCRadioButton { |
||||||
|
id: finalLoiterRadio |
||||||
|
anchors.left: returnAtCurrentRadio.left |
||||||
|
anchors.baseline: rltAltFinalField.baseline |
||||||
|
text: "Final loiter altitude:" |
||||||
|
exclusiveGroup: landLoiterRadioGroup |
||||||
|
|
||||||
|
onClicked: _rtlAltFinalFact.value = _rtlAltFact.value |
||||||
|
} |
||||||
|
|
||||||
|
FactTextField { |
||||||
|
id: rltAltFinalField |
||||||
|
anchors.topMargin: _margins / 2 |
||||||
|
anchors.left: rltAltField.left |
||||||
|
anchors.top: landSpeedField.bottom |
||||||
|
fact: _rtlAltFinalFact |
||||||
|
enabled: finalLoiterRadio.checked |
||||||
|
showUnits: true |
||||||
|
} |
||||||
|
} // Rectangle - RTL Settings |
||||||
|
} // Flickable |
||||||
|
} // QGCViewPanel |
||||||
|
} // QGCView |
@ -0,0 +1,33 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
text: "Not supported" |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
text: "Not supported" |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
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 } |
||||||
|
|
||||||
|
property Fact _rtlAltFact: controller.getParameterFact(-1, "RTL_ALT") |
||||||
|
property Fact _rtlLoitTimeFact: controller.getParameterFact(-1, "RTL_LOIT_TIME") |
||||||
|
property Fact _rtlAltFinalFact: controller.getParameterFact(-1, "RTL_ALT_FINAL") |
||||||
|
property Fact _landSpeedFact: controller.getParameterFact(-1, "LAND_SPEED") |
||||||
|
|
||||||
|
Column { |
||||||
|
anchors.fill: parent |
||||||
|
anchors.margins: 8 |
||||||
|
|
||||||
|
VehicleSummaryRow { |
||||||
|
labelText: "RTL min alt:" |
||||||
|
valueText: _rtlAltFact.value == 0 ? "current" : _rtlAltFact.valueString |
||||||
|
} |
||||||
|
|
||||||
|
VehicleSummaryRow { |
||||||
|
labelText: "RTL loiter time:" |
||||||
|
valueText: _rtlLoitTimeFact.valueString |
||||||
|
} |
||||||
|
|
||||||
|
VehicleSummaryRow { |
||||||
|
labelText: "RTL final alt:" |
||||||
|
valueText: _rtlAltFinalFact.value == 0 ? "Land" : _rtlAltFinalFact.valueString |
||||||
|
} |
||||||
|
|
||||||
|
VehicleSummaryRow { |
||||||
|
labelText: "Descent speed:" |
||||||
|
valueText: _landSpeedFact.valueString |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
text: "Not supported" |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
/*===================================================================== |
||||||
|
|
||||||
|
QGroundControl Open Source Ground Control Station |
||||||
|
|
||||||
|
(c) 2009 - 2015 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/>. |
||||||
|
|
||||||
|
======================================================================*/ |
||||||
|
|
||||||
|
import QtQuick 2.5 |
||||||
|
|
||||||
|
import QGroundControl.Controls 1.0 |
||||||
|
|
||||||
|
QGCLabel { |
||||||
|
anchors.fill: parent |
||||||
|
text: "Not supported" |
||||||
|
horizontalAlignment: Text.AlignHCenter |
||||||
|
verticalAlignment: Text.AlignVCenter |
||||||
|
} |
Loading…
Reference in new issue