13 changed files with 631 additions and 0 deletions
@ -0,0 +1,33 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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