diff --git a/plugins/freeems/freeemscomms.cpp b/plugins/freeems/freeemscomms.cpp index 9c5f637..b73bbbe 100644 --- a/plugins/freeems/freeemscomms.cpp +++ b/plugins/freeems/freeemscomms.cpp @@ -37,6 +37,7 @@ FreeEmsComms::FreeEmsComms(QObject *parent) : EmsComms(parent) qRegisterMetaType >("QList"); qRegisterMetaType("SerialPortStatus"); qRegisterMetaType("ConfigBlock"); + qRegisterMetaType >("QMap"); rxThread = 0; //serialPort = new SerialPort(this); //connect(serialPort,SIGNAL(dataWritten(QByteArray)),this,SLOT(dataLogWrite(QByteArray))); @@ -62,6 +63,8 @@ FreeEmsComms::FreeEmsComms(QObject *parent) : EmsComms(parent) connect(m_packetDecoder,SIGNAL(firmwareVersion(QString)),this,SLOT(firmwareVersion(QString))); connect(m_packetDecoder,SIGNAL(interfaceVersion(QString)),this,SLOT(interfaceVersion(QString))); connect(m_packetDecoder,SIGNAL(operatingSystem(QString)),this,SLOT(operatingSystem(QString))); + connect(m_packetDecoder,SIGNAL(builtByName(QString)),this,SLOT(builtByName(QString))); + connect(m_packetDecoder,SIGNAL(supportEmail(QString)),this,SLOT(supportEmail(QString))); connect(m_packetDecoder,SIGNAL(benchTestReply(unsigned short,unsigned char)),this,SIGNAL(benchTestReply(unsigned short,unsigned char))); m_lastdatalogTimer = new QTimer(this); @@ -272,6 +275,15 @@ void FreeEmsComms::firmwareVersion(QString version) { m_interrogationMetaDataMap["Firmware Version"] = version; } +void FreeEmsComms::builtByName(QString name) +{ + m_interrogationMetaDataMap["Built By"] = name; +} + +void FreeEmsComms::supportEmail(QString email) +{ + m_interrogationMetaDataMap["Support Email"] = email; +} void FreeEmsComms::passLogger(QsLogging::Logger *log) { diff --git a/plugins/freeems/freeemscomms.h b/plugins/freeems/freeemscomms.h index 397478b..c53d99a 100644 --- a/plugins/freeems/freeemscomms.h +++ b/plugins/freeems/freeemscomms.h @@ -231,6 +231,8 @@ private slots: void operatingSystem(QString os); void interfaceVersion(QString version); void firmwareVersion(QString version); + void builtByName(QString name); + void supportEmail(QString email); }; diff --git a/plugins/freeems/packetdecoder.cpp b/plugins/freeems/packetdecoder.cpp index 9ff3a04..7f37378 100644 --- a/plugins/freeems/packetdecoder.cpp +++ b/plugins/freeems/packetdecoder.cpp @@ -195,6 +195,22 @@ void PacketDecoder::parsePacket(Packet parsedPacket) emit operatingSystem(QString(parsedPacket.payload)); } } + else if (payloadid == 0xEEF7) + { + //Built By Name + if (!(parsedPacket.isNAK)) + { + emit builtByName(QString(parsedPacket.payload)); + } + } + else if (payloadid == 0xEEF9) + { + //Support Email + if (!(parsedPacket.isNAK)) + { + emit supportEmail(QString(parsedPacket.payload)); + } + } else if (payloadid == 0xDA5F) { //Location ID List diff --git a/plugins/freeems/packetdecoder.h b/plugins/freeems/packetdecoder.h index 7be3c22..a8940d8 100644 --- a/plugins/freeems/packetdecoder.h +++ b/plugins/freeems/packetdecoder.h @@ -25,6 +25,8 @@ public slots: void dataLogPayloadReceived(QByteArray header,QByteArray payload); void interfaceVersion(QString version); void firmwareVersion(QString version); + void builtByName(QString name); + void supportEmail(QString email); void unknownPacket(QByteArray header,QByteArray payload); void commandSuccessful(int sequencenum); void commandFailed(int sequencenum,unsigned short errornum);