diff --git a/src/main.cpp b/src/main.cpp index 51ce18623dd29ef28087155d9d458a5c7dc6704e..0e0386f1b1afe5324bd524def92a7b6629c63253 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ #include "Message.hpp" #include "MessageParser.hpp" #include "Services/MemoryManagementService.hpp" +#include "Helpers/CRCHelper.hpp" int main() { Message packet = Message(0, 0, Message::TC, 1); @@ -85,10 +86,22 @@ int main() { rcvPack.appendUint16(2); // Iteration count rcvPack.appendUint64(reinterpret_cast<uint64_t >(pStr)); // Start address rcvPack.appendOctetString(2, data); + rcvPack.appendBits(16, CRCHelper::calculateCRC(data, 2)); // Append the CRC value rcvPack.appendUint64(reinterpret_cast<uint64_t >(pStr + 1)); // Start address rcvPack.appendOctetString(1, data); + rcvPack.appendBits(16, CRCHelper::calculateCRC(data, 1)); // Append the CRC value memMangService.rawDataMemorySubservice.loadRawData(rcvPack); + rcvPack = Message(6, 9, Message::TC, 1); + + rcvPack.appendEnum8(MemoryManagementService::MemoryID::EXTERNAL); // Memory ID + rcvPack.appendUint16(2); // Iteration count + rcvPack.appendUint64(reinterpret_cast<uint64_t >(data)); // Start address + rcvPack.appendUint16(2); + rcvPack.appendUint64(reinterpret_cast<uint64_t >(data + 1)); // Start address + rcvPack.appendUint16(1); + memMangService.rawDataMemorySubservice.checkRawData(rcvPack); + // ST[01] test // parameters take random values and works as expected