diff --git a/sdrbase/maincore.cpp b/sdrbase/maincore.cpp index 44dc1866f..a5247e298 100644 --- a/sdrbase/maincore.cpp +++ b/sdrbase/maincore.cpp @@ -88,6 +88,12 @@ MainCore *MainCore::instance() void MainCore::setLoggingOptions() { + if (!m_logger) + { + qDebug() << "MainCore::setLoggingOptions: No logger."; + return; + } + m_logger->setConsoleMinMessageLevel(m_settings.getConsoleMinLogLevel()); if (m_settings.getUseLogFile()) @@ -346,11 +352,15 @@ void MainCore::initPosition() if (m_positionSource) { connect(m_positionSource, &QGeoPositionInfoSource::positionUpdated, this, &MainCore::positionUpdated); + connect(m_positionSource, &QGeoPositionInfoSource::updateTimeout, this, &MainCore::positionUpdateTimeout); + connect(m_positionSource, qOverload(&QGeoPositionInfoSource::error), this, &MainCore::positionError); + m_position = m_positionSource->lastKnownPosition(); + m_positionSource->setUpdateInterval(1000); m_positionSource->startUpdates(); } else { - qDebug() << "MainCore::initPosition: No position source."; + qWarning() << "MainCore::initPosition: No position source."; } } @@ -372,3 +382,13 @@ void MainCore::positionUpdated(const QGeoPositionInfo &info) } } } + +void MainCore::positionUpdateTimeout() +{ + qWarning() << "MainCore::positionUpdateTimeout: GPS signal lost"; +} + +void MainCore::positionError(QGeoPositionInfoSource::Error positioningError) +{ + qWarning() << "MainCore::positionError: " << positioningError; +} diff --git a/sdrbase/maincore.h b/sdrbase/maincore.h index e2c86ebd9..d2dfe0576 100644 --- a/sdrbase/maincore.h +++ b/sdrbase/maincore.h @@ -26,6 +26,7 @@ #include #include #include +#include #include "export.h" #include "settings/mainsettings.h" @@ -889,6 +890,8 @@ public: public slots: void positionUpdated(const QGeoPositionInfo &info); + void positionUpdateTimeout(); + void positionError(QGeoPositionInfoSource::Error positioningError); signals: void deviceSetAdded(int index, DeviceAPI *device);