7 #ifndef Svc_Ccsds_ApidManager_HPP 8 #define Svc_Ccsds_ApidManager_HPP 19 "SPP_IDLE_PACKET must exist and equal 0x07FF (as specified by standard)");
21 "Invalid APID must be 0x0800 (11 bits values allow 0-2047)");
23 "APID FW_PACKET_COMMAND must exist, used by the Framework");
25 "APID FW_PACKET_TELEM must exist, used by the Framework");
27 "APID FW_PACKET_LOG must exist, used by the Framework");
29 "APID FW_PACKET_FILE must exist, used by the Framework");
31 "APID FW_PACKET_PACKETIZED_TLM must exist, used by the Framework");
33 "APID FW_PACKET_UNKNOWN must exist, used by the Framework");
58 U16 validateApidSeqCountIn_handler(
FwIndexType portNum,
60 U16 seqCount)
override;
65 U16 seqCount)
override;
79 U16 calculateNextSeqCount(
const U16 seqCount)
const;
Packetized telemetry packet type.
friend class ApidManagerTester
Friend class for testing.
static constexpr U16 SEQUENCE_COUNT_ERROR
The number of enumerated constants.
Telemetry packet type - outgoing.
ApidManager(const char *const compName)
Construct ApidManager object.
static constexpr U16 MAX_TRACKED_APIDS
Anything equal or higher value is invalid and should not be used.
PlatformIndexType FwIndexType
~ApidManager()=default
Destroy ApidManager object.
RateGroupDivider component implementation.
Auto-generated base for ApidManager component.
Per Space Packet Standard, all 1s (11bits) is reserved for Idle Packets.
File type - incoming and outgoing.
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.
Command packet type - incoming.