completed basic test set

This commit is contained in:
2022-07-22 18:22:35 +02:00
parent 2dfbce6174
commit b350018cad
9 changed files with 117 additions and 19 deletions

View File

@ -8,7 +8,7 @@
class TimeReaderIF {
public:
virtual ~TimeReaderIF() = default;
virtual ReturnValue_t readTimeStamp(const uint8_t* buffer, uint8_t maxSize) = 0;
virtual ReturnValue_t readTimeStamp(const uint8_t* buffer, size_t maxSize) = 0;
// Would be nice to have this, but the clock backend needs to be redesigned
// virtual ReturnValue_t readTimestampLen(const uint8_t* buffer, uint8_t maxSize, size_t&
// timestampLen) = 0;

View File

@ -82,3 +82,5 @@ const uint8_t* PusTcReader::getUserData() const { return pointers.userDataStart;
size_t PusTcReader::getUserDataLen() const { return appDataSize; }
bool PusTcReader::isNull() const { return spReader.isNull(); }
PusTcReader::operator bool() const { return not isNull(); }

View File

@ -33,16 +33,13 @@ class PusTcReader : public PusTcIF,
* @param setData The position where the packet data lies.
*/
PusTcReader(const uint8_t* setData, size_t size);
~PusTcReader() override;
explicit operator bool() const;
[[nodiscard]] bool isNull() const;
ReturnValue_t parseDataWithCrcCheck();
ReturnValue_t parseDataWithoutCrcCheck();
/**
* This is the empty default destructor.
*/
~PusTcReader() override;
/**
* This is a debugging helper method that prints the whole packet content
* to the screen.

View File

@ -71,8 +71,11 @@ ReturnValue_t PusTmReader::parseData(bool crcCheck) {
return SerializeIF::STREAM_TOO_SHORT;
}
currentOffset += timestampLen;
pointers.userDataStart = pointers.spHeaderStart + currentOffset;
sourceDataLen = spReader.getFullPacketLen() - currentOffset - sizeof(ecss::PusChecksumT);
pointers.userDataStart = nullptr;
if (sourceDataLen > 0) {
pointers.userDataStart = pointers.spHeaderStart + currentOffset;
}
currentOffset += sourceDataLen;
pointers.crcStart = pointers.spHeaderStart + currentOffset;
if (crcCheck) {
@ -84,3 +87,6 @@ ReturnValue_t PusTmReader::parseData(bool crcCheck) {
}
return HasReturnvaluesIF::RETURN_OK;
}
bool PusTmReader::isNull() const { return spReader.isNull(); }
PusTmReader::operator bool() const { return not isNull(); }

View File

@ -21,6 +21,8 @@ class PusTmReader : public PusTmIF,
ReturnValue_t parseDataWithCrcCheck();
const uint8_t* getFullData() override;
explicit operator bool() const;
[[nodiscard]] bool isNull() const;
void setTimeReader(TimeReaderIF* timeReader);
TimeReaderIF* getTimeReader();
ReturnValue_t setReadOnlyData(const uint8_t* data, size_t size);
@ -30,8 +32,8 @@ class PusTmReader : public PusTmIF,
[[nodiscard]] uint8_t getPusVersion() const override;
[[nodiscard]] uint8_t getService() const override;
[[nodiscard]] uint8_t getSubService() const override;
const uint8_t* getUserData() const override;
size_t getUserDataLen() const override;
[[nodiscard]] const uint8_t* getUserData() const override;
[[nodiscard]] size_t getUserDataLen() const override;
uint8_t getScTimeRefStatus() override;
uint16_t getMessageTypeCounter() override;
uint16_t getDestId() override;