diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-06-03 17:22:06 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-06-21 11:17:44 +0000 |
commit | 2462679de35b4d7b4c333876b9d372ac4bb2712a (patch) | |
tree | 4af86bd30cd805528b35bc5eda580df6552c1de9 /src/positioning/qnmeapositioninfosource_p.h | |
parent | 06c0fc0cf9740efd71e2a4bc62692565ace4b1e4 (diff) | |
download | qtlocation-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.h | 14 |
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; }; |