10 connect(&_socket, &QUdpSocket::readyRead,
this, &RTCMUdpInput::_readDatagrams);
22 if (!_socket.bind(QHostAddress::AnyIPv4, _port)) {
23 qCWarning(RTCMUdpInputLog) <<
"Failed to bind UDP socket on port" << _port
24 <<
":" << _socket.errorString();
30 qCDebug(RTCMUdpInputLog) <<
"Listening for RTCM data on UDP port" << _port;
43 qCDebug(RTCMUdpInputLog) <<
"Stopped listening on UDP port" << _port;
60void RTCMUdpInput::_readDatagrams()
62 while (_socket.hasPendingDatagrams()) {
63 const qint64 size = _socket.pendingDatagramSize();
65 (void) _socket.readDatagram(
nullptr, 0);
69 QByteArray data(
static_cast<qsizetype
>(size), Qt::Uninitialized);
70 const qint64
read = _socket.readDatagram(data.data(), size);
72 qCWarning(RTCMUdpInputLog) <<
"readDatagram failed:" << _socket.errorString();
77 data.resize(
static_cast<qsizetype
>(read));
80 qCDebug(RTCMUdpInputLog) <<
"Received RTCM datagram:" <<
read <<
"bytes";
#define QGC_LOGGING_CATEGORY(name, categoryStr)
QByteArray read(int deviceId, int length, int timeout)