summaryrefslogtreecommitdiff
path: root/src/positioning/qnmeapositioninfosource_p.h
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2018-06-03 17:22:06 +0200
committerPaolo Angelelli <paolo.angelelli@qt.io>2018-06-21 11:17:44 +0000
commit2462679de35b4d7b4c333876b9d372ac4bb2712a (patch)
tree4af86bd30cd805528b35bc5eda580df6552c1de9 /src/positioning/qnmeapositioninfosource_p.h
parent06c0fc0cf9740efd71e2a4bc62692565ace4b1e4 (diff)
downloadqtlocation-2462679de35b4d7b4c333876b9d372ac4bb2712a.tar.gz
Combine NMEA sentences - Live mode
This patch combines multiple nmea sentences related to the same update, preventing the push of multiple separate updates with the same timestamp. Task-number: QTBUG-64699 Change-Id: I082cd46924afe0f00e510dc059ff8594373b1e67 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioning/qnmeapositioninfosource_p.h')
-rw-r--r--src/positioning/qnmeapositioninfosource_p.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/positioning/qnmeapositioninfosource_p.h b/src/positioning/qnmeapositioninfosource_p.h
index 6efb5648..3d2bbb74 100644
--- a/src/positioning/qnmeapositioninfosource_p.h
+++ b/src/positioning/qnmeapositioninfosource_p.h
@@ -56,6 +56,7 @@
#include <QObject>
#include <QQueue>
#include <QPointer>
+#include <QtCore/qtimer.h>
QT_BEGIN_NAMESPACE
@@ -115,10 +116,10 @@ private:
QNmeaPositionInfoSource *m_source;
QNmeaReader *m_nmeaReader;
- QBasicTimer *m_updateTimer;
QGeoPositionInfo m_pendingUpdate;
QDate m_currentDate;
- QTimer *m_requestTimer;
+ QBasicTimer *m_updateTimer; // the timer used in startUpdates()
+ QTimer *m_requestTimer; // the timer used in requestUpdate()
qreal m_horizontalAccuracy;
qreal m_verticalAccuracy;
bool m_noUpdateLastInterval;
@@ -146,6 +147,15 @@ class QNmeaRealTimeReader : public QNmeaReader
public:
explicit QNmeaRealTimeReader(QNmeaPositionInfoSourcePrivate *sourcePrivate);
virtual void readAvailableData();
+ void notifyNewUpdate();
+
+ // Data members
+ QGeoPositionInfo m_update;
+ QDateTime m_lastPushedTS;
+ bool m_updateParsed = false;
+ bool m_hasFix = false;
+ QTimer m_timer;
+ int m_pushDelay = -1;
};