diff --git a/src/Wima/WimaController.cc b/src/Wima/WimaController.cc index 5803ed372a9a6cb758c944171ff95bb7ba61ed5c..ee9c4a69344e6469f9f14b96542ea999cf737dd0 100644 --- a/src/Wima/WimaController.cc +++ b/src/Wima/WimaController.cc @@ -469,22 +469,22 @@ bool WimaController::fetchContainerData() _visualItems.clear(); _missionItems.clearAndDeleteContents(); _currentMissionItems.clearAndDeleteContents(); - _waypointPath.clear(); _currentWaypointPath.clear(); - emit visualItemsChanged(); - emit missionItemsChanged(); - emit currentMissionItemsChanged(); - emit currentWaypointPathChanged(); - - _localPlanDataValid = false; + _localPlanDataValid = false; - if (_container == nullptr) { + QSharedPointer planData; + if (_container != nullptr) { + planData = _container->pull(); + } else { qWarning("WimaController::fetchContainerData(): No container assigned!"); return false; } - QSharedPointer planData = _container->pull(); + // extract mission items + QList> tempMissionItems = planData->missionItems(); + if (tempMissionItems.size() < 1) + return false; // extract list with WimaAreas QList areaList = planData->areaList(); @@ -528,12 +528,12 @@ bool WimaController::fetchContainerData() if (areaCounter >= numAreas) break; - } + } - // extract mission items - QList> tempMissionItems = planData->missionItems(); - if (tempMissionItems.size() < 1) + if (areaCounter != numAreas) { + qWarning("WimaController::fetchContainerData(): areaCounter != numAreas"); return false; + } // create mission items _missionController->removeAll(); @@ -553,12 +553,8 @@ bool WimaController::fetchContainerData() SimpleMissionItem *visualItemCopy = new SimpleMissionItem(*visualItem, true, this); _missionItems.append(visualItemCopy); } - if (areaCounter != numAreas) - return false; - - if (!setTakeoffLandPosition()) - return false; + setTakeoffLandPosition(); updateWaypointPath(); // set _nextPhaseStartWaypointIndex to 1 @@ -567,15 +563,14 @@ bool WimaController::fetchContainerData() _nextPhaseStartWaypointIndex.setRawValue(reverse? _missionItems.count() : int(1)); connect(&_nextPhaseStartWaypointIndex, &Fact::rawValueChanged, this, &WimaController::calcNextPhase); + /* if(!calcNextPhase()) return false; - - + */ emit visualItemsChanged(); emit missionItemsChanged(); - _localPlanDataValid = true; return true; } diff --git a/src/Wima/WimaDataContainer.cc b/src/Wima/WimaDataContainer.cc index ada19108176a761b80072f4d9f97ae54c633a80d..b3ab1a22022490aa54dfc6322594d08e55c3e2e8 100644 --- a/src/Wima/WimaDataContainer.cc +++ b/src/Wima/WimaDataContainer.cc @@ -18,7 +18,12 @@ void WimaDataContainer::push(QSharedPointer planData) { _planData = planData; + auto start = std::chrono::high_resolution_clock::now(); emit newDataAvailable(); + qWarning() << "WimaDataContainer::push" + << std::chrono::duration_cast( + std::chrono::high_resolution_clock::now()-start).count() + << " ms"; } /*!