Browse Source

Merge pull request #5375 from DonLakeFlyer/APMGeoFence

Fix bad signalling when fence/rally not supported
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
c2a4428f66
  1. 1
      src/FirmwarePlugin/APM/APMGeoFenceManager.cc
  2. 7
      src/FirmwarePlugin/APM/APMRallyPointManager.cc
  3. 3
      src/MissionManager/PlanMasterController.cc
  4. 4
      src/Vehicle/Vehicle.cc

1
src/FirmwarePlugin/APM/APMGeoFenceManager.cc

@ -103,6 +103,7 @@ void APMGeoFenceManager::loadFromVehicle(void) @@ -103,6 +103,7 @@ void APMGeoFenceManager::loadFromVehicle(void)
_polygon.clear();
if (!_fenceSupported) {
emit loadComplete(_breachReturnPoint, _polygon);
return;
}

7
src/FirmwarePlugin/APM/APMRallyPointManager.cc

@ -53,12 +53,17 @@ void APMRallyPointManager::sendToVehicle(const QList<QGeoCoordinate>& rgPoints) @@ -53,12 +53,17 @@ void APMRallyPointManager::sendToVehicle(const QList<QGeoCoordinate>& rgPoints)
void APMRallyPointManager::loadFromVehicle(void)
{
if (_vehicle->isOfflineEditingVehicle() || !rallyPointsSupported() || _readTransactionInProgress) {
if (_vehicle->isOfflineEditingVehicle() || _readTransactionInProgress) {
return;
}
_rgPoints.clear();
if (!rallyPointsSupported()) {
emit loadComplete(QList<QGeoCoordinate>());
return;
}
_cReadRallyPoints = _vehicle->parameterManager()->getParameter(FactSystem::defaultComponentId, _rallyTotalParam)->rawValue().toInt();
qCDebug(RallyPointManagerLog) << "APMRallyPointManager::loadFromVehicle - point count" << _cReadRallyPoints;
if (_cReadRallyPoints == 0) {

3
src/MissionManager/PlanMasterController.cc

@ -155,6 +155,7 @@ void PlanMasterController::loadFromVehicle(void) @@ -155,6 +155,7 @@ void PlanMasterController::loadFromVehicle(void)
_loadGeoFence = true;
_syncInProgress = true;
emit syncInProgressChanged(true);
qCDebug(PlanMasterControllerLog) << "PlanMasterController::loadFromVehicle _missionController.loadFromVehicle";
_missionController.loadFromVehicle();
setDirty(false);
}
@ -166,6 +167,7 @@ void PlanMasterController::_loadMissionComplete(void) @@ -166,6 +167,7 @@ void PlanMasterController::_loadMissionComplete(void)
if (_editMode && _loadGeoFence) {
_loadGeoFence = false;
_loadRallyPoints = true;
qCDebug(PlanMasterControllerLog) << "PlanMasterController::_loadMissionComplete _geoFenceController.loadFromVehicle";
_geoFenceController.loadFromVehicle();
setDirty(false);
}
@ -175,6 +177,7 @@ void PlanMasterController::_loadGeoFenceComplete(void) @@ -175,6 +177,7 @@ void PlanMasterController::_loadGeoFenceComplete(void)
{
if (_editMode && _loadRallyPoints) {
_loadRallyPoints = false;
qCDebug(PlanMasterControllerLog) << "PlanMasterController::_loadGeoFenceComplete _rallyPointController.loadFromVehicle";
_rallyPointController.loadFromVehicle();
setDirty(false);
}

4
src/Vehicle/Vehicle.cc

@ -1804,6 +1804,7 @@ void Vehicle::_missionLoadComplete(void) @@ -1804,6 +1804,7 @@ void Vehicle::_missionLoadComplete(void)
// After the initial mission request completes we ask for the geofence
if (!_geoFenceManagerInitialRequestSent) {
_geoFenceManagerInitialRequestSent = true;
qCDebug(VehicleLog) << "_missionLoadComplete requesting geoFence";
_geoFenceManager->loadFromVehicle();
}
}
@ -1813,13 +1814,14 @@ void Vehicle::_geoFenceLoadComplete(void) @@ -1813,13 +1814,14 @@ void Vehicle::_geoFenceLoadComplete(void)
// After geofence request completes we ask for the rally points
if (!_rallyPointManagerInitialRequestSent) {
_rallyPointManagerInitialRequestSent = true;
qCDebug(VehicleLog) << "_missionLoadComplete requesting rally points";
_rallyPointManager->loadFromVehicle();
}
}
void Vehicle::_rallyPointLoadComplete(void)
{
qCDebug(VehicleLog) << "_missionLoadComplete _initialPlanRequestComplete = true";
_initialPlanRequestComplete = true;
}

Loading…
Cancel
Save