Index: sources/applicationcontroller.cpp =================================================================== diff -u -r805119c460b4a266d6401c8705f4427e7fbe270f -rc478cd2996c772529cc43606d35157f54ea8de7d --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 805119c460b4a266d6401c8705f4427e7fbe270f) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision c478cd2996c772529cc43606d35157f54ea8de7d) @@ -236,7 +236,59 @@ { #ifndef DISABLE_KEEP_ALIVE QVariantList mData; - mData += static_cast(GuiActionData::NoData); + int mFakeDataLen = gFakeData.length(); + if (mFakeDataLen) { + createFakeSequencedLongMessage(mData, mFakeDataLen); + } else { + mData += static_cast(GuiActionData::NoData); + } onActionTransmit(GuiActionType::KeepAlive, mData); #endif } + +/*! + * \brief ApplicationController::createFakeSequencedLongMessage + * \details This method is creating the fake message with frame sequence + * which we use for Denali Message test + * \param vFakeDataLen + */ +void ApplicationController::createFakeSequencedLongMessage(QVariantList &vData, const int vFakeDataLen) +{ + QByteArray data; + Types::U16 u16; + if (vFakeDataLen == 1 && gFakeData == QByteArray::fromHex(gFakeData_default)) { + static quint64 txCount = 0; + for (int i = 0; i < 13; i++) { + switch (i) { + case 0: + u16.value = txCount; + data += u16.bytes[0]; + data += u16.bytes[1]; + break; + + case 12: + for (int i = 0; i < 4; i++) { + data += (char)(0); + } + u16.value = txCount; + data += u16.bytes[0]; + data += u16.bytes[1]; + break; + + default: + const quint8 dataBytesLeft = 8 - 2; // 2 Bytes for the txCount + for (int i = 0; i < dataBytesLeft; i++) { + data += (char)(0); + } + u16.value = txCount; + data += u16.bytes[0]; + data += u16.bytes[1]; + break; + } + Types::safeIncrement(txCount); + } + vData += QByteArray::fromHex(data.toHex()); + } else { + vData += gFakeData; + } +}