mirror of
https://github.com/azaion/autopilot.git
synced 2026-04-22 10:16:33 +00:00
Changed directory structure and renamed applications
- autopilot -> drone_controller - rtsp_ai_player -> ai_controller - added top level qmake project file - updated documentation - moved small demo applications from tmp/ to misc/
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#include <QJsonObject>
|
||||
#include <QJsonDocument>
|
||||
#include "udpserver.h"
|
||||
|
||||
UdpServer::UdpServer(int portNumber, QObject *parent)
|
||||
: QObject{parent}
|
||||
{
|
||||
mUdpSocket = new QUdpSocket(this);
|
||||
connect(mUdpSocket, &QUdpSocket::readyRead, this, &UdpServer::readPendingDatagrams);
|
||||
mUdpSocket->bind(QHostAddress::Any, portNumber);
|
||||
}
|
||||
|
||||
|
||||
void UdpServer::readPendingDatagrams()
|
||||
{
|
||||
while (mUdpSocket->hasPendingDatagrams()) {
|
||||
QByteArray datagram;
|
||||
datagram.resize(mUdpSocket->pendingDatagramSize());
|
||||
mUdpSocket->readDatagram(datagram.data(), datagram.size());
|
||||
|
||||
QJsonParseError jsonError;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(datagram, &jsonError);
|
||||
if (jsonError.error != QJsonParseError::NoError) {
|
||||
qWarning() << "Error parsing JSON:" << jsonError.errorString();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (jsonDoc.isObject()) {
|
||||
emit newJsonDocument(jsonDoc);
|
||||
}
|
||||
|
||||
// Test code to see that valid value was in the doc.
|
||||
QJsonObject jsonObj = jsonDoc.object();
|
||||
if (jsonObj.contains("value") && jsonObj["value"].isDouble()) {
|
||||
int value = jsonObj["value"].toInt();
|
||||
qDebug() << "Received value:" << value;
|
||||
}
|
||||
else {
|
||||
qWarning() << "Invalid or missing 'value' field in JSON";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user