Svc/Ccsds/ApidManager/docs/sdd.md
The Svc::Ccsds::ApidManager component manages CCSDS Application Process Identifier (APID) sequence counts for the F Prime communications stack. It provides per-APID sequence count tracking and validation, supporting the construction and checking of CCSDS Space Packet headers by other components (such as SpacePacketFramer and SpacePacketDeframer).
The ApidManager is typically used in conjunction with the SpacePacketFramer (to provide incrementing sequence counts for each APID) and the SpacePacketDeframer (to validate received sequence counts and detect dropped or out-of-order packets).
Fw::ArrayMap of APIDs and their associated 14-bit sequence counts. The map is sized to the number of APIDs configured in the ComCfg.Apid enum.| Kind | Name | Port Type | Description |
|---|---|---|---|
| guarded input | validateApidSeqCountIn | Ccsds.ApidSequenceCount | Validates a received sequence count for a given APID. |
| guarded input | getApidSeqCountIn | Ccsds.ApidSequenceCount | Returns and increments the sequence count for a given APID. |
| Name | Severity | Description |
|---|---|---|
| UnexpectedSequenceCount | warning low | Received an unexpected sequence count for an APID. |
getApidSeqCountIn port is called by a component (e.g., SpacePacketFramer) to obtain and increment the sequence count for a given APID when constructing a new Space Packet.validateApidSeqCountIn port is called by a component (e.g., SpacePacketDeframer) to check the sequence count of a received Space Packet. If the count does not match the expected value, an event is logged and the onboard count is synchronized.| Name | Description | Validation |
|---|---|---|
| SVC-Ccsds-APID-MANAGER-001 | The ApidManager shall track a 14-bit sequence count for each APID. | Unit Test |
| SVC-Ccsds-APID-MANAGER-002 | The ApidManager shall provide the current sequence count for a given APID. | Unit Test |
| SVC-Ccsds-APID-MANAGER-003 | The ApidManager shall increment the sequence count for each APID on request. | Unit Test |
| SVC-Ccsds-APID-MANAGER-004 | The ApidManager shall provide validation of a received sequence counts for each APID. | Unit Test |
| SVC-Ccsds-APID-MANAGER-005 | The ApidManager shall emit an event if an unexpected sequence count is received. | Unit Test |
| SVC-Ccsds-APID-MANAGER-007 | The ApidManager shall synchronize the onboard sequence count if a mismatch is detected. | Unit Test |