Commit 929d4a02 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #4546 from dkschrad/master

Addition of "Abort" button
parents 7045df93 f16514fb
......@@ -218,6 +218,7 @@ Item {
readonly property int confirmGoTo: 8
readonly property int confirmRetask: 9
readonly property int confirmOrbit: 10
readonly property int confirmAbort: 11
property int confirmActionCode
property real _showMargin: _margins
......@@ -265,6 +266,9 @@ Item {
//-- Center on current flight map position and orbit with a 50m radius (velocity/direction controlled by the RC)
//_activeVehicle.guidedModeOrbit(QGroundControl.flightMapPosition, 50.0)
break;
case confirmAbort:
_activeVehicle.abortLanding(50) // hardcoded value for climbOutAltitude that is currently ignored
break;
default:
console.warn(qsTr("Internal error: unknown confirmActionCode"), confirmActionCode)
}
......@@ -316,6 +320,9 @@ Item {
case confirmOrbit:
guidedModeConfirm.confirmText = qsTr("enter orbit mode")
break;
case confirmAbort:
guidedModeConfirm.confirmText = qsTr("abort landing")
break;
}
_guidedModeBar.visible = false
guidedModeConfirm.visible = true
......@@ -383,6 +390,13 @@ Item {
onClicked: _guidedModeBar.confirmAction(_guidedModeBar.confirmOrbit)
}
QGCButton {
pointSize: _guidedModeBar._fontPointSize
text: qsTr("Abort")
visible: _activeVehicle && _activeVehicle.flying && _activeVehicle.fixedWing
onClicked: _guidedModeBar.confirmAction(_guidedModeBar.confirmAbort)
}
} // Row
} // Column
} // Rectangle - Guided mode buttons
......
......@@ -1897,6 +1897,14 @@ void Vehicle::pauseVehicle(void)
_firmwarePlugin->pauseVehicle(this);
}
void Vehicle::abortLanding(double climbOutAltitude)
{
sendMavCommand(defaultComponentId(),
MAV_CMD_DO_GO_AROUND,
true, // show error if fails
climbOutAltitude);
}
bool Vehicle::guidedMode(void) const
{
return _firmwarePlugin->isGuidedMode(this);
......
......@@ -364,6 +364,9 @@ public:
/// Command vehicle to kill all motors no matter what state
Q_INVOKABLE void emergencyStop(void);
/// Command vehicle to abort landing
Q_INVOKABLE void abortLanding(double climbOutAltitude);
/// Alter the current mission item on the vehicle
Q_INVOKABLE void setCurrentMissionSequence(int seq);
......
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