fsfw/src/fsfw/tmtcpacket/pus/tm/PusTmIF.h

31 lines
758 B
C
Raw Normal View History

2022-07-19 18:13:25 +02:00
#ifndef FSFW_TMTCPACKET_PUSTMIF_H
#define FSFW_TMTCPACKET_PUSTMIF_H
#include <cstddef>
#include <cstdint>
2022-07-20 22:21:15 +02:00
#include "fsfw/timemanager/TimeStamperIF.h"
2022-07-19 18:13:25 +02:00
#include "fsfw/tmtcpacket/pus/PusIF.h"
2022-07-20 22:21:15 +02:00
#include "fsfw/tmtcpacket/pus/definitions.h"
2022-07-19 18:13:25 +02:00
class PusTmIF : public PusIF {
public:
~PusTmIF() override = default;
2022-07-20 22:21:15 +02:00
/**
* Minimum length without timestamp
*/
static constexpr size_t MIN_SEC_HEADER_LEN = 7;
/**
* 2 bytes for CRC16
*/
static constexpr size_t MIN_TM_SIZE = sizeof(ccsds::PrimaryHeader) + MIN_SEC_HEADER_LEN + 2;
2022-07-19 18:13:25 +02:00
virtual uint8_t getScTimeRefStatus() = 0;
virtual uint16_t getMessageTypeCounter() = 0;
virtual uint16_t getDestId() = 0;
2022-07-20 22:21:15 +02:00
virtual TimeStamperIF* getTimestamper() = 0;
2022-07-19 18:13:25 +02:00
};
#endif // FSFW_TMTCPACKET_PUSTMIF_H