Commit 99665bcc authored by DonLakeFlyer's avatar DonLakeFlyer

parent bb6768d8
...@@ -31,7 +31,8 @@ void ADSBVehicleManager::setToolbox(QGCToolbox* toolbox) ...@@ -31,7 +31,8 @@ void ADSBVehicleManager::setToolbox(QGCToolbox* toolbox)
ADSBVehicleManagerSettings* settings = qgcApp()->toolbox()->settingsManager()->adsbVehicleManagerSettings(); ADSBVehicleManagerSettings* settings = qgcApp()->toolbox()->settingsManager()->adsbVehicleManagerSettings();
if (settings->adsbServerConnectEnabled()->rawValue().toBool()) { if (settings->adsbServerConnectEnabled()->rawValue().toBool()) {
_tcpLink = new ADSBTCPLink(settings->adsbServerHostAddress()->rawValue().toString(), settings->adsbServerPort()->rawValue().toInt(), this); _tcpLink = new ADSBTCPLink(settings->adsbServerHostAddress()->rawValue().toString(), settings->adsbServerPort()->rawValue().toInt(), this);
connect(_tcpLink, &ADSBTCPLink::adsbVehicleUpdate, this, &ADSBVehicleManager::adsbVehicleUpdate, Qt::QueuedConnection); connect(_tcpLink, &ADSBTCPLink::adsbVehicleUpdate, this, &ADSBVehicleManager::adsbVehicleUpdate, Qt::QueuedConnection);
connect(_tcpLink, &ADSBTCPLink::error, this, &ADSBVehicleManager::_tcpError, Qt::QueuedConnection);
} }
} }
...@@ -63,6 +64,12 @@ void ADSBVehicleManager::adsbVehicleUpdate(const ADSBVehicle::VehicleInfo_t vehi ...@@ -63,6 +64,12 @@ void ADSBVehicleManager::adsbVehicleUpdate(const ADSBVehicle::VehicleInfo_t vehi
} }
} }
void ADSBVehicleManager::_tcpError(const QString errorMsg)
{
qgcApp()->showMessage(tr("ADSB Server Error: %1").arg(errorMsg));
}
ADSBTCPLink::ADSBTCPLink(const QString& hostAddress, int port, QObject* parent) ADSBTCPLink::ADSBTCPLink(const QString& hostAddress, int port, QObject* parent)
: QThread (parent) : QThread (parent)
, _hostAddress (hostAddress) , _hostAddress (hostAddress)
...@@ -95,11 +102,12 @@ void ADSBTCPLink::_hardwareConnect() ...@@ -95,11 +102,12 @@ void ADSBTCPLink::_hardwareConnect()
QObject::connect(_socket, &QTcpSocket::readyRead, this, &ADSBTCPLink::_readBytes); QObject::connect(_socket, &QTcpSocket::readyRead, this, &ADSBTCPLink::_readBytes);
_socket->connectToHost(_hostAddress, _port); _socket->connectToHost(_hostAddress, static_cast<quint16>(_port));
// Give the socket a second to connect to the other side otherwise error out // Give the socket a second to connect to the other side otherwise error out
if (!_socket->waitForConnected(1000)) { if (!_socket->waitForConnected(1000)) {
qCDebug(ADSBVehicleManagerLog) << "ADSB Socket failed to connect"; qCDebug(ADSBVehicleManagerLog) << "ADSB Socket failed to connect";
emit error(_socket->errorString());
delete _socket; delete _socket;
_socket = nullptr; _socket = nullptr;
return; return;
...@@ -116,13 +124,6 @@ void ADSBTCPLink::_readBytes(void) ...@@ -116,13 +124,6 @@ void ADSBTCPLink::_readBytes(void)
} }
} }
void ADSBTCPLink::_socketError(QAbstractSocket::SocketError socketError)
{
QString error = _socket->errorString();
qDebug() << _socket->errorString();
}
void ADSBTCPLink::_parseLine(const QString& line) void ADSBTCPLink::_parseLine(const QString& line)
{ {
if (line.startsWith(QStringLiteral("MSG"))) { if (line.startsWith(QStringLiteral("MSG"))) {
......
...@@ -30,13 +30,13 @@ public: ...@@ -30,13 +30,13 @@ public:
signals: signals:
void adsbVehicleUpdate(const ADSBVehicle::VehicleInfo_t vehicleInfo); void adsbVehicleUpdate(const ADSBVehicle::VehicleInfo_t vehicleInfo);
void error(const QString errorMsg);
protected: protected:
void run(void) final; void run(void) final;
private slots: private slots:
void _readBytes(void); void _readBytes(void);
void _socketError(QAbstractSocket::SocketError socketError);
private: private:
void _hardwareConnect(void); void _hardwareConnect(void);
...@@ -61,7 +61,8 @@ public: ...@@ -61,7 +61,8 @@ public:
void setToolbox(QGCToolbox* toolbox) final; void setToolbox(QGCToolbox* toolbox) final;
public slots: public slots:
void adsbVehicleUpdate(const ADSBVehicle::VehicleInfo_t vehicleInfo); void adsbVehicleUpdate (const ADSBVehicle::VehicleInfo_t vehicleInfo);
void _tcpError (const QString errorMsg);
private slots: private slots:
void _cleanupStaleVehicles(void); void _cleanupStaleVehicles(void);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment