Commit f55279d9 authored by Gus Grubba's avatar Gus Grubba

WIP Making it possible to have a build without Airmap

Move all airmap related stuff to its own directory
parent 4abb2f6e
...@@ -130,9 +130,11 @@ contains (DEFINES, DISABLE_ZEROCONF) { ...@@ -130,9 +130,11 @@ contains (DEFINES, DISABLE_ZEROCONF) {
# #
contains (DEFINES, DISABLE_AIRMAP) { contains (DEFINES, DISABLE_AIRMAP) {
message("Skipping support for AirMap (manual override from command line)") message("Skipping support for AirMap (manual override from command line)")
DEFINES -= QGC_AIRMAP_ENABLED
# Otherwise the user can still disable this feature in the user_config.pri file. # Otherwise the user can still disable this feature in the user_config.pri file.
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, DISABLE_AIRMAP) { } else:exists(user_config.pri):infile(user_config.pri, DEFINES, DISABLE_AIRMAP) {
message("Skipping support for AirMap (manual override from user_config.pri)") message("Skipping support for AirMap (manual override from user_config.pri)")
DEFINES -= QGC_AIRMAP_ENABLED
} else { } else {
AIRMAPD_PATH = $$PWD/libs/airmapd AIRMAPD_PATH = $$PWD/libs/airmapd
INCLUDEPATH += \ INCLUDEPATH += \
......
...@@ -172,13 +172,6 @@ ...@@ -172,13 +172,6 @@
<file alias="APM/BrandImageSub">src/FirmwarePlugin/APM/APMBrandImageSub.png</file> <file alias="APM/BrandImageSub">src/FirmwarePlugin/APM/APMBrandImageSub.png</file>
<file alias="PX4/BrandImage">src/FirmwarePlugin/PX4/PX4BrandImage.png</file> <file alias="PX4/BrandImage">src/FirmwarePlugin/PX4/PX4BrandImage.png</file>
<file alias="subVehicleArrowOpaque.png">src/FlightMap/Images/sub.png</file> <file alias="subVehicleArrowOpaque.png">src/FlightMap/Images/sub.png</file>
<file alias="advisory-icon.svg">src/Airmap/images/advisory-icon.svg</file>
</qresource>
<qresource prefix="/airmap">
<file alias="advisory-icon.svg">src/Airmap/images/advisory-icon.svg</file>
<file alias="colapse.svg">src/Airmap/images/colapse.svg</file>
<file alias="expand.svg">src/Airmap/images/expand.svg</file>
<file alias="pencil.svg">src/Airmap/images/pencil.svg</file>
</qresource> </qresource>
<qresource prefix="/res"> <qresource prefix="/res">
<file alias="action.svg">resources/action.svg</file> <file alias="action.svg">resources/action.svg</file>
......
...@@ -505,9 +505,6 @@ HEADERS += \ ...@@ -505,9 +505,6 @@ HEADERS += \
src/LogCompressor.h \ src/LogCompressor.h \
src/MG.h \ src/MG.h \
src/MissionManager/CameraCalc.h \ src/MissionManager/CameraCalc.h \
src/MissionManager/AirspaceController.h \
src/MissionManager/AirMapManager.h \
src/MissionManager/AirspaceManagement.h \
src/MissionManager/CameraSection.h \ src/MissionManager/CameraSection.h \
src/MissionManager/CameraSpec.h \ src/MissionManager/CameraSpec.h \
src/MissionManager/ComplexMissionItem.h \ src/MissionManager/ComplexMissionItem.h \
...@@ -567,7 +564,6 @@ HEADERS += \ ...@@ -567,7 +564,6 @@ HEADERS += \
src/QmlControls/RCChannelMonitorController.h \ src/QmlControls/RCChannelMonitorController.h \
src/QmlControls/ScreenToolsController.h \ src/QmlControls/ScreenToolsController.h \
src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \ src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \
src/Settings/AirMapSettings.h \
src/Settings/AppSettings.h \ src/Settings/AppSettings.h \
src/Settings/AutoConnectSettings.h \ src/Settings/AutoConnectSettings.h \
src/Settings/BrandImageSettings.h \ src/Settings/BrandImageSettings.h \
...@@ -594,6 +590,7 @@ HEADERS += \ ...@@ -594,6 +590,7 @@ HEADERS += \
src/uas/UASMessageHandler.h \ src/uas/UASMessageHandler.h \
src/UTM.h \ src/UTM.h \
AndroidBuild { AndroidBuild {
HEADERS += \ HEADERS += \
src/Joystick/JoystickAndroid.h \ src/Joystick/JoystickAndroid.h \
...@@ -701,9 +698,6 @@ SOURCES += \ ...@@ -701,9 +698,6 @@ SOURCES += \
src/JsonHelper.cc \ src/JsonHelper.cc \
src/LogCompressor.cc \ src/LogCompressor.cc \
src/MissionManager/CameraCalc.cc \ src/MissionManager/CameraCalc.cc \
src/MissionManager/AirspaceController.cc \
src/MissionManager/AirMapManager.cc \
src/MissionManager/AirspaceManagement.cc \
src/MissionManager/CameraSection.cc \ src/MissionManager/CameraSection.cc \
src/MissionManager/CameraSpec.cc \ src/MissionManager/CameraSpec.cc \
src/MissionManager/ComplexMissionItem.cc \ src/MissionManager/ComplexMissionItem.cc \
...@@ -760,7 +754,6 @@ SOURCES += \ ...@@ -760,7 +754,6 @@ SOURCES += \
src/QmlControls/RCChannelMonitorController.cc \ src/QmlControls/RCChannelMonitorController.cc \
src/QmlControls/ScreenToolsController.cc \ src/QmlControls/ScreenToolsController.cc \
src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \ src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \
src/Settings/AirMapSettings.cc \
src/Settings/AppSettings.cc \ src/Settings/AppSettings.cc \
src/Settings/AutoConnectSettings.cc \ src/Settings/AutoConnectSettings.cc \
src/Settings/BrandImageSettings.cc \ src/Settings/BrandImageSettings.cc \
...@@ -1061,6 +1054,29 @@ SOURCES += \ ...@@ -1061,6 +1054,29 @@ SOURCES += \
src/FactSystem/ParameterManager.cc \ src/FactSystem/ParameterManager.cc \
src/FactSystem/SettingsFact.cc \ src/FactSystem/SettingsFact.cc \
#-------------------------------------------------------------------------------------
# AirMap
contains (DEFINES, QGC_AIRMAP_ENABLED) {
RESOURCES += \
src/Airmap/airmap.qrc
INCLUDEPATH += \
src/Airmap
HEADERS += \
src/Airmap/AirspaceController.h \
src/Airmap/AirMapManager.h \
src/Airmap/AirspaceManagement.h \
src/Airmap/AirMapSettings.h
SOURCES += \
src/Airmap/AirMapManager.cc \
src/Airmap/AirspaceManagement.cc \
src/Airmap/AirspaceController.cc \
src/Airmap/AirMapSettings.cc
}
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
# Video Streaming # Video Streaming
......
...@@ -15,10 +15,6 @@ ...@@ -15,10 +15,6 @@
<file alias="JoystickIndicator.qml">src/ui/toolbar/JoystickIndicator.qml</file> <file alias="JoystickIndicator.qml">src/ui/toolbar/JoystickIndicator.qml</file>
</qresource> </qresource>
<qresource prefix="/qml"> <qresource prefix="/qml">
<file alias="QGroundControl/Airmap/qmldir">src/Airmap/QGroundControl.Airmap.qmldir</file>
<file alias="QGroundControl/Airmap/AirspaceControl.qml">src/Airmap/AirspaceControl.qml</file>
<file alias="QGroundControl/Airmap/AirspaceRegulation.qml">src/Airmap/AirspaceRegulation.qml</file>
<file alias="AirmapSettings.qml">src/Airmap/AirmapSettings.qml</file>
<file alias="AnalyzeView.qml">src/AnalyzeView/AnalyzeView.qml</file> <file alias="AnalyzeView.qml">src/AnalyzeView/AnalyzeView.qml</file>
<file alias="AppSettings.qml">src/ui/AppSettings.qml</file> <file alias="AppSettings.qml">src/ui/AppSettings.qml</file>
<file alias="BluetoothSettings.qml">src/ui/preferences/BluetoothSettings.qml</file> <file alias="BluetoothSettings.qml">src/ui/preferences/BluetoothSettings.qml</file>
...@@ -199,7 +195,6 @@ ...@@ -199,7 +195,6 @@
<file alias="MavCmdInfoRover.json">src/MissionManager/MavCmdInfoRover.json</file> <file alias="MavCmdInfoRover.json">src/MissionManager/MavCmdInfoRover.json</file>
<file alias="MavCmdInfoSub.json">src/MissionManager/MavCmdInfoSub.json</file> <file alias="MavCmdInfoSub.json">src/MissionManager/MavCmdInfoSub.json</file>
<file alias="MavCmdInfoVTOL.json">src/MissionManager/MavCmdInfoVTOL.json</file> <file alias="MavCmdInfoVTOL.json">src/MissionManager/MavCmdInfoVTOL.json</file>
<file alias="AirMap.SettingsGroup.json">src/Settings/AirMap.SettingsGroup.json</file>
<file alias="App.SettingsGroup.json">src/Settings/App.SettingsGroup.json</file> <file alias="App.SettingsGroup.json">src/Settings/App.SettingsGroup.json</file>
<file alias="AutoConnect.SettingsGroup.json">src/Settings/AutoConnect.SettingsGroup.json</file> <file alias="AutoConnect.SettingsGroup.json">src/Settings/AutoConnect.SettingsGroup.json</file>
<file alias="FlightMap.SettingsGroup.json">src/Settings/FlightMap.SettingsGroup.json</file> <file alias="FlightMap.SettingsGroup.json">src/Settings/FlightMap.SettingsGroup.json</file>
......
<RCC>
<qresource prefix="/qml">
<file alias="QGroundControl/Airmap/qmldir">QGroundControl.Airmap.qmldir</file>
<file alias="QGroundControl/Airmap/AirspaceControl.qml">AirspaceControl.qml</file>
<file alias="QGroundControl/Airmap/AirspaceRegulation.qml">AirspaceRegulation.qml</file>
<file alias="AirmapSettings.qml">AirmapSettings.qml</file>
</qresource>
<qresource prefix="/json">
<file alias="AirMap.SettingsGroup.json">AirMap.SettingsGroup.json</file>
</qresource>
<qresource prefix="/airmap">
<file alias="advisory-icon.svg">images/advisory-icon.svg</file>
<file alias="colapse.svg">images/colapse.svg</file>
<file alias="expand.svg">images/expand.svg</file>
<file alias="pencil.svg">images/pencil.svg</file>
</qresource>
</RCC>
...@@ -633,7 +633,7 @@ QGCView { ...@@ -633,7 +633,7 @@ QGCView {
width: airspaceRow.width + (ScreenTools.defaultFontPixelWidth * 3) width: airspaceRow.width + (ScreenTools.defaultFontPixelWidth * 3)
height: airspaceRow.height * 1.25 height: airspaceRow.height * 1.25
color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.95) : Qt.rgba(0,0,0,0.75) color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(1,1,1,0.95) : Qt.rgba(0,0,0,0.75)
visible: _mainIsMap && flightPermit && flightPermit !== AirspaceAuthorization.PermitUnknown && !messageArea.visible && !criticalMmessageArea.visible visible: QGroundControl.airmapSupported && _mainIsMap && flightPermit && flightPermit !== AirspaceAuthorization.PermitUnknown && !messageArea.visible && !criticalMmessageArea.visible
radius: 3 radius: 3
border.width: 1 border.width: 1
border.color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(0,0,0,0.35) : Qt.rgba(1,1,1,0.35) border.color: qgcPal.globalTheme === QGCPalette.Light ? Qt.rgba(0,0,0,0.35) : Qt.rgba(1,1,1,0.35)
...@@ -669,8 +669,8 @@ QGCView { ...@@ -669,8 +669,8 @@ QGCView {
anchors.verticalCenter: parent.verticalCenter; anchors.verticalCenter: parent.verticalCenter;
} }
} }
property var flightPermit: _activeVehicle ? _activeVehicle.flightPermitStatus : null property var flightPermit: (QGroundControl.airmapSupported && _activeVehicle) ? _activeVehicle.flightPermitStatus : null
property var providerName: _activeVehicle ? _activeVehicle.airspaceController.providerName : "" property var providerName: _activeVehicle ? _activeVehicle.airspaceController.providerName : ""
} }
} }
...@@ -58,7 +58,7 @@ FlightMap { ...@@ -58,7 +58,7 @@ FlightMap {
// Track last known map position and zoom from Fly view in settings // Track last known map position and zoom from Fly view in settings
onZoomLevelChanged: QGroundControl.flightMapZoom = zoomLevel onZoomLevelChanged: QGroundControl.flightMapZoom = zoomLevel
onCenterChanged: { onCenterChanged: {
if(_activeVehicle) { if(_activeVehicle && QGroundControl.airmapSupported) {
_activeVehicle.airspaceController.setROI(center, 5000) _activeVehicle.airspaceController.setROI(center, 5000)
} }
QGroundControl.flightMapPosition = center QGroundControl.flightMapPosition = center
...@@ -331,7 +331,7 @@ FlightMap { ...@@ -331,7 +331,7 @@ FlightMap {
// Airspace overlap support // Airspace overlap support
MapItemView { MapItemView {
model: _activeVehicle ? _activeVehicle.airspaceController.circles : [] model: QGroundControl.airmapSupported && _activeVehicle ? _activeVehicle.airspaceController.circles : []
delegate: MapCircle { delegate: MapCircle {
center: object.center center: object.center
radius: object.radius radius: object.radius
...@@ -342,7 +342,7 @@ FlightMap { ...@@ -342,7 +342,7 @@ FlightMap {
} }
MapItemView { MapItemView {
model: _activeVehicle ? _activeVehicle.airspaceController.polygons : [] model: QGroundControl.airmapSupported && _activeVehicle ? _activeVehicle.airspaceController.polygons : []
delegate: MapPolygon { delegate: MapPolygon {
border.color: "white" border.color: "white"
color: "yellow" color: "yellow"
......
...@@ -21,7 +21,9 @@ GeoFenceManager::GeoFenceManager(Vehicle* vehicle) ...@@ -21,7 +21,9 @@ GeoFenceManager::GeoFenceManager(Vehicle* vehicle)
: _vehicle (vehicle) : _vehicle (vehicle)
, _planManager (vehicle, MAV_MISSION_TYPE_FENCE) , _planManager (vehicle, MAV_MISSION_TYPE_FENCE)
, _firstParamLoadComplete (false) , _firstParamLoadComplete (false)
#if defined(QGC_AIRMAP_ENABLED)
, _airspaceManager (qgcApp()->toolbox()->airspaceManager()) , _airspaceManager (qgcApp()->toolbox()->airspaceManager())
#endif
{ {
connect(&_planManager, &PlanManager::inProgressChanged, this, &GeoFenceManager::inProgressChanged); connect(&_planManager, &PlanManager::inProgressChanged, this, &GeoFenceManager::inProgressChanged);
connect(&_planManager, &PlanManager::error, this, &GeoFenceManager::error); connect(&_planManager, &PlanManager::error, this, &GeoFenceManager::error);
......
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
#include <QObject> #include <QObject>
#include <QGeoCoordinate> #include <QGeoCoordinate>
#if defined(QGC_AIRMAP_ENABLED)
#include "AirspaceManagement.h" #include "AirspaceManagement.h"
#endif
#include "QGCLoggingCategory.h" #include "QGCLoggingCategory.h"
#include "FactSystem.h" #include "FactSystem.h"
#include "PlanManager.h" #include "PlanManager.h"
...@@ -97,7 +100,9 @@ private: ...@@ -97,7 +100,9 @@ private:
bool _firstParamLoadComplete; bool _firstParamLoadComplete;
QList<QGCFencePolygon> _sendPolygons; QList<QGCFencePolygon> _sendPolygons;
QList<QGCFenceCircle> _sendCircles; QList<QGCFenceCircle> _sendCircles;
#if defined(QGC_AIRMAP_ENABLED)
AirspaceManager* _airspaceManager; AirspaceManager* _airspaceManager;
#endif
}; };
#endif #endif
...@@ -79,11 +79,13 @@ void PlanManager::writeMissionItems(const QList<MissionItem*>& missionItems) ...@@ -79,11 +79,13 @@ void PlanManager::writeMissionItems(const QList<MissionItem*>& missionItems)
} }
if (_planType == MAV_MISSION_TYPE_MISSION) { if (_planType == MAV_MISSION_TYPE_MISSION) {
#if defined(QGC_AIRMAP_ENABLED)
// upload the flight to the airspace management backend // upload the flight to the airspace management backend
AirspaceManagerPerVehicle* airspaceManager = _vehicle->airspaceManager(); AirspaceManagerPerVehicle* airspaceManager = _vehicle->airspaceManager();
if (airspaceManager) { if (airspaceManager) {
airspaceManager->createFlight(missionItems); airspaceManager->createFlight(missionItems);
} }
#endif
} }
_clearAndDeleteWriteMissionItems(); _clearAndDeleteWriteMissionItems();
......
...@@ -84,8 +84,9 @@ ...@@ -84,8 +84,9 @@
#include "CameraCalc.h" #include "CameraCalc.h"
#include "VisualMissionItem.h" #include "VisualMissionItem.h"
#include "EditPositionDialogController.h" #include "EditPositionDialogController.h"
#if defined(QGC_AIRMAP_ENABLED)
#include "AirspaceController.h" #include "AirspaceController.h"
#endif
#ifndef NO_SERIAL_LINK #ifndef NO_SERIAL_LINK
#include "SerialLink.h" #include "SerialLink.h"
#endif #endif
...@@ -374,7 +375,6 @@ void QGCApplication::_initCommon(void) ...@@ -374,7 +375,6 @@ void QGCApplication::_initCommon(void)
qmlRegisterUncreatableType<ParameterManager> ("QGroundControl.Vehicle", 1, 0, "ParameterManager", "Reference only"); qmlRegisterUncreatableType<ParameterManager> ("QGroundControl.Vehicle", 1, 0, "ParameterManager", "Reference only");
qmlRegisterUncreatableType<QGCCameraManager> ("QGroundControl.Vehicle", 1, 0, "QGCCameraManager", "Reference only"); qmlRegisterUncreatableType<QGCCameraManager> ("QGroundControl.Vehicle", 1, 0, "QGCCameraManager", "Reference only");
qmlRegisterUncreatableType<QGCCameraControl> ("QGroundControl.Vehicle", 1, 0, "QGCCameraControl", "Reference only"); qmlRegisterUncreatableType<QGCCameraControl> ("QGroundControl.Vehicle", 1, 0, "QGCCameraControl", "Reference only");
qmlRegisterUncreatableType<AirspaceController> ("QGroundControl.Vehicle", 1, 0, "AirspaceController", "Reference only");
qmlRegisterUncreatableType<JoystickManager> ("QGroundControl.JoystickManager", 1, 0, "JoystickManager", "Reference only"); qmlRegisterUncreatableType<JoystickManager> ("QGroundControl.JoystickManager", 1, 0, "JoystickManager", "Reference only");
qmlRegisterUncreatableType<Joystick> ("QGroundControl.JoystickManager", 1, 0, "Joystick", "Reference only"); qmlRegisterUncreatableType<Joystick> ("QGroundControl.JoystickManager", 1, 0, "Joystick", "Reference only");
qmlRegisterUncreatableType<QGCPositionManager> ("QGroundControl.QGCPositionManager", 1, 0, "QGCPositionManager", "Reference only"); qmlRegisterUncreatableType<QGCPositionManager> ("QGroundControl.QGCPositionManager", 1, 0, "QGCPositionManager", "Reference only");
...@@ -383,6 +383,9 @@ void QGCApplication::_initCommon(void) ...@@ -383,6 +383,9 @@ void QGCApplication::_initCommon(void)
qmlRegisterUncreatableType<GeoFenceController> ("QGroundControl.Controllers", 1, 0, "GeoFenceController", "Reference only"); qmlRegisterUncreatableType<GeoFenceController> ("QGroundControl.Controllers", 1, 0, "GeoFenceController", "Reference only");
qmlRegisterUncreatableType<RallyPointController>("QGroundControl.Controllers", 1, 0, "RallyPointController", "Reference only"); qmlRegisterUncreatableType<RallyPointController>("QGroundControl.Controllers", 1, 0, "RallyPointController", "Reference only");
qmlRegisterUncreatableType<VisualMissionItem> ("QGroundControl.Controllers", 1, 0, "VisualMissionItem", "Reference only"); qmlRegisterUncreatableType<VisualMissionItem> ("QGroundControl.Controllers", 1, 0, "VisualMissionItem", "Reference only");
#if defined(QGC_AIRMAP_ENABLED)
qmlRegisterUncreatableType<AirspaceController> ("QGroundControl.Vehicle", 1, 0, "AirspaceController", "Reference only");
#endif
qmlRegisterType<ParameterEditorController> ("QGroundControl.Controllers", 1, 0, "ParameterEditorController"); qmlRegisterType<ParameterEditorController> ("QGroundControl.Controllers", 1, 0, "ParameterEditorController");
qmlRegisterType<ESP8266ComponentController> ("QGroundControl.Controllers", 1, 0, "ESP8266ComponentController"); qmlRegisterType<ESP8266ComponentController> ("QGroundControl.Controllers", 1, 0, "ESP8266ComponentController");
......
...@@ -30,7 +30,9 @@ ...@@ -30,7 +30,9 @@
#include "QGCOptions.h" #include "QGCOptions.h"
#include "SettingsManager.h" #include "SettingsManager.h"
#include "QGCApplication.h" #include "QGCApplication.h"
#if defined(QGC_AIRMAP_ENABLED)
#include "AirMapManager.h" #include "AirMapManager.h"
#endif
#if defined(QGC_CUSTOM_BUILD) #if defined(QGC_CUSTOM_BUILD)
#include CUSTOMHEADER #include CUSTOMHEADER
...@@ -57,7 +59,9 @@ QGCToolbox::QGCToolbox(QGCApplication* app) ...@@ -57,7 +59,9 @@ QGCToolbox::QGCToolbox(QGCApplication* app)
, _mavlinkLogManager (NULL) , _mavlinkLogManager (NULL)
, _corePlugin (NULL) , _corePlugin (NULL)
, _settingsManager (NULL) , _settingsManager (NULL)
#if defined(QGC_AIRMAP_ENABLED)
, _airspaceManager (NULL) , _airspaceManager (NULL)
#endif
{ {
// SettingsManager must be first so settings are available to any subsequent tools // SettingsManager must be first so settings are available to any subsequent tools
_settingsManager = new SettingsManager(app, this); _settingsManager = new SettingsManager(app, this);
...@@ -82,7 +86,9 @@ QGCToolbox::QGCToolbox(QGCApplication* app) ...@@ -82,7 +86,9 @@ QGCToolbox::QGCToolbox(QGCApplication* app)
_followMe = new FollowMe (app, this); _followMe = new FollowMe (app, this);
_videoManager = new VideoManager (app, this); _videoManager = new VideoManager (app, this);
_mavlinkLogManager = new MAVLinkLogManager (app, this); _mavlinkLogManager = new MAVLinkLogManager (app, this);
#if defined(QGC_AIRMAP_ENABLED)
_airspaceManager = new AirMapManager (app, this); _airspaceManager = new AirMapManager (app, this);
#endif
} }
void QGCToolbox::setChildToolboxes(void) void QGCToolbox::setChildToolboxes(void)
...@@ -109,7 +115,9 @@ void QGCToolbox::setChildToolboxes(void) ...@@ -109,7 +115,9 @@ void QGCToolbox::setChildToolboxes(void)
_qgcPositionManager->setToolbox(this); _qgcPositionManager->setToolbox(this);
_videoManager->setToolbox(this); _videoManager->setToolbox(this);
_mavlinkLogManager->setToolbox(this); _mavlinkLogManager->setToolbox(this);
#if defined(QGC_AIRMAP_ENABLED)
_airspaceManager->setToolbox(this); _airspaceManager->setToolbox(this);
#endif
} }
void QGCToolbox::_scanAndLoadPlugins(QGCApplication* app) void QGCToolbox::_scanAndLoadPlugins(QGCApplication* app)
......
...@@ -32,7 +32,9 @@ class VideoManager; ...@@ -32,7 +32,9 @@ class VideoManager;
class MAVLinkLogManager; class MAVLinkLogManager;
class QGCCorePlugin; class QGCCorePlugin;
class SettingsManager; class SettingsManager;
#if defined(QGC_AIRMAP_ENABLED)
class AirspaceManager; class AirspaceManager;
#endif
/// This is used to manage all of our top level services/tools /// This is used to manage all of our top level services/tools
class QGCToolbox : public QObject { class QGCToolbox : public QObject {
...@@ -57,8 +59,9 @@ public: ...@@ -57,8 +59,9 @@ public:
MAVLinkLogManager* mavlinkLogManager(void) { return _mavlinkLogManager; } MAVLinkLogManager* mavlinkLogManager(void) { return _mavlinkLogManager; }
QGCCorePlugin* corePlugin(void) { return _corePlugin; } QGCCorePlugin* corePlugin(void) { return _corePlugin; }
SettingsManager* settingsManager(void) { return _settingsManager; } SettingsManager* settingsManager(void) { return _settingsManager; }
#if defined(QGC_AIRMAP_ENABLED)
AirspaceManager* airspaceManager(void) { return _airspaceManager; } AirspaceManager* airspaceManager(void) { return _airspaceManager; }
#endif
#ifndef __mobile__ #ifndef __mobile__
GPSManager* gpsManager(void) { return _gpsManager; } GPSManager* gpsManager(void) { return _gpsManager; }
#endif #endif
...@@ -88,8 +91,9 @@ private: ...@@ -88,8 +91,9 @@ private:
MAVLinkLogManager* _mavlinkLogManager; MAVLinkLogManager* _mavlinkLogManager;
QGCCorePlugin* _corePlugin; QGCCorePlugin* _corePlugin;
SettingsManager* _settingsManager; SettingsManager* _settingsManager;
#if defined(QGC_AIRMAP_ENABLED)
AirspaceManager* _airspaceManager; AirspaceManager* _airspaceManager;
#endif
friend class QGCApplication; friend class QGCApplication;
}; };
......
...@@ -53,6 +53,7 @@ public: ...@@ -53,6 +53,7 @@ public:
Q_PROPERTY(QGCCorePlugin* corePlugin READ corePlugin CONSTANT) Q_PROPERTY(QGCCorePlugin* corePlugin READ corePlugin CONSTANT)
Q_PROPERTY(SettingsManager* settingsManager READ settingsManager CONSTANT) Q_PROPERTY(SettingsManager* settingsManager READ settingsManager CONSTANT)
Q_PROPERTY(FactGroup* gpsRtk READ gpsRtkFactGroup CONSTANT) Q_PROPERTY(FactGroup* gpsRtk READ gpsRtkFactGroup CONSTANT)
Q_PROPERTY(bool airmapSupported READ airmapSupported CONSTANT)
Q_PROPERTY(int supportedFirmwareCount READ supportedFirmwareCount CONSTANT) Q_PROPERTY(int supportedFirmwareCount READ supportedFirmwareCount CONSTANT)
...@@ -171,6 +172,11 @@ public: ...@@ -171,6 +172,11 @@ public:
QString qgcVersion(void) const { return qgcApp()->applicationVersion(); } QString qgcVersion(void) const { return qgcApp()->applicationVersion(); }
#if defined(QGC_AIRMAP_ENABLED)
bool airmapSupported() { return true; }
#else
bool airmapSupported() { return false; }
#endif
// Overrides from QGCTool // Overrides from QGCTool
virtual void setToolbox(QGCToolbox* toolbox); virtual void setToolbox(QGCToolbox* toolbox);
......
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
SettingsManager::SettingsManager(QGCApplication* app, QGCToolbox* toolbox) SettingsManager::SettingsManager(QGCApplication* app, QGCToolbox* toolbox)
: QGCTool(app, toolbox) : QGCTool(app, toolbox)
#if defined(QGC_AIRMAP_ENABLED)
, _airMapSettings (NULL) , _airMapSettings (NULL)
#endif
, _appSettings (NULL) , _appSettings (NULL)
, _unitsSettings (NULL) , _unitsSettings (NULL)
, _autoConnectSettings (NULL) , _autoConnectSettings (NULL)
...@@ -41,5 +43,7 @@ void SettingsManager::setToolbox(QGCToolbox *toolbox) ...@@ -41,5 +43,7 @@ void SettingsManager::setToolbox(QGCToolbox *toolbox)
_rtkSettings = new RTKSettings(this); _rtkSettings = new RTKSettings(this);
_guidedSettings = new GuidedSettings(this); _guidedSettings = new GuidedSettings(this);
_brandImageSettings = new BrandImageSettings(this); _brandImageSettings = new BrandImageSettings(this);
#if defined(QGC_AIRMAP_ENABLED)
_airMapSettings = new AirMapSettings(this); _airMapSettings = new AirMapSettings(this);
#endif
} }
...@@ -22,8 +22,9 @@ ...@@ -22,8 +22,9 @@
#include "RTKSettings.h" #include "RTKSettings.h"
#include "GuidedSettings.h" #include "GuidedSettings.h"
#include "BrandImageSettings.h" #include "BrandImageSettings.h"
#if defined(QGC_AIRMAP_ENABLED)
#include "AirMapSettings.h" #include "AirMapSettings.h"
#endif
#include <QVariantList> #include <QVariantList>
/// Provides access to all app settings /// Provides access to all app settings
...@@ -34,7 +35,9 @@ class SettingsManager : public QGCTool ...@@ -34,7 +35,9 @@ class SettingsManager : public QGCTool
public: public:
SettingsManager(QGCApplication* app, QGCToolbox* toolbox); SettingsManager(QGCApplication* app, QGCToolbox* toolbox);
#if defined(QGC_AIRMAP_ENABLED)
Q_PROPERTY(QObject* airMapSettings READ airMapSettings CONSTANT) Q_PROPERTY(QObject* airMapSettings READ airMapSettings CONSTANT)
#endif
Q_PROPERTY(QObject* appSettings READ appSettings CONSTANT) Q_PROPERTY(QObject* appSettings READ appSettings CONSTANT)
Q_PROPERTY(QObject* unitsSettings READ unitsSettings CONSTANT) Q_PROPERTY(QObject* unitsSettings READ unitsSettings CONSTANT)
Q_PROPERTY(QObject* autoConnectSettings READ autoConnectSettings CONSTANT) Q_PROPERTY(QObject* autoConnectSettings READ autoConnectSettings CONSTANT)
...@@ -47,7 +50,9 @@ public: ...@@ -47,7 +50,9 @@ public:
// Override from QGCTool // Override from QGCTool
virtual void setToolbox(QGCToolbox *toolbox); virtual void setToolbox(QGCToolbox *toolbox);
#if defined(QGC_AIRMAP_ENABLED)
AirMapSettings* airMapSettings (void) { return _airMapSettings; } AirMapSettings* airMapSettings (void) { return _airMapSettings; }
#endif
AppSettings* appSettings (void) { return _appSettings; } AppSettings* appSettings (void) { return _appSettings; }
UnitsSettings* unitsSettings (void) { return _unitsSettings; } UnitsSettings* unitsSettings (void) { return _unitsSettings; }
AutoConnectSettings* autoConnectSettings (void) { return _autoConnectSettings; } AutoConnectSettings* autoConnectSettings (void) { return _autoConnectSettings; }
...@@ -58,7 +63,9 @@ public: ...@@ -58,7 +63,9 @@ public:
BrandImageSettings* brandImageSettings (void) { return _brandImageSettings; } BrandImageSettings* brandImageSettings (void) { return _brandImageSettings; }
private: private:
#if defined(QGC_AIRMAP_ENABLED)
AirMapSettings* _airMapSettings; AirMapSettings* _airMapSettings;
#endif
AppSettings* _appSettings; AppSettings* _appSettings;
UnitsSettings* _unitsSettings; UnitsSettings* _unitsSettings;
AutoConnectSettings* _autoConnectSettings; AutoConnectSettings* _autoConnectSettings;
......
...@@ -38,8 +38,9 @@ ...@@ -38,8 +38,9 @@
#include "QGCCameraManager.h" #include "QGCCameraManager.h"
#include "VideoReceiver.h" #include "VideoReceiver.h"
#include "VideoManager.h" #include "VideoManager.h"
#if defined(QGC_AIRMAP_ENABLED)
#include "AirspaceController.h" #include "AirspaceController.h"
#endif
QGC_LOGGING_CATEGORY(VehicleLog, "VehicleLog") QGC_LOGGING_CATEGORY(VehicleLog, "VehicleLog")
#define UPDATE_TIMER 50 #define UPDATE_TIMER 50
...@@ -140,8 +141,10 @@ Vehicle::Vehicle(LinkInterface* link, ...@@ -140,8 +141,10 @@ Vehicle::Vehicle(LinkInterface* link,
, _rallyPointManager(NULL) , _rallyPointManager(NULL)
, _rallyPointManagerInitialRequestSent(false) , _rallyPointManagerInitialRequestSent(false)
, _parameterManager(NULL) , _parameterManager(NULL)
#if defined(QGC_AIRMAP_ENABLED)
, _airspaceController(NULL) , _airspaceController(NULL)
, _airspaceManagerPerVehicle(NULL) , _airspaceManagerPerVehicle(NULL)
#endif
, _armed(false) , _armed(false)
, _base_mode(0) , _base_mode(0)
, _custom_mode(0) , _custom_mode(0)
...@@ -265,8 +268,8 @@ Vehicle::Vehicle(LinkInterface* link, ...@@ -265,8 +268,8 @@ Vehicle::Vehicle(LinkInterface* link,
_adsbTimer.setSingleShot(false); _adsbTimer.setSingleShot(false);
_adsbTimer.start(1000); _adsbTimer.start(1000);
#if defined(QGC_AIRMAP_ENABLED)
_airspaceController = new AirspaceController(this); _airspaceController = new AirspaceController(this);
AirspaceManager* airspaceManager = _toolbox->airspaceManager(); AirspaceManager* airspaceManager = _toolbox->airspaceManager();
if (airspaceManager) { if (airspaceManager) {
_airspaceManagerPerVehicle = airspaceManager->instantiateVehicle(*this); _airspaceManagerPerVehicle = airspaceManager->instantiateVehicle(*this);
...@@ -275,7 +278,7 @@ Vehicle::Vehicle(LinkInterface* link, ...@@ -275,7 +278,7 @@ Vehicle::Vehicle(LinkInterface* link,
connect(_airspaceManagerPerVehicle, &AirspaceManagerPerVehicle::flightPermitStatusChanged, this, &Vehicle::flightPermitStatusChanged); connect(_airspaceManagerPerVehicle, &AirspaceManagerPerVehicle::flightPermitStatusChanged, this, &Vehicle::flightPermitStatusChanged);
} }
} }
#endif
} }
// Disconnected Vehicle for offline editing // Disconnected Vehicle for offline editing
...@@ -336,8 +339,10 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType, ...@@ -336,8 +339,10 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType,
, _rallyPointManager(NULL) , _rallyPointManager(NULL)
, _rallyPointManagerInitialRequestSent(false) , _rallyPointManagerInitialRequestSent(false)
, _parameterManager(NULL) , _parameterManager(NULL)
#if defined(QGC_AIRMAP_ENABLED)
, _airspaceController(NULL) , _airspaceController(NULL)
, _airspaceManagerPerVehicle(NULL) , _airspaceManagerPerVehicle(NULL)
#endif
, _armed(false) , _armed(false)
, _base_mode(0) , _base_mode(0)
, _custom_mode(0) , _custom_mode(0)
...@@ -471,9 +476,11 @@ Vehicle::~Vehicle() ...@@ -471,9 +476,11 @@ Vehicle::~Vehicle()
delete _mav; delete _mav;
_mav = NULL; _mav = NULL;
#if defined(QGC_AIRMAP_ENABLED)
if (_airspaceManagerPerVehicle) { if (_airspaceManagerPerVehicle) {
delete _airspaceManagerPerVehicle; delete _airspaceManagerPerVehicle;
} }
#endif
} }
void Vehicle::prepareDelete() void Vehicle::prepareDelete()
......
...@@ -20,7 +20,9 @@ ...@@ -20,7 +20,9 @@
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
#include "UASMessageHandler.h" #include "UASMessageHandler.h"
#include "SettingsFact.h" #include "SettingsFact.h"
#if defined(QGC_AIRMAP_ENABLED)
#include <AirspaceManagement.h> #include <AirspaceManagement.h>
#endif
class UAS; class UAS;
class UASInterface; class UASInterface;
...@@ -36,7 +38,9 @@ class UASMessage; ...@@ -36,7 +38,9 @@ class UASMessage;
class SettingsManager; class SettingsManager;
class ADSBVehicle; class ADSBVehicle;
class QGCCameraManager; class QGCCameraManager;
#if defined(QGC_AIRMAP_ENABLED)
class AirspaceController; class AirspaceController;
#endif
Q_DECLARE_LOGGING_CATEGORY(VehicleLog) Q_DECLARE_LOGGING_CATEGORY(VehicleLog)
...@@ -355,9 +359,10 @@ public: ...@@ -355,9 +359,10 @@ public:
Q_PROPERTY(QString hobbsMeter READ hobbsMeter NOTIFY hobbsMeterChanged) Q_PROPERTY(QString hobbsMeter READ hobbsMeter NOTIFY hobbsMeterChanged)
Q_PROPERTY(bool vtolInFwdFlight READ vtolInFwdFlight WRITE setVtolInFwdFlight NOTIFY vtolInFwdFlightChanged) Q_PROPERTY(bool vtolInFwdFlight READ vtolInFwdFlight WRITE setVtolInFwdFlight NOTIFY vtolInFwdFlightChanged)
Q_PROPERTY(bool highLatencyLink READ highLatencyLink NOTIFY highLatencyLinkChanged) 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 Q_PROPERTY(AirspaceAuthorization::PermitStatus flightPermitStatus READ flightPermitStatus NOTIFY flightPermitStatusChanged) ///< state of flight permission
Q_PROPERTY(AirspaceController* airspaceController READ airspaceController CONSTANT) Q_PROPERTY(AirspaceController* airspaceController READ airspaceController CONSTANT)
#endif
// Vehicle state used for guided control // Vehicle state used for guided control
Q_PROPERTY(bool flying READ flying NOTIFY flyingChanged) ///< Vehicle is flying 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) Q_PROPERTY(bool landing READ landing NOTIFY landingChanged) ///< Vehicle is in landing pattern (DO_LAND_START)
...@@ -576,8 +581,9 @@ public: ...@@ -576,8 +581,9 @@ public:
QmlObjectListModel* cameraTriggerPoints(void) { return &_cameraTriggerPoints; } QmlObjectListModel* cameraTriggerPoints(void) { return &_cameraTriggerPoints; }
QmlObjectListModel* adsbVehicles(void) { return &_adsbVehicles; } QmlObjectListModel* adsbVehicles(void) { return &_adsbVehicles; }
#if defined(QGC_AIRMAP_ENABLED)
AirspaceController* airspaceController() { return _airspaceController; } AirspaceController* airspaceController() { return _airspaceController; }
#endif
int flowImageIndex() { return _flowImageIndex; } int flowImageIndex() { return _flowImageIndex; }
//-- Mavlink Logging //-- Mavlink Logging
...@@ -761,10 +767,12 @@ public: ...@@ -761,10 +767,12 @@ public:
/// Vehicle is about to be deleted /// Vehicle is about to be deleted
void prepareDelete(); void prepareDelete();
#if defined(QGC_AIRMAP_ENABLED)
AirspaceAuthorization::PermitStatus flightPermitStatus() const AirspaceAuthorization::PermitStatus flightPermitStatus() const
{ return _airspaceManagerPerVehicle ? _airspaceManagerPerVehicle->flightPermitStatus() : AirspaceAuthorization::PermitUnknown; } { return _airspaceManagerPerVehicle ? _airspaceManagerPerVehicle->flightPermitStatus() : AirspaceAuthorization::PermitUnknown; }
AirspaceManagerPerVehicle* airspaceManager() const { return _airspaceManagerPerVehicle; } AirspaceManagerPerVehicle* airspaceManager() const { return _airspaceManagerPerVehicle; }
#endif
signals: signals:
void allLinksInactive(Vehicle* vehicle); void allLinksInactive(Vehicle* vehicle);
...@@ -800,8 +808,9 @@ signals: ...@@ -800,8 +808,9 @@ signals:
void capabilityBitsChanged(uint64_t capabilityBits); void capabilityBitsChanged(uint64_t capabilityBits);
void toolBarIndicatorsChanged(void); void toolBarIndicatorsChanged(void);
void highLatencyLinkChanged(bool highLatencyLink); void highLatencyLinkChanged(bool highLatencyLink);
#if defined(QGC_AIRMAP_ENABLED)
void flightPermitStatusChanged(); void flightPermitStatusChanged();
#endif
void messagesReceivedChanged (); void messagesReceivedChanged ();
void messagesSentChanged (); void messagesSentChanged ();
...@@ -1055,8 +1064,10 @@ private: ...@@ -1055,8 +1064,10 @@ private:
ParameterManager* _parameterManager; ParameterManager* _parameterManager;
#if defined(QGC_AIRMAP_ENABLED)
AirspaceController* _airspaceController; AirspaceController* _airspaceController;
AirspaceManagerPerVehicle* _airspaceManagerPerVehicle; AirspaceManagerPerVehicle* _airspaceManagerPerVehicle;
#endif
bool _armed; ///< true: vehicle is armed bool _armed; ///< true: vehicle is armed
uint8_t _base_mode; ///< base_mode from HEARTBEAT uint8_t _base_mode; ///< base_mode from HEARTBEAT
......
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