Commit 0b451410 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #4402 from DonLakeFlyer/HomePositionManager

Remove unused code
parents 360cc7c6 b789a690
...@@ -423,7 +423,6 @@ HEADERS += \ ...@@ -423,7 +423,6 @@ HEADERS += \
src/FlightMap/Widgets/ValuesWidgetController.h \ src/FlightMap/Widgets/ValuesWidgetController.h \
src/FollowMe/FollowMe.h \ src/FollowMe/FollowMe.h \
src/GAudioOutput.h \ src/GAudioOutput.h \
src/HomePositionManager.h \
src/Joystick/Joystick.h \ src/Joystick/Joystick.h \
src/Joystick/JoystickManager.h \ src/Joystick/JoystickManager.h \
src/JsonHelper.h \ src/JsonHelper.h \
...@@ -588,7 +587,6 @@ SOURCES += \ ...@@ -588,7 +587,6 @@ SOURCES += \
src/FlightMap/Widgets/ValuesWidgetController.cc \ src/FlightMap/Widgets/ValuesWidgetController.cc \
src/FollowMe/FollowMe.cc \ src/FollowMe/FollowMe.cc \
src/GAudioOutput.cc \ src/GAudioOutput.cc \
src/HomePositionManager.cc \
src/Joystick/Joystick.cc \ src/Joystick/Joystick.cc \
src/Joystick/JoystickManager.cc \ src/Joystick/JoystickManager.cc \
src/JsonHelper.cc \ src/JsonHelper.cc \
......
/****************************************************************************
*
* (c) 2009-2016 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 <QList>
#include <QApplication>
#include <QTimer>
#include <QSettings>
#include <QtQml>
#include "UAS.h"
#include "UASInterface.h"
#include "HomePositionManager.h"
#include "QGC.h"
#include "QGCApplication.h"
#include "MultiVehicleManager.h"
#define PI 3.1415926535897932384626433832795
#define MEAN_EARTH_DIAMETER 12756274.0
#define UMR 0.017453292519943295769236907684886
const char* HomePositionManager::_settingsGroup = "HomePositionManager";
const char* HomePositionManager::_latitudeKey = "Latitude";
const char* HomePositionManager::_longitudeKey = "Longitude";
const char* HomePositionManager::_altitudeKey = "Altitude";
HomePositionManager::HomePositionManager(QGCApplication* app)
: QGCTool(app)
, homeLat(47.3769)
, homeLon(8.549444)
, homeAlt(470.0)
{
qmlRegisterUncreatableType<HomePositionManager> ("QGroundControl", 1, 0, "HomePositionManager", "Reference only");
}
void HomePositionManager::setToolbox(QGCToolbox *toolbox)
{
QGCTool::setToolbox(toolbox);
_loadSettings();
}
void HomePositionManager::_storeSettings(void)
{
QSettings settings;
settings.remove(_settingsGroup);
settings.beginGroup(_settingsGroup);
for (int i=0; i<_homePositions.count(); i++) {
HomePosition* homePos = qobject_cast<HomePosition*>(_homePositions[i]);
qDebug() << "Saving" << homePos->name();
settings.beginGroup(homePos->name());
settings.setValue(_latitudeKey, homePos->coordinate().latitude());
settings.setValue(_longitudeKey, homePos->coordinate().longitude());
settings.setValue(_altitudeKey, homePos->coordinate().altitude());
settings.endGroup();
}
settings.endGroup();
// Deprecated settings for old editor
settings.beginGroup("QGC_UASMANAGER");
settings.setValue("HOMELAT", homeLat);
settings.setValue("HOMELON", homeLon);
settings.setValue("HOMEALT", homeAlt);
settings.endGroup();
}
void HomePositionManager::_loadSettings(void)
{
QSettings settings;
_homePositions.clear();
settings.beginGroup(_settingsGroup);
foreach(const QString &name, settings.childGroups()) {
QGeoCoordinate coordinate;
qDebug() << "Load setting" << name;
settings.beginGroup(name);
coordinate.setLatitude(settings.value(_latitudeKey).toDouble());
coordinate.setLongitude(settings.value(_longitudeKey).toDouble());
coordinate.setAltitude(settings.value(_altitudeKey).toDouble());
settings.endGroup();
_homePositions.append(new HomePosition(name, coordinate, this));
}
settings.endGroup();
if (_homePositions.count() == 0) {
_homePositions.append(new HomePosition("ETH Campus", QGeoCoordinate(47.3769, 8.549444, 470.0), this));
}
}
void HomePositionManager::updateHomePosition(const QString& name, const QGeoCoordinate& coordinate)
{
HomePosition * homePos = NULL;
for (int i=0; i<_homePositions.count(); i++) {
homePos = qobject_cast<HomePosition*>(_homePositions[i]);
if (homePos->name() == name) {
break;
}
homePos = NULL;
}
if (homePos == NULL) {
HomePosition* homePos = new HomePosition(name, coordinate, this);
_homePositions.append(homePos);
} else {
homePos->setName(name);
homePos->setCoordinate(coordinate);
}
_storeSettings();
}
void HomePositionManager::deleteHomePosition(const QString& name)
{
// Don't allow delete of last position
if (_homePositions.count() == 1) {
return;
}
qDebug() << "Attempting delete" << name;
for (int i=0; i<_homePositions.count(); i++) {
if (qobject_cast<HomePosition*>(_homePositions[i])->name() == name) {
qDebug() << "Deleting" << name;
_homePositions.removeAt(i);
break;
}
}
_storeSettings();
}
HomePosition::HomePosition(const QString& name, const QGeoCoordinate& coordinate, HomePositionManager* homePositionManager, QObject* parent)
: QObject(parent)
, _coordinate(coordinate)
, _homePositionManager(homePositionManager)
{
setObjectName(name);
}
HomePosition::~HomePosition()
{
}
QString HomePosition::name(void)
{
return objectName();
}
void HomePosition::setName(const QString& name)
{
setObjectName(name);
_homePositionManager->_storeSettings();
emit nameChanged(name);
}
QGeoCoordinate HomePosition::coordinate(void)
{
return _coordinate;
}
void HomePosition::setCoordinate(const QGeoCoordinate& coordinate)
{
_coordinate = coordinate;
_homePositionManager->_storeSettings();
emit coordinateChanged(coordinate);
}
/****************************************************************************
*
* (c) 2009-2016 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.
*
****************************************************************************/
#ifndef HomePositionManager_H
#define HomePositionManager_H
#include "QmlObjectListModel.h"
#include "QGCToolbox.h"
#include <QGeoCoordinate>
class HomePositionManager;
class HomePosition : public QObject
{
Q_OBJECT
public:
HomePosition(const QString& name, const QGeoCoordinate& coordinate, HomePositionManager* homePositionManager, QObject* parent = NULL);
~HomePosition();
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(QGeoCoordinate coordinate READ coordinate WRITE setCoordinate NOTIFY coordinateChanged)
// Property accessors
QString name(void);
void setName(const QString& name);
QGeoCoordinate coordinate(void);
void setCoordinate(const QGeoCoordinate& coordinate);
signals:
void nameChanged(const QString& name);
void coordinateChanged(const QGeoCoordinate& coordinate);
private:
QGeoCoordinate _coordinate;
HomePositionManager* _homePositionManager;
};
class HomePositionManager : public QGCTool
{
Q_OBJECT
public:
HomePositionManager(QGCApplication* app);
Q_PROPERTY(QmlObjectListModel* homePositions READ homePositions CONSTANT)
/// If name is not already a home position a new one will be added, otherwise the existing
/// home position will be updated
Q_INVOKABLE void updateHomePosition(const QString& name, const QGeoCoordinate& coordinate);
Q_INVOKABLE void deleteHomePosition(const QString& name);
// Property accesors
QmlObjectListModel* homePositions(void) { return &_homePositions; }
// Should only be called by HomePosition
void _storeSettings(void);
// Override from QGCTool
virtual void setToolbox(QGCToolbox *toolbox);
private:
void _loadSettings(void);
QmlObjectListModel _homePositions;
static const char* _settingsGroup;
static const char* _latitudeKey;
static const char* _longitudeKey;
static const char* _altitudeKey;
// Everything below is deprecated and will be removed once old Map code is removed
public:
// Deprecated methods
/** @brief Get home position latitude */
double getHomeLatitude() const {
return homeLat;
}
/** @brief Get home position longitude */
double getHomeLongitude() const {
return homeLon;
}
/** @brief Get home position altitude */
double getHomeAltitude() const {
return homeAlt;
}
protected:
double homeLat;
double homeLon;
double homeAlt;
};
#endif
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#include "CmdLineOptParser.h" #include "CmdLineOptParser.h"
#include "UDPLink.h" #include "UDPLink.h"
#include "LinkManager.h" #include "LinkManager.h"
#include "HomePositionManager.h"
#include "UASMessageHandler.h" #include "UASMessageHandler.h"
#include "QGCTemporaryFile.h" #include "QGCTemporaryFile.h"
#include "QGCPalette.h" #include "QGCPalette.h"
...@@ -63,7 +62,6 @@ ...@@ -63,7 +62,6 @@
#include "QmlObjectListModel.h" #include "QmlObjectListModel.h"
#include "MissionManager.h" #include "MissionManager.h"
#include "QGroundControlQmlGlobal.h" #include "QGroundControlQmlGlobal.h"
#include "HomePositionManager.h"
#include "FlightMapSettings.h" #include "FlightMapSettings.h"
#include "CoordinateVector.h" #include "CoordinateVector.h"
#include "MainToolBarController.h" #include "MainToolBarController.h"
......
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
#include "LinkManager.h" #include "LinkManager.h"
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
#include "FlightMapSettings.h" #include "FlightMapSettings.h"
#include "HomePositionManager.h"
#include "FirmwarePluginManager.h" #include "FirmwarePluginManager.h"
#include "MultiVehicleManager.h" #include "MultiVehicleManager.h"
#include "JoystickManager.h" #include "JoystickManager.h"
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#ifndef __mobile__ #ifndef __mobile__
#include "GPSManager.h" #include "GPSManager.h"
#endif #endif
#include "HomePositionManager.h"
#include "JoystickManager.h" #include "JoystickManager.h"
#include "LinkManager.h" #include "LinkManager.h"
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
...@@ -43,7 +42,6 @@ QGCToolbox::QGCToolbox(QGCApplication* app) ...@@ -43,7 +42,6 @@ QGCToolbox::QGCToolbox(QGCApplication* app)
#ifndef __mobile__ #ifndef __mobile__
, _gpsManager(NULL) , _gpsManager(NULL)
#endif #endif
, _homePositionManager(NULL)
, _imageProvider(NULL) , _imageProvider(NULL)
, _joystickManager(NULL) , _joystickManager(NULL)
, _linkManager(NULL) , _linkManager(NULL)
...@@ -67,7 +65,6 @@ QGCToolbox::QGCToolbox(QGCApplication* app) ...@@ -67,7 +65,6 @@ QGCToolbox::QGCToolbox(QGCApplication* app)
#ifndef __mobile__ #ifndef __mobile__
_gpsManager = new GPSManager(app); _gpsManager = new GPSManager(app);
#endif #endif
_homePositionManager = new HomePositionManager(app);
_imageProvider = new QGCImageProvider(app); _imageProvider = new QGCImageProvider(app);
_joystickManager = new JoystickManager(app); _joystickManager = new JoystickManager(app);
_linkManager = new LinkManager(app); _linkManager = new LinkManager(app);
...@@ -92,7 +89,6 @@ void QGCToolbox::setChildToolboxes(void) ...@@ -92,7 +89,6 @@ void QGCToolbox::setChildToolboxes(void)
#ifndef __mobile__ #ifndef __mobile__
_gpsManager->setToolbox(this); _gpsManager->setToolbox(this);
#endif #endif
_homePositionManager->setToolbox(this);
_imageProvider->setToolbox(this); _imageProvider->setToolbox(this);
_joystickManager->setToolbox(this); _joystickManager->setToolbox(this);
_linkManager->setToolbox(this); _linkManager->setToolbox(this);
...@@ -115,7 +111,6 @@ QGCToolbox::~QGCToolbox() ...@@ -115,7 +111,6 @@ QGCToolbox::~QGCToolbox()
delete _factSystem; delete _factSystem;
delete _firmwarePluginManager; delete _firmwarePluginManager;
delete _flightMapSettings; delete _flightMapSettings;
delete _homePositionManager;
delete _joystickManager; delete _joystickManager;
delete _linkManager; delete _linkManager;
delete _mavlinkProtocol; delete _mavlinkProtocol;
......
...@@ -18,7 +18,6 @@ class FirmwarePluginManager; ...@@ -18,7 +18,6 @@ class FirmwarePluginManager;
class FlightMapSettings; class FlightMapSettings;
class GAudioOutput; class GAudioOutput;
class GPSManager; class GPSManager;
class HomePositionManager;
class JoystickManager; class JoystickManager;
class FollowMe; class FollowMe;
class LinkManager; class LinkManager;
...@@ -44,7 +43,6 @@ public: ...@@ -44,7 +43,6 @@ public:
FirmwarePluginManager* firmwarePluginManager(void) { return _firmwarePluginManager; } FirmwarePluginManager* firmwarePluginManager(void) { return _firmwarePluginManager; }
FlightMapSettings* flightMapSettings(void) { return _flightMapSettings; } FlightMapSettings* flightMapSettings(void) { return _flightMapSettings; }
GAudioOutput* audioOutput(void) { return _audioOutput; } GAudioOutput* audioOutput(void) { return _audioOutput; }
HomePositionManager* homePositionManager(void) { return _homePositionManager; }
JoystickManager* joystickManager(void) { return _joystickManager; } JoystickManager* joystickManager(void) { return _joystickManager; }
LinkManager* linkManager(void) { return _linkManager; } LinkManager* linkManager(void) { return _linkManager; }
MAVLinkProtocol* mavlinkProtocol(void) { return _mavlinkProtocol; } MAVLinkProtocol* mavlinkProtocol(void) { return _mavlinkProtocol; }
...@@ -75,7 +73,6 @@ private: ...@@ -75,7 +73,6 @@ private:
#ifndef __mobile__ #ifndef __mobile__
GPSManager* _gpsManager; GPSManager* _gpsManager;
#endif #endif
HomePositionManager* _homePositionManager;
QGCImageProvider* _imageProvider; QGCImageProvider* _imageProvider;
JoystickManager* _joystickManager; JoystickManager* _joystickManager;
LinkManager* _linkManager; LinkManager* _linkManager;
......
...@@ -37,7 +37,6 @@ const char* QGroundControlQmlGlobal::_baseFontPointSizeKey = "BaseDeviceFon ...@@ -37,7 +37,6 @@ const char* QGroundControlQmlGlobal::_baseFontPointSizeKey = "BaseDeviceFon
QGroundControlQmlGlobal::QGroundControlQmlGlobal(QGCApplication* app) QGroundControlQmlGlobal::QGroundControlQmlGlobal(QGCApplication* app)
: QGCTool(app) : QGCTool(app)
, _flightMapSettings(NULL) , _flightMapSettings(NULL)
, _homePositionManager(NULL)
, _linkManager(NULL) , _linkManager(NULL)
, _multiVehicleManager(NULL) , _multiVehicleManager(NULL)
, _mapEngineManager(NULL) , _mapEngineManager(NULL)
...@@ -66,7 +65,6 @@ void QGroundControlQmlGlobal::setToolbox(QGCToolbox* toolbox) ...@@ -66,7 +65,6 @@ void QGroundControlQmlGlobal::setToolbox(QGCToolbox* toolbox)
{ {
QGCTool::setToolbox(toolbox); QGCTool::setToolbox(toolbox);
_flightMapSettings = toolbox->flightMapSettings(); _flightMapSettings = toolbox->flightMapSettings();
_homePositionManager = toolbox->homePositionManager();
_linkManager = toolbox->linkManager(); _linkManager = toolbox->linkManager();
_multiVehicleManager = toolbox->multiVehicleManager(); _multiVehicleManager = toolbox->multiVehicleManager();
_mapEngineManager = toolbox->mapEngineManager(); _mapEngineManager = toolbox->mapEngineManager();
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "QGCToolbox.h" #include "QGCToolbox.h"
#include "QGCApplication.h" #include "QGCApplication.h"
#include "LinkManager.h" #include "LinkManager.h"
#include "HomePositionManager.h"
#include "FlightMapSettings.h" #include "FlightMapSettings.h"
#include "SettingsFact.h" #include "SettingsFact.h"
#include "FactMetaData.h" #include "FactMetaData.h"
...@@ -65,7 +64,6 @@ public: ...@@ -65,7 +64,6 @@ public:
Q_ENUMS(SpeedUnits) Q_ENUMS(SpeedUnits)
Q_PROPERTY(FlightMapSettings* flightMapSettings READ flightMapSettings CONSTANT) Q_PROPERTY(FlightMapSettings* flightMapSettings READ flightMapSettings CONSTANT)
Q_PROPERTY(HomePositionManager* homePositionManager READ homePositionManager CONSTANT)
Q_PROPERTY(LinkManager* linkManager READ linkManager CONSTANT) Q_PROPERTY(LinkManager* linkManager READ linkManager CONSTANT)
Q_PROPERTY(MultiVehicleManager* multiVehicleManager READ multiVehicleManager CONSTANT) Q_PROPERTY(MultiVehicleManager* multiVehicleManager READ multiVehicleManager CONSTANT)
Q_PROPERTY(QGCMapEngineManager* mapEngineManager READ mapEngineManager CONSTANT) Q_PROPERTY(QGCMapEngineManager* mapEngineManager READ mapEngineManager CONSTANT)
...@@ -163,7 +161,6 @@ public: ...@@ -163,7 +161,6 @@ public:
// Property accesors // Property accesors
FlightMapSettings* flightMapSettings () { return _flightMapSettings; } FlightMapSettings* flightMapSettings () { return _flightMapSettings; }
HomePositionManager* homePositionManager () { return _homePositionManager; }
LinkManager* linkManager () { return _linkManager; } LinkManager* linkManager () { return _linkManager; }
MultiVehicleManager* multiVehicleManager () { return _multiVehicleManager; } MultiVehicleManager* multiVehicleManager () { return _multiVehicleManager; }
QGCMapEngineManager* mapEngineManager () { return _mapEngineManager; } QGCMapEngineManager* mapEngineManager () { return _mapEngineManager; }
...@@ -235,7 +232,6 @@ private: ...@@ -235,7 +232,6 @@ private:
static QMap<QString, FactMetaData*>& nameToMetaDataMap(void); static QMap<QString, FactMetaData*>& nameToMetaDataMap(void);
FlightMapSettings* _flightMapSettings; FlightMapSettings* _flightMapSettings;
HomePositionManager* _homePositionManager;
LinkManager* _linkManager; LinkManager* _linkManager;
MultiVehicleManager* _multiVehicleManager; MultiVehicleManager* _multiVehicleManager;
QGCMapEngineManager* _mapEngineManager; QGCMapEngineManager* _mapEngineManager;
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#include "QGC.h" #include "QGC.h"
#include "QGCFileDialog.h" #include "QGCFileDialog.h"
#include "QGCMessageBox.h" #include "QGCMessageBox.h"
#include "HomePositionManager.h"
#include "QGCApplication.h" #include "QGCApplication.h"
#include "Vehicle.h" #include "Vehicle.h"
#include "UAS.h" #include "UAS.h"
...@@ -939,11 +938,12 @@ bool QGCFlightGearLink::connectSimulation() ...@@ -939,11 +938,12 @@ bool QGCFlightGearLink::connectSimulation()
} }
// We start out at our home position // We start out at our home position
_fgArgList << QString("--lat=%1").arg(qgcApp()->toolbox()->homePositionManager()->getHomeLatitude()); QGeoCoordinate homePosition = qgcApp()->lastKnownHomePosition();
_fgArgList << QString("--lon=%1").arg(qgcApp()->toolbox()->homePositionManager()->getHomeLongitude()); _fgArgList << QString("--lat=%1").arg(homePosition.latitude());
_fgArgList << QString("--lon=%1").arg(homePosition.longitude());
// The altitude is not set because an altitude not equal to the ground altitude leads to a non-zero default throttle in flightgear // The altitude is not set because an altitude not equal to the ground altitude leads to a non-zero default throttle in flightgear
// Without the altitude-setting the aircraft is positioned on the ground // Without the altitude-setting the aircraft is positioned on the ground
//_fgArgList << QString("--altitude=%1").arg(qgcApp()->toolbox()->homePositionManager()->getHomeAltitude()); //_fgArgList << QString("--altitude=%1").arg(homePosition.altitude());
#ifdef DEBUG_FLIGHTGEAR_CONNECT #ifdef DEBUG_FLIGHTGEAR_CONNECT
// This tell FlightGear to output highest debug level of log output. Handy for debuggin failures by looking at the FG // This tell FlightGear to output highest debug level of log output. Handy for debuggin failures by looking at the FG
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include "UAS.h" #include "UAS.h"
#include "UASInterface.h" #include "UASInterface.h"
#include "QGCMessageBox.h" #include "QGCMessageBox.h"
#include "HomePositionManager.h"
QGCXPlaneLink::QGCXPlaneLink(Vehicle* vehicle, QString remoteHost, QHostAddress localHost, quint16 localPort) : QGCXPlaneLink::QGCXPlaneLink(Vehicle* vehicle, QString remoteHost, QHostAddress localHost, quint16 localPort) :
_vehicle(vehicle), _vehicle(vehicle),
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "UAS.h" #include "UAS.h"
#include "LinkInterface.h" #include "LinkInterface.h"
#include "HomePositionManager.h"
#include "QGC.h" #include "QGC.h"
#include "GAudioOutput.h" #include "GAudioOutput.h"
#include "MAVLinkProtocol.h" #include "MAVLinkProtocol.h"
......
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
#include "MAVLinkDecoder.h" #include "MAVLinkDecoder.h"
#include "QGCApplication.h" #include "QGCApplication.h"
#include "MultiVehicleManager.h" #include "MultiVehicleManager.h"
#include "HomePositionManager.h"
#include "LogCompressor.h" #include "LogCompressor.h"
#include "UAS.h" #include "UAS.h"
#include "QGCImageProvider.h" #include "QGCImageProvider.h"
......
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