Browse Source

Merge branch 'Stable_V3.2' of https://github.com/mavlink/qgroundcontrol into StableMerge

QGC4.4
DonLakeFlyer 8 years ago
parent
commit
3f7b313fff
  1. 1
      src/FlightDisplay/FlightDisplayView.qml
  2. 15
      src/FlightDisplay/GuidedActionsController.qml
  3. 1
      src/MissionManager/MissionController.cc
  4. 1
      src/MissionManager/MissionController.h
  5. 14
      src/MissionManager/MissionManager.cc
  6. 1
      src/MissionManager/MissionManager.h

1
src/FlightDisplay/FlightDisplayView.qml

@ -106,6 +106,7 @@ QGCView { @@ -106,6 +106,7 @@ QGCView {
Connections {
target: _missionController
onResumeMissionReady: guidedActionsController.confirmAction(guidedActionsController.actionResumeMissionReady)
onResumeMissionUploadFail: guidedActionsController.confirmAction(guidedActionsController.actionResumeMissionUploadFail)
}
MessageDialog {

15
src/FlightDisplay/GuidedActionsController.qml

@ -41,6 +41,7 @@ Item { @@ -41,6 +41,7 @@ Item {
readonly property string startMissionTitle: qsTr("Start Mission")
readonly property string continueMissionTitle: qsTr("Continue Mission")
readonly property string resumeMissionTitle: qsTr("Resume Mission")
readonly property string resumeMissionUploadFailTitle: qsTr("Resume FAILED")
readonly property string pauseTitle: qsTr("Pause")
readonly property string changeAltTitle: qsTr("Change Altitude")
readonly property string orbitTitle: qsTr("Orbit")
@ -55,6 +56,7 @@ Item { @@ -55,6 +56,7 @@ Item {
readonly property string startMissionMessage: qsTr("Takeoff from ground and start the current mission.")
readonly property string continueMissionMessage: qsTr("Continue the mission from the current waypoint.")
property string resumeMissionMessage: qsTr("Resume the current mission. This will re-generate the mission from waypoint %1, takeoff and continue the mission.").arg(_resumeMissionIndex)
property string resumeMissionUploadFailMessage: qsTr("Upload of resume mission failed. Confirm to retry upload")
readonly property string resumeMissionReadyMessage: qsTr("Review the modified mission. Confirm if you want to takeoff and begin mission.")
readonly property string landMessage: qsTr("Land the vehicle at the current position.")
readonly property string rtlMessage: qsTr("Return to the home position of the vehicle.")
@ -81,9 +83,10 @@ Item { @@ -81,9 +83,10 @@ Item {
readonly property int actionContinueMission: 13
readonly property int actionResumeMission: 14
readonly property int actionResumeMissionReady: 15
readonly property int actionPause: 16
readonly property int actionMVPause: 17
readonly property int actionMVStartMission: 18
readonly property int actionResumeMissionUploadFail: 16
readonly property int actionPause: 17
readonly property int actionMVPause: 18
readonly property int actionMVStartMission: 19
property bool showEmergenyStop: !_hideEmergenyStop && _activeVehicle && _vehicleArmed && _vehicleFlying
property bool showArm: _activeVehicle && !_vehicleArmed
@ -213,6 +216,11 @@ Item { @@ -213,6 +216,11 @@ Item {
confirmDialog.message = resumeMissionMessage
confirmDialog.hideTrigger = Qt.binding(function() { return !showResumeMission })
break;
case actionResumeMissionUploadFail:
confirmDialog.title = resumeMissionUploadFailTitle
confirmDialog.message = resumeMissionUploadFailMessage
confirmDialog.hideTrigger = Qt.binding(function() { return !showResumeMission })
break;
case actionResumeMissionReady:
confirmDialog.title = resumeMissionTitle
confirmDialog.message = resumeMissionReadyMessage
@ -284,6 +292,7 @@ Item { @@ -284,6 +292,7 @@ Item {
_activeVehicle.guidedModeTakeoff()
break
case actionResumeMission:
case actionResumeMissionUploadFail:
missionController.resumeMission(missionController.resumeMissionIndex)
break
case actionResumeMissionReady:

1
src/MissionManager/MissionController.cc

@ -1478,6 +1478,7 @@ void MissionController::managerVehicleChanged(Vehicle* managerVehicle) @@ -1478,6 +1478,7 @@ void MissionController::managerVehicleChanged(Vehicle* managerVehicle)
connect(_missionManager, &MissionManager::currentIndexChanged, this, &MissionController::_currentMissionIndexChanged);
connect(_missionManager, &MissionManager::lastCurrentIndexChanged, this, &MissionController::resumeMissionIndexChanged);
connect(_missionManager, &MissionManager::resumeMissionReady, this, &MissionController::resumeMissionReady);
connect(_missionManager, &MissionManager::resumeMissionUploadFail, this, &MissionController::resumeMissionUploadFail);
connect(_managerVehicle, &Vehicle::homePositionChanged, this, &MissionController::_managerVehicleHomePositionChanged);
connect(_managerVehicle, &Vehicle::defaultCruiseSpeedChanged, this, &MissionController::_recalcMissionFlightStatus);
connect(_managerVehicle, &Vehicle::defaultHoverSpeedChanged, this, &MissionController::_recalcMissionFlightStatus);

1
src/MissionManager/MissionController.h

@ -160,6 +160,7 @@ signals: @@ -160,6 +160,7 @@ signals:
void complexMissionItemNamesChanged(void);
void resumeMissionIndexChanged(void);
void resumeMissionReady(void);
void resumeMissionUploadFail(void);
void batteryChangePointChanged(int batteryChangePoint);
void batteriesRequiredChanged(int batteriesRequired);
void plannedHomePositionChanged(QGeoCoordinate plannedHomePosition);

14
src/MissionManager/MissionManager.cc

@ -55,6 +55,7 @@ void MissionManager::_writeMissionItemsWorker(void) @@ -55,6 +55,7 @@ void MissionManager::_writeMissionItemsWorker(void)
qCDebug(MissionManagerLog) << "writeMissionItems count:" << _writeMissionItems.count();
// Prime write list
_itemIndicesToWrite.clear();
for (int i=0; i<_writeMissionItems.count(); i++) {
_itemIndicesToWrite << i;
}
@ -63,11 +64,6 @@ void MissionManager::_writeMissionItemsWorker(void) @@ -63,11 +64,6 @@ void MissionManager::_writeMissionItemsWorker(void)
_retryCount = 0;
emit inProgressChanged(true);
_writeMissionCount();
_currentMissionIndex = -1;
_lastCurrentIndex = -1;
emit currentIndexChanged(-1);
emit lastCurrentIndexChanged(-1);
}
@ -875,6 +871,10 @@ void MissionManager::_finishTransaction(bool success) @@ -875,6 +871,10 @@ void MissionManager::_finishTransaction(bool success)
case TransactionWrite:
if (success) {
// Write succeeded, update internal list to be current
_currentMissionIndex = -1;
_lastCurrentIndex = -1;
emit currentIndexChanged(-1);
emit lastCurrentIndexChanged(-1);
_clearAndDeleteMissionItems();
for (int i=0; i<_writeMissionItems.count(); i++) {
_missionItems.append(_writeMissionItems[i]);
@ -895,7 +895,11 @@ void MissionManager::_finishTransaction(bool success) @@ -895,7 +895,11 @@ void MissionManager::_finishTransaction(bool success)
if (_resumeMission) {
_resumeMission = false;
if (success) {
emit resumeMissionReady();
} else {
emit resumeMissionUploadFail();
}
}
}

1
src/MissionManager/MissionManager.h

@ -88,6 +88,7 @@ signals: @@ -88,6 +88,7 @@ signals:
void currentIndexChanged(int currentIndex);
void lastCurrentIndexChanged(int lastCurrentIndex);
void resumeMissionReady(void);
void resumeMissionUploadFail(void);
void progressPct(double progressPercentPct);
void removeAllComplete (bool error);
void sendComplete (bool error);

Loading…
Cancel
Save