From dfe7c378da09c7b73825e73289f26a3533679708 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Fri, 10 Nov 2023 11:27:54 +0100 Subject: [PATCH] move CRC check --- src/fsfw/tmtcpacket/pus/tm/PusTmReader.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/fsfw/tmtcpacket/pus/tm/PusTmReader.cpp b/src/fsfw/tmtcpacket/pus/tm/PusTmReader.cpp index 491eccac..8353f680 100644 --- a/src/fsfw/tmtcpacket/pus/tm/PusTmReader.cpp +++ b/src/fsfw/tmtcpacket/pus/tm/PusTmReader.cpp @@ -57,6 +57,13 @@ ReturnValue_t PusTmReader::parseData(bool crcCheck) { if (result != returnvalue::OK) { return result; } + if (crcCheck) { + uint16_t crc16 = CRC::crc16ccitt(spReader.getFullData(), getFullPacketLen()); + if (crc16 != 0) { + // Checksum failure + return PusIF::INVALID_CRC_16; + } + } size_t currentOffset = SpacePacketReader::getHeaderLen(); pointers.secHeaderStart = pointers.spHeaderStart + currentOffset; currentOffset += PusTmIF::MIN_SEC_HEADER_LEN; @@ -77,13 +84,6 @@ ReturnValue_t PusTmReader::parseData(bool crcCheck) { } currentOffset += sourceDataLen; pointers.crcStart = pointers.spHeaderStart + currentOffset; - if (crcCheck) { - uint16_t crc16 = CRC::crc16ccitt(spReader.getFullData(), getFullPacketLen()); - if (crc16 != 0) { - // Checksum failure - return PusIF::INVALID_CRC_16; - } - } return returnvalue::OK; } bool PusTmReader::isNull() const { return spReader.isNull() or pointers.secHeaderStart == nullptr; }