Adds immediate migration results in progress
This commit is contained in:
2102 files changed
+17482
-15071
No files matched your search
@@ -19,8 +19,7 @@
|
||||
#include <PrtCnv/PrtCnvRadioThread.hpp>
|
||||
#include <PrtCnv/PrtCnvThreadStarter.hpp>
|
||||
|
||||
TetraIF::TetraIF(const QHostAddress &addr, unsigned short port, unsigned short issi)
|
||||
: QObject()
|
||||
TetraIF::TetraIF(const QHostAddress &addr, unsigned short port, unsigned short issi) : QObject()
|
||||
, m_addr(addr)
|
||||
, m_port(port)
|
||||
, m_issi(issi)
|
||||
@@ -31,9 +30,8 @@ TetraIF::TetraIF(const QHostAddress &addr, unsigned short port, unsigned short i
|
||||
, m_secondFragment(0)
|
||||
, m_timer(nullptr)
|
||||
, m_SendCounter(0)
|
||||
)
|
||||
|
||||
{
|
||||
),
|
||||
m_logger(NGL::NGLLoggerBootstrap::getLogger()) {
|
||||
connect(m_socket, &QTcpSocket::connected, this, &TetraIF::onConnected);
|
||||
connect(m_socket, &QTcpSocket::disconnected, this, &TetraIF::onDisconnected);
|
||||
connect(m_socket, &QTcpSocket::readyRead, this, &TetraIF::onReadyRead);
|
||||
@@ -58,7 +56,7 @@ void TetraIF::listenMode(const QStringList &args)
|
||||
m_outputDir = args[0];
|
||||
if (!QDir().mkpath(m_outputDir))
|
||||
{
|
||||
ERROR_LOG() << "Error creating directory "
|
||||
ERROR_LOG(m_logger) << "Error creating directory "
|
||||
<< m_outputDir;
|
||||
usage();
|
||||
}
|
||||
@@ -70,26 +68,26 @@ void TetraIF::randomMode(const QStringList &args)
|
||||
{
|
||||
if (args.count() < 3)
|
||||
{
|
||||
ERROR_LOG() << "Invalid argument count";
|
||||
ERROR_LOG(m_logger) << "Invalid argument count";
|
||||
usage();
|
||||
}
|
||||
bool bOk;
|
||||
int dataSize = args[0].toInt(&bOk);
|
||||
if (!bOk || dataSize > 256 || dataSize < 0)
|
||||
{
|
||||
ERROR_LOG() << "Invalid data size " << args[0];
|
||||
ERROR_LOG(m_logger) << "Invalid data size " << args[0];
|
||||
usage();
|
||||
}
|
||||
m_count = args[1].toInt(&bOk);
|
||||
if (!bOk || m_count == 0 || m_count < -1)
|
||||
{
|
||||
ERROR_LOG() << "Invalid count " << args[1];
|
||||
ERROR_LOG(m_logger) << "Invalid count " << args[1];
|
||||
usage();
|
||||
}
|
||||
m_telegramsPerSecond = args[2].toInt(&bOk);
|
||||
if (!bOk || m_telegramsPerSecond < 1)
|
||||
{
|
||||
ERROR_LOG() << "Invalid telegrams/second " << args[2];
|
||||
ERROR_LOG(m_logger) << "Invalid telegrams/second " << args[2];
|
||||
usage();
|
||||
}
|
||||
m_data.reserve(dataSize);
|
||||
@@ -98,7 +96,7 @@ void TetraIF::randomMode(const QStringList &args)
|
||||
|
||||
parseISSIs(args.mid(3));
|
||||
|
||||
INFO_LOG() << "Sending " << m_data.size()
|
||||
INFO_LOG(m_logger) << "Sending " << m_data.size()
|
||||
<< " bytes, " << m_telegramsPerSecond
|
||||
<< " telegrams/second for " << m_count
|
||||
<< " time(s) to issi(s) " << getIssisAsString();
|
||||
@@ -110,31 +108,31 @@ void TetraIF::fileMode(const QStringList &args)
|
||||
{
|
||||
if (args.count() < 3)
|
||||
{
|
||||
ERROR_LOG() << "Invalid argument count";
|
||||
ERROR_LOG(m_logger) << "Invalid argument count";
|
||||
usage();
|
||||
}
|
||||
QFile f(args[0]);
|
||||
if (!f.exists() || f.size() > 256)
|
||||
{
|
||||
ERROR_LOG() << "Invalid file: " << args[0];
|
||||
ERROR_LOG(m_logger) << "Invalid file: " << args[0];
|
||||
usage();
|
||||
}
|
||||
bool bOk;
|
||||
m_count = args[1].toInt(&bOk);
|
||||
if (!bOk || m_count == 0 || m_count < -1)
|
||||
{
|
||||
ERROR_LOG() << "Invalid count " << args[1];
|
||||
ERROR_LOG(m_logger) << "Invalid count " << args[1];
|
||||
usage();
|
||||
}
|
||||
m_telegramsPerSecond = args[2].toInt(&bOk);
|
||||
if (!bOk || m_telegramsPerSecond < 1)
|
||||
{
|
||||
ERROR_LOG() << "Invalid telegrams/second " << args[2];
|
||||
ERROR_LOG(m_logger) << "Invalid telegrams/second " << args[2];
|
||||
usage();
|
||||
}
|
||||
if (!f.open(QIODevice::ReadOnly))
|
||||
{
|
||||
ERROR_LOG() << "Error opening file "
|
||||
ERROR_LOG(m_logger) << "Error opening file "
|
||||
<< f.fileName()
|
||||
<< " for reading - error: "
|
||||
<< f.errorString();
|
||||
@@ -143,7 +141,7 @@ void TetraIF::fileMode(const QStringList &args)
|
||||
|
||||
parseISSIs(args.mid(3));
|
||||
|
||||
INFO_LOG() << "Sending " << m_data.size()
|
||||
INFO_LOG(m_logger) << "Sending " << m_data.size()
|
||||
<< " bytes, " << m_telegramsPerSecond
|
||||
<< " telegrams/second for " << m_count
|
||||
<< " time(s) to issi(s) " << getIssisAsString();
|
||||
@@ -164,13 +162,13 @@ void TetraIF::usage()
|
||||
|
||||
void TetraIF::onConnected()
|
||||
{
|
||||
INFO_LOG() << "Connected to " << m_socket->peerName() << ":" << m_socket->peerPort();
|
||||
INFO_LOG(m_logger) << "Connected to " << m_socket->peerName() << ":" << m_socket->peerPort();
|
||||
doInitialLogin();
|
||||
}
|
||||
|
||||
void TetraIF::onDisconnected()
|
||||
{
|
||||
INFO_LOG() << "Disconnected - exiting application";
|
||||
INFO_LOG(m_logger) << "Disconnected - exiting application";
|
||||
QCoreApplication::quit();
|
||||
}
|
||||
|
||||
@@ -178,7 +176,7 @@ void TetraIF::onReadyRead()
|
||||
{
|
||||
do
|
||||
{
|
||||
DEBUG_LOG() << "Got " << m_socket->bytesAvailable() << " bytes from socket";
|
||||
DEBUG_LOG(m_logger) << "Got " << m_socket->bytesAvailable() << " bytes from socket";
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvRadioTelegram::PrtCnvRadioGwHeader header;
|
||||
if (m_socket->bytesAvailable() < int(sizeof(header)))
|
||||
@@ -187,14 +185,14 @@ void TetraIF::onReadyRead()
|
||||
m_socket->peek(reinterpret_cast<char *>(&header), sizeof(header));
|
||||
if (N_CoPrtCnv::CoPrtCnvRadioTelegram::MAGIC_NUMBER != header.m_MagicNumber)
|
||||
{
|
||||
ERROR_LOG() << "Incorrect magic number (0x"
|
||||
ERROR_LOG(m_logger) << "Incorrect magic number (0x"
|
||||
<< QString::number(header.m_MagicNumber, 16)
|
||||
<< " - aborting";
|
||||
exit(2);
|
||||
}
|
||||
if (!N_CoPrtCnv::CoPrtCnvRadioTelegram::isTelegramLengthOk(header.m_Length))
|
||||
{
|
||||
ERROR_LOG() << "Radio-Telegram length to big: "
|
||||
ERROR_LOG(m_logger) << "Radio-Telegram length to big: "
|
||||
<< header.m_Length
|
||||
<< ", but I proceed with this telegram.";
|
||||
}
|
||||
@@ -202,7 +200,7 @@ void TetraIF::onReadyRead()
|
||||
const quint16 dataSize = header.m_Length + sizeof(header);
|
||||
if (m_socket->bytesAvailable() < dataSize)
|
||||
{
|
||||
INFO_LOG() << "not enough bytes available - waiting for more data";
|
||||
INFO_LOG(m_logger) << "not enough bytes available - waiting for more data";
|
||||
return;
|
||||
}
|
||||
QByteArray buf(dataSize, Qt::Uninitialized);
|
||||
@@ -215,7 +213,7 @@ void TetraIF::onReadyRead()
|
||||
|
||||
void TetraIF::onError(QAbstractSocket::SocketError err)
|
||||
{
|
||||
ERROR_LOG() << "Socket error "
|
||||
ERROR_LOG(m_logger) << "Socket error "
|
||||
<< err
|
||||
<< " ("
|
||||
<< m_socket->errorString()
|
||||
@@ -259,7 +257,7 @@ void TetraIF::handleReceivedTelegram(const QByteArray &data)
|
||||
default:
|
||||
return;
|
||||
}
|
||||
INFO_LOG() << "PDU Type: " << type;
|
||||
INFO_LOG(m_logger) << "PDU Type: " << type;
|
||||
dumpData(data);
|
||||
}
|
||||
|
||||
@@ -269,7 +267,7 @@ void TetraIF::handleRegisterRsp(const uint8_t a_registrationStatus)
|
||||
switch (a_registrationStatus)
|
||||
{
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_IssiSuccessfulRegistered:
|
||||
INFO_LOG() << "Valid register response from Tetra ";
|
||||
INFO_LOG(m_logger) << "Valid register response from Tetra ";
|
||||
if (m_timer)
|
||||
m_timer->start();
|
||||
return;
|
||||
@@ -293,7 +291,7 @@ void TetraIF::handleRegisterRsp(const uint8_t a_registrationStatus)
|
||||
break;
|
||||
}
|
||||
|
||||
ERROR_LOG() << logText;
|
||||
ERROR_LOG(m_logger) << logText;
|
||||
exit(2);
|
||||
}
|
||||
|
||||
@@ -308,7 +306,7 @@ void TetraIF::dumpData(const QByteArray &data)
|
||||
QFile f(m_outputDir + timeStr + QLatin1String(".dat"));
|
||||
if (!f.open(QIODevice::WriteOnly))
|
||||
{
|
||||
ERROR_LOG() << "Error opening file "
|
||||
ERROR_LOG(m_logger) << "Error opening file "
|
||||
<< f.fileName()
|
||||
<< " for writing - error: "
|
||||
<< f.errorString();
|
||||
@@ -319,7 +317,7 @@ void TetraIF::dumpData(const QByteArray &data)
|
||||
if (data.size() > 27)
|
||||
{
|
||||
N_CoPrtCnv::CoPrtCnvRadioTelegram tele(data);
|
||||
INFO_LOG() << "Got telegram from "
|
||||
INFO_LOG(m_logger) << "Got telegram from "
|
||||
<< tele.getSrcISSI()
|
||||
<< " with size "
|
||||
<< data.size()
|
||||
@@ -329,7 +327,7 @@ void TetraIF::dumpData(const QByteArray &data)
|
||||
QFile f(m_outputDir + QStringLiteral("payload-%1-%2.dat").arg(QString::number(tele.getSrcISSI()), timeStr));
|
||||
if (!f.open(QIODevice::WriteOnly))
|
||||
{
|
||||
ERROR_LOG() << "Error opening file "
|
||||
ERROR_LOG(m_logger) << "Error opening file "
|
||||
<< f.fileName()
|
||||
<< " for writing - error: "
|
||||
<< f.errorString();
|
||||
@@ -367,14 +365,14 @@ void TetraIF::onSendData()
|
||||
tele.setSrcISSI(m_issi);
|
||||
tele.setDestISSI(dest_issi);
|
||||
tele.setZaehler(s_counter++);
|
||||
DEBUG_LOG() << "Sending " << tele.getSize() << " bytes to Tetra (ISSI: " << dest_issi << ")";
|
||||
DEBUG_LOG(m_logger) << "Sending " << tele.getSize() << " bytes to Tetra (ISSI: " << dest_issi << ")";
|
||||
m_socket->write(tele.data());
|
||||
}
|
||||
if (m_count > 0)
|
||||
{
|
||||
if (--m_count <= 0)
|
||||
{
|
||||
INFO_LOG() << "Finsihed";
|
||||
INFO_LOG(m_logger) << "Finsihed";
|
||||
m_socket->disconnectFromHost();
|
||||
}
|
||||
}
|
||||
@@ -397,7 +395,7 @@ void TetraIF::parseISSIs(const QStringList &issiList)
|
||||
unsigned short issi = issiStr.toUShort(&bOk);
|
||||
if (!bOk)
|
||||
{
|
||||
ERROR_LOG() << "Not a valid issi number: " << issiStr;
|
||||
ERROR_LOG(m_logger) << "Not a valid issi number: " << issiStr;
|
||||
usage();
|
||||
}
|
||||
m_issiList += issi;
|
||||
@@ -428,7 +426,7 @@ void TetraIF::handleDataIndReq(const QByteArray &data)
|
||||
handleLoginTelegram(radioTelegram);
|
||||
break;
|
||||
default:
|
||||
ERROR_LOG() << "Unknown payload-status!: " << radioTelegram->getFragmentStatus();
|
||||
ERROR_LOG(m_logger) << "Unknown payload-status!: " << radioTelegram->getFragmentStatus();
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -445,10 +443,10 @@ void TetraIF::handleLoginTelegram(N_CoPrtCnv::CoPrtCnvRadioTelegram *a_loginTele
|
||||
{
|
||||
bool sent = sendLoginResponse(issi);
|
||||
if (sent)
|
||||
INFO_LOG() << "Login: New TPU with Id=" << identity << " and ISSI=" << issi << " logged in";
|
||||
INFO_LOG(m_logger) << "Login: New TPU with Id=" << identity << " and ISSI=" << issi << " logged in";
|
||||
else
|
||||
|
||||
INFO_LOG() << "Login: New TPU with Id=" << identity << " and ISSI=" << issi << " is NOT logged in";
|
||||
INFO_LOG(m_logger) << "Login: New TPU with Id=" << identity << " and ISSI=" << issi << " is NOT logged in";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -464,7 +462,7 @@ bool TetraIF::sendLoginResponse(const uint32_t a_ISSI)
|
||||
gef_telegramm_id_et telId = a_telegram->isNormalTelegram() ? a_telegram->getTelID() : GEF_BESTAETIGUNG;
|
||||
|
||||
|
||||
INFO_LOG() << "Send telegram to radio: telId=" << telId << " wcounter=" << a_telegram->zaehler() << " size= 28";
|
||||
INFO_LOG(m_logger) << "Send telegram to radio: telId=" << telId << " wcounter=" << a_telegram->zaehler() << " size= 28";
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user