Browse Source

reverse some elevation changes

QGC4.4
jennerl 4 years ago committed by Lorenz Meier
parent
commit
801a092674
  1. 22
      src/Airmap/AirMapFlightPlanManager.cc
  2. 16
      src/Airmap/AirMapFlightPlanManager.h
  3. 2
      src/Airmap/AirMapManager.cc
  4. 4
      src/MissionManager/MissionController.cc
  5. 2
      src/MissionManager/MissionController.h

22
src/Airmap/AirMapFlightPlanManager.cc

@ -352,7 +352,7 @@ AirMapFlightPlanManager::_endFlight()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
bool bool
AirMapFlightPlanManager::_collectFlightDtata() AirMapFlightPlanManager::_collectFlightData()
{ {
if(!_planController || !_planController->missionController()) { if(!_planController || !_planController->missionController()) {
return false; return false;
@ -364,17 +364,11 @@ AirMapFlightPlanManager::_collectFlightDtata()
qCDebug(AirMapManagerLog) << "Not enough points for a flight plan."; qCDebug(AirMapManagerLog) << "Not enough points for a flight plan.";
return false; return false;
} }
if (_planController->missionController()->readyForSaveState() != VisualMissionItem::ReadyForSave) { // altitude reference for AirMap is takeoff altitude & all altitudes provided in the bounding cube are relative to takeoff already
qCDebug(AirMapManagerLog) << "No takeoff altitude"; _flight.takeoffCoord = _planController->missionController()->takeoffCoordinate();
return false; _flight.maxAltitudeAboveTakeoff = static_cast<float>(fmax(bc.pointNW.altitude(), bc.pointSE.altitude()));
} _flight.coords = bc.polygon2D();
float maxMissionAltitude = static_cast<float>(fmax(bc.pointNW.altitude(), bc.pointSE.altitude())); _flight.bc = bc;
double takeoffAltitude = _planController->missionController()->plannedHomePositionAltitude();
_flight.takeoffCoord = _planController->missionController()->takeoffCoordinate();
// altitude reference for AirMap is takeoff altitude, so adjust if altitudes specified in absolute terms
_flight.maxAltitudeAboveTakeoff = (_planController->missionController()->globalAltitudeMode() == QGroundControlQmlGlobal::AltitudeModeRelative) ? maxMissionAltitude : maxMissionAltitude - takeoffAltitude;
_flight.coords = bc.polygon2D();
_flight.bc = bc;
emit missionAreaChanged(); emit missionAreaChanged();
return true; return true;
} }
@ -386,7 +380,7 @@ AirMapFlightPlanManager::_createFlightPlan()
_flight.reset(); _flight.reset();
//-- Get flight data //-- Get flight data
if(!_collectFlightDtata()) { if(!_collectFlightData()) {
return; return;
} }
@ -574,7 +568,7 @@ AirMapFlightPlanManager::_updateFlightPlan(bool interactive)
return; return;
} }
//-- Get flight data //-- Get flight data
if(!_collectFlightDtata()) { if(!_collectFlightData()) {
return; return;
} }

16
src/Airmap/AirMapFlightPlanManager.h

@ -104,8 +104,8 @@ public:
void endFlight (QString flightID) override; void endFlight (QString flightID) override;
signals: signals:
void error (const QString& what, const QString& airmapdMessage, const QString& airmapdDetails); void error (const QString& what, const QString& airmapdMessage, const QString& airmapdDetails);
void flightIDChanged (QString flightID); void flightIDChanged (QString flightID);
private slots: private slots:
void _pollBriefing (); void _pollBriefing ();
@ -116,12 +116,12 @@ private slots:
void _loadFlightList (); void _loadFlightList ();
private: private:
void _createFlightPlan (); void _createFlightPlan ();
bool _collectFlightDtata (); bool _collectFlightData ();
void _updateFlightPlan (bool interactive = false); void _updateFlightPlan (bool interactive = false);
bool _findBriefFeature (const QString& name); bool _findBriefFeature (const QString& name);
void _updateFlightStartEndTime (airmap::DateTime& start_time, airmap::DateTime& end_time); void _updateFlightStartEndTime (airmap::DateTime& start_time, airmap::DateTime& end_time);
void _updateRulesAndFeatures (std::vector<airmap::RuleSet::Id>& rulesets, std::unordered_map<std::string, airmap::RuleSet::Feature::Value>& features, bool updateFeatures = false); void _updateRulesAndFeatures (std::vector<airmap::RuleSet::Id>& rulesets, std::unordered_map<std::string, airmap::RuleSet::Feature::Value>& features, bool updateFeatures = false);
private: private:
enum class State { enum class State {

2
src/Airmap/AirMapManager.cc

@ -169,7 +169,7 @@ AirMapManager::_settingsTimeout()
credentials.api_key = _shared.settings().apiKey.toStdString(); credentials.api_key = _shared.settings().apiKey.toStdString();
auto configuration = Client::default_production_configuration(credentials); auto configuration = Client::default_production_configuration(credentials);
configuration.telemetry.host = _telemetryHost; configuration.telemetry.host = _telemetryHost;
configuration.telemetry.port = 16060; configuration.telemetry.port = _telemetryPort;
qt::Client::create(configuration, _dispatchingLogger, this, [this](const qt::Client::CreateResult& result) { qt::Client::create(configuration, _dispatchingLogger, this, [this](const qt::Client::CreateResult& result) {
if (result) { if (result) {
qCDebug(AirMapManagerLog) << "Successfully created airmap::qt::Client instance"; qCDebug(AirMapManagerLog) << "Successfully created airmap::qt::Client instance";

4
src/MissionManager/MissionController.cc

@ -2661,7 +2661,3 @@ void MissionController::setGlobalAltitudeMode(QGroundControlQmlGlobal::AltitudeM
emit globalAltitudeModeChanged(); emit globalAltitudeModeChanged();
} }
} }
double MissionController::plannedHomePositionAltitude() {
return _settingsItem->plannedHomePositionAltitude()->rawValue().toDouble();
}

2
src/MissionManager/MissionController.h

@ -198,8 +198,6 @@ public:
QGCGeoBoundingCube* travelBoundingCube () { return &_travelBoundingCube; } QGCGeoBoundingCube* travelBoundingCube () { return &_travelBoundingCube; }
QGeoCoordinate takeoffCoordinate () { return _takeoffCoordinate; } QGeoCoordinate takeoffCoordinate () { return _takeoffCoordinate; }
double plannedHomePositionAltitude();
// Overrides from PlanElementController // Overrides from PlanElementController
bool supported (void) const final { return true; } bool supported (void) const final { return true; }
void start (bool flyView) final; void start (bool flyView) final;

Loading…
Cancel
Save