diff --git a/src/Message.cpp b/src/Message.cpp index d9b9b2c17b851576b2c06f916c2f3896aa05e426..8ee7e1816dbd971c7cc5640da1eb707c1da6bea5 100644 --- a/src/Message.cpp +++ b/src/Message.cpp @@ -37,8 +37,11 @@ void Message::appendBits(uint8_t numBits, uint16_t data) { } void Message::finalize() { - if(currentBit != 0) - dataSize++; + assertI(dataSize < ECSS_MAX_MESSAGE_SIZE, ErrorHandler::MessageTooLarge); + + if (currentBit != 0) { + dataSize++; + } } void Message::appendByte(uint8_t value) { diff --git a/src/Platform/x86/Service.cpp b/src/Platform/x86/Service.cpp index ff9d9d95de57f749996cb8a2fcd7853cebda7813..b148c24291543bac97bf6e13b460f7dda2f5c914 100644 --- a/src/Platform/x86/Service.cpp +++ b/src/Platform/x86/Service.cpp @@ -2,7 +2,10 @@ #include <iomanip> #include "Service.hpp" -void Service::storeMessage(const Message &message) { +void Service::storeMessage(Message & message) { + // appends the remaining bits to complete a byte + message.finalize(); + // Just print it to the screen std::cout << "New " << ((message.packetType == Message::TM) ? "TM" : "TC") << "[" << std::hex