5#include <QtCore/QObject>
6#include <QtCore/QTimer>
7#include <QtNetwork/QHostAddress>
8#include <QtNetwork/QUdpSocket>
9#include <QtPositioning/QGeoCoordinate>
10#include <QtQmlIntegration/QtQmlIntegration>
26 Q_MOC_INCLUDE(
"QmlObjectListModel.h")
86 static QByteArray
makeGGA(
const QGeoCoordinate& coord,
double altitude_msl);
101 void _tcpError(
const QString& errorMsg);
102 void _rtcmDataReceived(
const QByteArray& data);
103 void _onSettingChanged();
105 void _scheduleReconnect();
109 QPair<QGeoCoordinate, QString> _getBestPosition()
const;
111 QTimer* _ggaTimer =
nullptr;
114 QString _statusMessage;
120 QTimer* _reconnectTimer =
nullptr;
121 int _reconnectAttempts = 0;
122 bool _startStopBusy =
false;
126 QUdpSocket* _udpSocket =
nullptr;
127 QHostAddress _udpTargetAddress;
128 quint16 _udpTargetPort = 0;
129 bool _udpForwardEnabled =
false;
132 bool _runningUdpForward =
false;
133 QString _runningUdpAddr;
134 quint16 _runningUdpPort = 0;
139 QString _mountpointFetchError;
141 quint64 _bytesReceived = 0;
142 quint32 _messagesReceived = 0;
143 double _dataRateBytesPerSec = 0.0;
144 quint64 _dataRatePrevBytes = 0;
145 QTimer* _dataRateTimer =
nullptr;
147 qint64 _sourceTableFetchedAtMs = 0;
QString mountpointFetchError() const
static constexpr int kMaxReconnectMs
static constexpr int kMaxReconnectAttempts
void statusMessageChanged()
void messagesReceivedChanged()
void bytesReceivedChanged()
ConnectionStatus connectionStatus() const
void mountpointFetchStatusChanged()
void casterStatusChanged(CasterStatus status)
QmlObjectListModel * mountpointModel() const
MountpointFetchStatus mountpointFetchStatus() const
quint32 messagesReceived() const
Q_INVOKABLE void fetchMountpoints()
static NTRIPManager * instance()
Q_INVOKABLE void selectMountpoint(const QString &mountpoint)
CasterStatus casterStatus() const
quint64 bytesReceived() const
QString statusMessage() const
QString ggaSource() const
static constexpr int kMinReconnectMs
static constexpr int kSourceTableCacheTtlMs
void connectionStatusChanged()
void mountpointFetchErrorChanged()
double dataRateBytesPerSec() const
static QByteArray makeGGA(const QGeoCoordinate &coord, double altitude_msl)
void mountpointModelChanged()