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