Commit b3c506ed authored by Gus Grubba's avatar Gus Grubba

Flight Plan WIP

Moved flight planning away from "Flight Management" to its own class. Planning does not need a connected vehicle.
parent 719189e9
......@@ -1080,7 +1080,7 @@ contains (DEFINES, QGC_AIRMAP_ENABLED) {
HEADERS += \
src/AirspaceManagement/AirspaceAdvisoryProvider.h \
src/AirspaceManagement/AirspaceAuthorization.h \
src/AirspaceManagement/AirspaceFlightPlanProvider.h \
src/AirspaceManagement/AirspaceManager.h \
src/AirspaceManagement/AirspaceRestriction.h \
src/AirspaceManagement/AirspaceRestrictionProvider.h \
......@@ -1090,6 +1090,7 @@ contains (DEFINES, QGC_AIRMAP_ENABLED) {
SOURCES += \
src/AirspaceManagement/AirspaceAdvisoryProvider.cc \
src/AirspaceManagement/AirspaceFlightPlanProvider.cc \
src/AirspaceManagement/AirspaceManager.cc \
src/AirspaceManagement/AirspaceRestriction.cc \
src/AirspaceManagement/AirspaceRestrictionProvider.cc \
......@@ -1107,6 +1108,7 @@ contains (DEFINES, QGC_AIRMAP_ENABLED) {
HEADERS += \
src/Airmap/AirMapAdvisoryManager.h \
src/Airmap/AirMapFlightManager.h \
src/Airmap/AirMapFlightPlanManager.h \
src/Airmap/AirMapManager.h \
src/Airmap/AirMapRestrictionManager.h \
src/Airmap/AirMapRulesetsManager.h \
......@@ -1121,6 +1123,7 @@ contains (DEFINES, QGC_AIRMAP_ENABLED) {
SOURCES += \
src/Airmap/AirMapAdvisoryManager.cc \
src/Airmap/AirMapFlightManager.cc \
src/Airmap/AirMapFlightPlanManager.cc \
src/Airmap/AirMapManager.cc \
src/Airmap/AirMapRestrictionManager.cc \
src/Airmap/AirMapRulesetsManager.cc \
......
......@@ -94,7 +94,7 @@ void AirMapFlightManager::createFlight(const QList<MissionItem*>& missionItems)
qCDebug(AirMapManagerLog) << "Got Pilot ID:"<<_pilotID;
_uploadFlight();
} else {
_flightPermitStatus = AirspaceAuthorization::PermitUnknown;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitUnknown;
emit flightPermitStatusChanged();
_state = State::Idle;
......@@ -108,7 +108,7 @@ void AirMapFlightManager::createFlight(const QList<MissionItem*>& missionItems)
_uploadFlight();
}
_flightPermitStatus = AirspaceAuthorization::PermitPending;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitPending;
emit flightPermitStatusChanged();
}
......@@ -252,7 +252,7 @@ void AirMapFlightManager::_checkForValidBriefing()
if (allValid) {
_submitPendingFlightPlan();
} else {
_flightPermitStatus = AirspaceAuthorization::PermitRejected;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitRejected;
emit flightPermitStatusChanged();
_state = State::Idle;
}
......@@ -337,9 +337,9 @@ void AirMapFlightManager::_pollBriefing()
if ((rejected || accepted) && !pending) {
if (rejected) { // rejected has priority
_flightPermitStatus = AirspaceAuthorization::PermitRejected;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitRejected;
} else {
_flightPermitStatus = AirspaceAuthorization::PermitAccepted;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitAccepted;
}
_currentFlightId = _pendingFlightId;
_pendingFlightPlan = "";
......@@ -370,7 +370,7 @@ void AirMapFlightManager::endFlight()
}
_endFlight(_currentFlightId);
_flightPermitStatus = AirspaceAuthorization::PermitUnknown;
_flightPermitStatus = AirspaceFlightPlanProvider::PermitUnknown;
emit flightPermitStatusChanged();
}
......
......@@ -11,7 +11,7 @@
#include "LifetimeChecker.h"
#include "AirMapSharedState.h"
#include "AirspaceAuthorization.h"
#include "AirspaceFlightPlanProvider.h"
#include <QObject>
#include <QTimer>
......@@ -31,7 +31,7 @@ public:
/// Send flight path to AirMap
void createFlight(const QList<MissionItem*>& missionItems);
AirspaceAuthorization::PermitStatus flightPermitStatus() const { return _flightPermitStatus; }
AirspaceFlightPlanProvider::PermitStatus flightPermitStatus() const { return _flightPermitStatus; }
const QString& flightID() const { return _currentFlightId; }
......@@ -96,7 +96,7 @@ private:
QString _currentFlightId; ///< Flight ID, empty if there is none
QString _pendingFlightId; ///< current flight ID, not necessarily accepted yet (once accepted, it's equal to _currentFlightId)
QString _pendingFlightPlan; ///< current flight plan, waiting to be submitted
AirspaceAuthorization::PermitStatus _flightPermitStatus = AirspaceAuthorization::PermitUnknown;
AirspaceFlightPlanProvider::PermitStatus _flightPermitStatus = AirspaceFlightPlanProvider::PermitUnknown;
QString _pilotID; ///< Pilot ID in the form "auth0|abc123"
bool _noFlightCreatedYet = true;
QTimer _pollTimer; ///< timer to poll for approval check
......
This diff is collapsed.
/****************************************************************************
*
* (c) 2017 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#pragma once
#include "LifetimeChecker.h"
#include "AirMapSharedState.h"
#include "AirspaceFlightPlanProvider.h"
#include <QObject>
#include <QTimer>
#include <QList>
#include <QGeoCoordinate>
//-----------------------------------------------------------------------------
/// class to upload a flight
class AirMapFlightPlanManager : public AirspaceFlightPlanProvider, public LifetimeChecker
{
Q_OBJECT
public:
AirMapFlightPlanManager(AirMapSharedState& shared, QObject *parent = nullptr);
PermitStatus flightPermitStatus () const override { return _flightPermitStatus; }
void createFlight (MissionController* missionController) override;
QString flightID () { return _flightPlan; }
signals:
void error (const QString& what, const QString& airmapdMessage, const QString& airmapdDetails);
private slots:
void _pollBriefing ();
void _missionBoundingCubeChanged ();
private:
void _uploadFlightPlan ();
void _createFlightPlan ();
private:
enum class State {
Idle,
GetPilotID,
FlightUpload,
FlightPolling,
};
struct Flight {
QList<QGeoCoordinate> coords;
QGeoCoordinate takeoffCoord;
float maxAltitude = 0;
void reset() {
coords.clear();
maxAltitude = 0;
}
};
Flight _flight; ///< flight pending to be uploaded
State _state = State::Idle;
AirMapSharedState& _shared;
QTimer _pollTimer; ///< timer to poll for approval check
QString _flightPlan; ///< Current flight plan
QString _pilotID; ///< Pilot ID in the form "auth0|abc123"
MissionController* _controller = nullptr;
bool _createPlan = true;
AirspaceFlightPlanProvider::PermitStatus _flightPermitStatus = AirspaceFlightPlanProvider::PermitUnknown;
};
......@@ -7,15 +7,16 @@
*
****************************************************************************/
#include "AirMapManager.h"
#include "AirMapAdvisoryManager.h"
#include "AirMapWeatherInfoManager.h"
#include "AirMapFlightPlanManager.h"
#include "AirMapManager.h"
#include "AirMapRestrictionManager.h"
#include "AirMapRulesetsManager.h"
#include "AirMapSettings.h"
#include "AirMapTelemetry.h"
#include "AirMapRestrictionManager.h"
#include "AirMapTrafficMonitor.h"
#include "AirMapVehicleManager.h"
#include "AirMapWeatherInfoManager.h"
#include "QmlObjectListModel.h"
#include "JsonHelper.h"
......@@ -155,8 +156,10 @@ AirMapManager::_instantiateAirspaceRestrictionProvider()
}
//-----------------------------------------------------------------------------
void
AirMapManager::createFlight(MissionController* missionController)
AirspaceFlightPlanProvider*
AirMapManager::_instantiateAirspaceFlightPlanProvider()
{
Q_UNUSED(missionController);
AirMapFlightPlanManager* flightPlan = new AirMapFlightPlanManager(_shared);
connect(flightPlan, &AirMapFlightPlanManager::error, this, &AirMapManager::_error);
return flightPlan;
}
......@@ -19,11 +19,6 @@
#include <memory>
class QGCToolbox;
class AirspaceVehicleManager;
class AirspaceRulesetsProvider;
class AirspaceWeatherInfoProvider;
class AirspaceAdvisoryProvider;
class AirspaceRestrictionProvider;
Q_DECLARE_LOGGING_CATEGORY(AirMapManagerLog)
......@@ -45,13 +40,13 @@ public:
QString providerName () const override { return QString("AirMap"); }
AirspaceVehicleManager* instantiateVehicle (const Vehicle& vehicle) override;
void createFlight (MissionController* missionController) override;
protected:
AirspaceRulesetsProvider* _instantiateRulesetsProvider () override;
AirspaceWeatherInfoProvider* _instatiateAirspaceWeatherInfoProvider () override;
AirspaceAdvisoryProvider* _instatiateAirspaceAdvisoryProvider () override;
AirspaceRestrictionProvider* _instantiateAirspaceRestrictionProvider () override;
AirspaceFlightPlanProvider* _instantiateAirspaceFlightPlanProvider () override;
private slots:
void _error (const QString& what, const QString& airmapdMessage, const QString& airmapdDetails);
......
......@@ -38,7 +38,7 @@ AirMapVehicleManager::createFlight(const QList<MissionItem*>& missionItems)
_flightManager.createFlight(missionItems);
}
AirspaceAuthorization::PermitStatus
AirspaceFlightPlanProvider::PermitStatus
AirMapVehicleManager::flightPermitStatus() const
{
return _flightManager.flightPermitStatus();
......@@ -83,7 +83,7 @@ void
AirMapVehicleManager::_flightPermitStatusChanged()
{
// activate traffic alerts
if (_flightManager.flightPermitStatus() == AirspaceAuthorization::PermitAccepted) {
if (_flightManager.flightPermitStatus() == AirspaceFlightPlanProvider::PermitAccepted) {
qCDebug(AirMapManagerLog) << "Subscribing to Traffic Alerts";
// since we already created the flight, we know that we have a valid login token
_trafficMonitor.startConnection(_flightManager.flightID());
......
......@@ -33,7 +33,7 @@ public:
void stopTelemetryStream () override;
bool isTelemetryStreaming () const override;
AirspaceAuthorization::PermitStatus flightPermitStatus() const override;
AirspaceFlightPlanProvider::PermitStatus flightPermitStatus() const override;
signals:
void error (const QString& what, const QString& airmapdMessage, const QString& airmapdDetails);
......
/****************************************************************************
*
* (c) 2017 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#include "AirspaceFlightPlanProvider.h"
AirspaceFlightPlanProvider::AirspaceFlightPlanProvider(QObject *parent)
: QObject(parent)
{
}
/****************************************************************************
*
* (c) 2017 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#pragma once
/**
* @file AirspaceFlightPlanProvider.h
* Create and maintain a flight plan
*/
#include <QObject>
class MissionController;
//-----------------------------------------------------------------------------
class AirspaceFlightPlanProvider : public QObject
{
Q_OBJECT
public:
enum PermitStatus {
PermitUnknown = 0,
PermitPending,
PermitAccepted,
PermitRejected,
};
Q_ENUM(PermitStatus)
AirspaceFlightPlanProvider (QObject *parent = nullptr);
virtual ~AirspaceFlightPlanProvider () {}
Q_PROPERTY(PermitStatus flightPermitStatus READ flightPermitStatus NOTIFY flightPermitStatusChanged) ///< state of flight permission
virtual PermitStatus flightPermitStatus () const { return PermitUnknown; }
virtual void createFlight (MissionController* missionController) = 0;
signals:
void flightPermitStatusChanged ();
};
......@@ -8,13 +8,14 @@
****************************************************************************/
#include "AirspaceManager.h"
#include "AirspaceWeatherInfoProvider.h"
#include "AirspaceAdvisoryProvider.h"
#include "AirspaceFlightPlanProvider.h"
#include "AirspaceManager.h"
#include "AirspaceRestriction.h"
#include "AirspaceRulesetsProvider.h"
#include "AirspaceRestrictionProvider.h"
#include "AirspaceRulesetsProvider.h"
#include "AirspaceVehicleManager.h"
#include "AirspaceWeatherInfoProvider.h"
#include "Vehicle.h"
#include "QGCApplication.h"
......@@ -29,7 +30,7 @@ AirspaceManager::AirspaceManager(QGCApplication* app, QGCToolbox* toolbox)
_roiUpdateTimer.setSingleShot(true);
connect(&_roiUpdateTimer, &QTimer::timeout, this, &AirspaceManager::_updateToROI);
qmlRegisterUncreatableType<AirspaceAdvisoryProvider> ("QGroundControl.Airspace", 1, 0, "AirspaceAdvisoryProvider", "Reference only");
qmlRegisterUncreatableType<AirspaceAuthorization> ("QGroundControl.Airspace", 1, 0, "AirspaceAuthorization", "Reference only");
qmlRegisterUncreatableType<AirspaceFlightPlanProvider> ("QGroundControl.Airspace", 1, 0, "AirspaceFlightPlanProvider", "Reference only");
qmlRegisterUncreatableType<AirspaceManager> ("QGroundControl.Airspace", 1, 0, "AirspaceManager", "Reference only");
qmlRegisterUncreatableType<AirspaceRestrictionProvider> ("QGroundControl.Airspace", 1, 0, "AirspaceRestrictionProvider", "Reference only");
qmlRegisterUncreatableType<AirspaceRule> ("QGroundControl.Airspace", 1, 0, "AirspaceRule", "Reference only");
......@@ -53,6 +54,9 @@ AirspaceManager::~AirspaceManager()
if(_airspaces) {
delete _airspaces;
}
if(_flightPlan) {
delete _flightPlan;
}
}
void AirspaceManager::setToolbox(QGCToolbox* toolbox)
......@@ -63,6 +67,7 @@ void AirspaceManager::setToolbox(QGCToolbox* toolbox)
_weatherProvider = _instatiateAirspaceWeatherInfoProvider();
_advisories = _instatiateAirspaceAdvisoryProvider();
_airspaces = _instantiateAirspaceRestrictionProvider();
_flightPlan = _instantiateAirspaceFlightPlanProvider();
}
void AirspaceManager::setROI(QGeoCoordinate center, double radiusMeters)
......
......@@ -33,14 +33,14 @@
#include <QList>
#include <QTimer>
class Vehicle;
class QGCApplication;
class AirspaceWeatherInfoProvider;
class AirspaceRulesetsProvider;
class AirspaceVehicleManager;
class AirspaceAdvisoryProvider;
class AirspaceFlightPlanProvider;
class AirspaceRestrictionProvider;
class MissionController;
class AirspaceRulesetsProvider;
class AirspaceVehicleManager;
class AirspaceWeatherInfoProvider;
class QGCApplication;
class Vehicle;
Q_DECLARE_LOGGING_CATEGORY(AirspaceManagementLog)
......@@ -60,6 +60,7 @@ public:
Q_PROPERTY(AirspaceAdvisoryProvider* advisories READ advisories CONSTANT)
Q_PROPERTY(AirspaceRulesetsProvider* ruleSets READ ruleSets CONSTANT)
Q_PROPERTY(AirspaceRestrictionProvider* airspaces READ airspaces CONSTANT)
Q_PROPERTY(AirspaceFlightPlanProvider* flightPlan READ flightPlan CONSTANT)
Q_PROPERTY(bool airspaceVisible READ airspaceVisible WRITE setAirspaceVisible NOTIFY airspaceVisibleChanged)
Q_INVOKABLE void setROI (QGeoCoordinate center, double radius);
......@@ -68,6 +69,7 @@ public:
AirspaceAdvisoryProvider* advisories () { return _advisories; }
AirspaceRulesetsProvider* ruleSets () { return _ruleSetsProvider; }
AirspaceRestrictionProvider* airspaces () { return _airspaces; }
AirspaceFlightPlanProvider* flightPlan () { return _flightPlan; }
void setToolbox(QGCToolbox* toolbox) override;
......@@ -81,11 +83,6 @@ public:
*/
virtual AirspaceVehicleManager* instantiateVehicle (const Vehicle& vehicle) = 0;
/**
* Create/upload a flight from a mission.
*/
virtual void createFlight (MissionController* missionController) = 0;
signals:
void airspaceVisibleChanged ();
......@@ -98,31 +95,21 @@ protected:
virtual void _setROI (const QGeoCoordinate& center, double radiusMeters);
/**
* Factory method to create an AirspaceRulesetsProvider object
* Factory methods
*/
virtual AirspaceRulesetsProvider* _instantiateRulesetsProvider () = 0;
/**
* Factory method to create an AirspaceRulesetsProvider object
*/
virtual AirspaceWeatherInfoProvider* _instatiateAirspaceWeatherInfoProvider () = 0;
/**
* Factory method to create an AirspaceAdvisoryProvider object
*/
virtual AirspaceAdvisoryProvider* _instatiateAirspaceAdvisoryProvider () = 0;
/**
* Factory method to create an AirspaceRestrictionProvider object
*/
virtual AirspaceRestrictionProvider* _instantiateAirspaceRestrictionProvider () = 0;
virtual AirspaceFlightPlanProvider* _instantiateAirspaceFlightPlanProvider () = 0;
protected:
bool _airspaceVisible;
AirspaceRulesetsProvider* _ruleSetsProvider = nullptr; ///< Rulesets that are shown in the UI
AirspaceWeatherInfoProvider* _weatherProvider = nullptr; ///< Weather info that is shown in the UI
AirspaceAdvisoryProvider* _advisories = nullptr; ///< Advisory info that is shown in the UI
AirspaceRestrictionProvider* _airspaces = nullptr; ///< Airspace info that is shown in the UI
AirspaceRulesetsProvider* _ruleSetsProvider = nullptr; ///< Rulesets
AirspaceWeatherInfoProvider* _weatherProvider = nullptr; ///< Weather info
AirspaceAdvisoryProvider* _advisories = nullptr; ///< Advisory info
AirspaceRestrictionProvider* _airspaces = nullptr; ///< Airspace info
AirspaceFlightPlanProvider* _flightPlan = nullptr; ///< Flight plan management
QTimer _roiUpdateTimer;
QGeoCoordinate _roiCenter;
double _roiRadius;
......
......@@ -9,7 +9,7 @@
#pragma once
#include "AirspaceAuthorization.h"
#include "AirspaceFlightPlanProvider.h"
#include "QGCMAVLink.h"
#include <QObject>
......@@ -40,7 +40,7 @@ public:
/**
* get the current flight permit status
*/
virtual AirspaceAuthorization::PermitStatus flightPermitStatus() const = 0;
virtual AirspaceFlightPlanProvider::PermitStatus flightPermitStatus() const = 0;
/**
* Setup the connection and start sending telemetry
......
......@@ -634,7 +634,7 @@ QGCView {
width: airspaceRow.width + (ScreenTools.defaultFontPixelWidth * 3)
height: airspaceRow.height * 1.25
color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.95) : Qt.rgba(0,0,0,0.75)
visible: QGroundControl.airmapSupported && _mainIsMap && flightPermit && flightPermit !== AirspaceAuthorization.PermitUnknown && !messageArea.visible && !criticalMmessageArea.visible
visible: QGroundControl.airmapSupported && _mainIsMap && flightPermit && flightPermit !== AirspaceFlightPlanProvider.PermitUnknown && !messageArea.visible && !criticalMmessageArea.visible
radius: 3
border.width: 1
border.color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(0,0,0,0.35) : Qt.rgba(1,1,1,0.35)
......@@ -649,20 +649,20 @@ QGCView {
QGCLabel {
text: {
if(airspaceIndicator.flightPermit) {
if(airspaceIndicator.flightPermit === AirspaceAuthorization.PermitPending)
if(airspaceIndicator.flightPermit === AirspaceFlightPlanProvider.PermitPending)
return qsTr("Approval Pending")
if(airspaceIndicator.flightPermit === AirspaceAuthorization.PermitAccepted)
if(airspaceIndicator.flightPermit === AirspaceFlightPlanProvider.PermitAccepted)
return qsTr("Flight Approved")
if(airspaceIndicator.flightPermit === AirspaceAuthorization.PermitRejected)
if(airspaceIndicator.flightPermit === AirspaceFlightPlanProvider.PermitRejected)
return qsTr("Flight Rejected")
}
return ""
}
color: {
if(airspaceIndicator.flightPermit) {
if(airspaceIndicator.flightPermit === AirspaceAuthorization.PermitPending)
if(airspaceIndicator.flightPermit === AirspaceFlightPlanProvider.PermitPending)
return qgcPal.colorOrange
if(airspaceIndicator.flightPermit === AirspaceAuthorization.PermitAccepted)
if(airspaceIndicator.flightPermit === AirspaceFlightPlanProvider.PermitAccepted)
return qgcPal.colorGreen
}
return qgcPal.colorRed
......@@ -670,7 +670,7 @@ QGCView {
anchors.verticalCenter: parent.verticalCenter;
}
}
property var flightPermit: (QGroundControl.airmapSupported && _activeVehicle) ? _activeVehicle.flightPermitStatus : null
property var flightPermit: QGroundControl.airmapSupported ? QGroundControl.airspaceManager.flightPlan.flightPermitStatus : null
property var providerName: QGroundControl.airspaceManager.providerName
}
......
......@@ -203,7 +203,7 @@ void MissionController::_newMissionItemsAvailableFromVehicle(bool removeAllReque
//-- If airspace management enabled, create new flight
#if defined(QGC_AIRMAP_ENABLED)
if(qgcApp()->toolbox()->settingsManager()->airMapSettings()->enableAirMap()->rawValue().toBool()) {
qgcApp()->toolbox()->airspaceManager()->createFlight(this);
qgcApp()->toolbox()->airspaceManager()->flightPlan()->createFlight(this);
}
#endif
}
......@@ -371,7 +371,7 @@ int MissionController::insertSimpleMissionItem(QGeoCoordinate coordinate, int i)
//-- If airspace management enabled and this is the first item, create new flight
#if defined(QGC_AIRMAP_ENABLED)
if(_visualItems->count() == 2 && qgcApp()->toolbox()->settingsManager()->airMapSettings()->enableAirMap()->rawValue().toBool()) {
qgcApp()->toolbox()->airspaceManager()->createFlight(this);
qgcApp()->toolbox()->airspaceManager()->flightPlan()->createFlight(this);
}
#endif
......@@ -464,7 +464,7 @@ int MissionController::insertComplexMissionItem(QString itemName, QGeoCoordinate
//-- If airspace management enabled and this is the first item, create new flight
#if defined(QGC_AIRMAP_ENABLED)
if(_visualItems->count() == 2 && qgcApp()->toolbox()->settingsManager()->airMapSettings()->enableAirMap()->rawValue().toBool()) {
qgcApp()->toolbox()->airspaceManager()->createFlight(this);
qgcApp()->toolbox()->airspaceManager()->flightPlan()->createFlight(this);
}
#endif
......
......@@ -78,16 +78,6 @@ void PlanManager::writeMissionItems(const QList<MissionItem*>& missionItems)
return;
}
if (_planType == MAV_MISSION_TYPE_MISSION) {
#if defined(QGC_AIRMAP_ENABLED)
// upload the flight to the airspace management backend
AirspaceVehicleManager* airspaceManager = _vehicle->airspaceManager();
if (airspaceManager) {
airspaceManager->createFlight(missionItems);
}
#endif
}
_clearAndDeleteWriteMissionItems();
bool skipFirstItem = _planType == MAV_MISSION_TYPE_MISSION && !_vehicle->firmwarePlugin()->sendHomePositionToVehicle();
......
......@@ -461,7 +461,6 @@ void Vehicle::_commonInit(void)
_airspaceVehicleManager = airspaceManager->instantiateVehicle(*this);
if (_airspaceVehicleManager) {
connect(_airspaceVehicleManager, &AirspaceVehicleManager::trafficUpdate, this, &Vehicle::_trafficUpdate);
connect(_airspaceVehicleManager, &AirspaceVehicleManager::flightPermitStatusChanged, this, &Vehicle::flightPermitStatusChanged);
}
}
#endif
......
......@@ -357,9 +357,6 @@ public:
Q_PROPERTY(QString hobbsMeter READ hobbsMeter NOTIFY hobbsMeterChanged)
Q_PROPERTY(bool vtolInFwdFlight READ vtolInFwdFlight WRITE setVtolInFwdFlight NOTIFY vtolInFwdFlightChanged)
Q_PROPERTY(bool highLatencyLink READ highLatencyLink NOTIFY highLatencyLinkChanged)
#if defined(QGC_AIRMAP_ENABLED)
Q_PROPERTY(AirspaceAuthorization::PermitStatus flightPermitStatus READ flightPermitStatus NOTIFY flightPermitStatusChanged) ///< state of flight permission
#endif
// Vehicle state used for guided control
Q_PROPERTY(bool flying READ flying NOTIFY flyingChanged) ///< Vehicle is flying
Q_PROPERTY(bool landing READ landing NOTIFY landingChanged) ///< Vehicle is in landing pattern (DO_LAND_START)
......@@ -762,9 +759,6 @@ public:
void prepareDelete();
#if defined(QGC_AIRMAP_ENABLED)
AirspaceAuthorization::PermitStatus flightPermitStatus() const
{ return _airspaceVehicleManager ? _airspaceVehicleManager->flightPermitStatus() : AirspaceAuthorization::PermitUnknown; }
AirspaceVehicleManager* airspaceManager() const { return _airspaceVehicleManager; }
#endif
......@@ -802,9 +796,6 @@ signals:
void capabilityBitsChanged(uint64_t capabilityBits);
void toolBarIndicatorsChanged(void);
void highLatencyLinkChanged(bool highLatencyLink);
#if defined(QGC_AIRMAP_ENABLED)
void flightPermitStatusChanged();
#endif
void messagesReceivedChanged ();
void messagesSentChanged ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment