31 explicit PusA(
const uint8_t version,
const uint8_t serviceType,
const uint8_t serviceSubtype,
32 const uint8_t sourceID,
const uint32_t dataLength) :
m_version(version & 0x7),
48 [[nodiscard]] std::vector<uint8_t>
serialize()
const override;
88 explicit PusB(
const uint8_t version,
const uint8_t serviceType,
const uint8_t serviceSubtype,
89 const uint8_t sourceID,
const uint8_t eventID,
const uint16_t dataLength) :
m_version(version & 0x7),
105 [[nodiscard]] std::vector<uint8_t>
serialize()
const override;
146 explicit PusC(
const uint8_t version,
const uint8_t serviceType,
const uint8_t serviceSubtype,
147 const uint8_t sourceID,
const uint16_t timeCode,
164 [[nodiscard]] std::vector<uint8_t>
serialize()
const override;
Encapsulates a result that can hold either a value or an Error.
Represents a PUS Type A (Telemetry) header.
uint8_t getSourceID() const
std::vector< uint8_t > serialize() const override
Retrieves the serialized representation of the header.
void setDataLength(const uint16_t dataLength) override
Sets the length of the data associated with the packet.
CCSDS::ResultBool deserialize(const std::vector< uint8_t > &data) override
takes a buffer if data (vector uint8) and creates the header
PusA(const uint8_t version, const uint8_t serviceType, const uint8_t serviceSubtype, const uint8_t sourceID, const uint32_t dataLength)
Constructs a PusA object with all fields explicitly set.
uint16_t getDataLength() const override
Gets the length of the data associated with the packet if applicable.
uint8_t getVersion() const
uint8_t getServiceSubtype() const
uint8_t getServiceType() const
uint16_t getSize() const override
Gets the size of the header in bytes.
std::string getType() const override
Retrieves the name of the packet.
Represents a PUS Type B (Event Reporting) header.
PusB(const uint8_t version, const uint8_t serviceType, const uint8_t serviceSubtype, const uint8_t sourceID, const uint8_t eventID, const uint16_t dataLength)
Constructs a PusB object with all fields explicitly set.
uint16_t getDataLength() const override
Gets the length of the data associated with the packet if applicable.
std::vector< uint8_t > serialize() const override
Retrieves the serialized representation of the header.
uint8_t getSourceID() const
uint16_t getEventID() const
uint16_t getSize() const override
Gets the size of the header in bytes.
CCSDS::ResultBool deserialize(const std::vector< uint8_t > &data) override
takes a buffer if data (vector uint8) and creates the header
std::string getType() const override
Retrieves the name of the packet.
uint8_t getServiceType() const
void setDataLength(const uint16_t dataLength) override
Sets the length of the data associated with the packet.
uint8_t getServiceSubtype() const
uint8_t getVersion() const
Represents a PUS Type C (Time Code) header.
uint8_t getServiceSubtype() const
uint16_t getTimeCode() const
PusC(const uint8_t version, const uint8_t serviceType, const uint8_t serviceSubtype, const uint8_t sourceID, const uint16_t timeCode, const uint16_t dataLength)
Constructs a PusC object with all fields explicitly set.
uint8_t getSourceID() const
uint8_t getServiceType() const
CCSDS::ResultBool deserialize(const std::vector< uint8_t > &data) override
takes a buffer if data (vector uint8) and creates the header
void setDataLength(const uint16_t dataLength) override
Sets the length of the data associated with the packet.
uint16_t getDataLength() const override
Gets the length of the data associated with the packet if applicable.
std::string getType() const override
Retrieves the name of the packet.
std::vector< uint8_t > serialize() const override
Retrieves the serialized representation of the header.
uint8_t getVersion() const
uint16_t getSize() const override
Gets the size of the header in bytes.