Browse Source

Merge pull request #5145 from DonLakeFlyer/SendPlanToVehicle

Fix PlanMasterController:sendPlanToVehicle
QGC4.4
Gus Grubba 8 years ago committed by GitHub
parent
commit
745f792ef0
  1. 12
      src/MissionManager/PlanMasterController.cc
  2. 1
      src/Vehicle/Vehicle.cc

12
src/MissionManager/PlanMasterController.cc

@ -74,6 +74,9 @@ void PlanMasterController::start(bool editMode) @@ -74,6 +74,9 @@ void PlanMasterController::start(bool editMode)
void PlanMasterController::startStaticActiveVehicle(Vehicle* vehicle)
{
_editMode = false;
_missionController.start(false);
_geoFenceController.start(false);
_rallyPointController.start(false);
_activeVehicleChanged(vehicle);
}
@ -186,7 +189,7 @@ void PlanMasterController::_loadRallyPointsComplete(void) @@ -186,7 +189,7 @@ void PlanMasterController::_loadRallyPointsComplete(void)
void PlanMasterController::_sendMissionComplete(void)
{
if (_editMode && _sendGeoFence) {
if (_sendGeoFence) {
qCDebug(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle start fence sendToVehicle";
_sendGeoFence = false;
_sendRallyPoints = true;
@ -197,7 +200,7 @@ void PlanMasterController::_sendMissionComplete(void) @@ -197,7 +200,7 @@ void PlanMasterController::_sendMissionComplete(void)
void PlanMasterController::_sendGeoFenceComplete(void)
{
if (_editMode && _sendRallyPoints) {
if (_sendRallyPoints) {
qCDebug(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle start rally sendToVehicle";
_sendRallyPoints = false;
_rallyPointController.sendToVehicle();
@ -206,7 +209,7 @@ void PlanMasterController::_sendGeoFenceComplete(void) @@ -206,7 +209,7 @@ void PlanMasterController::_sendGeoFenceComplete(void)
void PlanMasterController::_sendRallyPointsComplete(void)
{
if (_editMode && _syncInProgress) {
if (_syncInProgress) {
qCDebug(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle rally point send complete";
_syncInProgress = false;
emit syncInProgressChanged(false);
@ -217,8 +220,6 @@ void PlanMasterController::sendToVehicle(void) @@ -217,8 +220,6 @@ void PlanMasterController::sendToVehicle(void)
{
if (offline()) {
qCWarning(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle called while offline";
} else if (!_editMode) {
qCWarning(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle called from Fly view";
} else if (syncInProgress()) {
qCWarning(PlanMasterControllerLog) << "PlanMasterController::sendToVehicle called while syncInProgress";
} else {
@ -396,6 +397,7 @@ void PlanMasterController::sendPlanToVehicle(Vehicle* vehicle, const QString& fi @@ -396,6 +397,7 @@ void PlanMasterController::sendPlanToVehicle(Vehicle* vehicle, const QString& fi
PlanMasterController* controller = new PlanMasterController();
controller->startStaticActiveVehicle(vehicle);
controller->loadFromFile(filename);
controller->sendToVehicle();
delete controller;
}

1
src/Vehicle/Vehicle.cc

@ -1754,6 +1754,7 @@ void Vehicle::_startPlanRequest(void) @@ -1754,6 +1754,7 @@ void Vehicle::_startPlanRequest(void)
QDir missionAutoLoadDir(missionAutoLoadDirPath);
QString autoloadFilename = missionAutoLoadDir.absoluteFilePath(tr("AutoLoad%1.%2").arg(_id).arg(AppSettings::planFileExtension));
if (QFile(autoloadFilename).exists()) {
_initialPlanRequestComplete = true; // We aren't going to load from the vehicle, so we are done
PlanMasterController::sendPlanToVehicle(this, autoloadFilename);
return;
}

Loading…
Cancel
Save