Back to Fprime

Svc::Ccsds::ApidManager

Svc/Ccsds/ApidManager/docs/sdd.md

4.2.24.1 KB
Original Source

Svc::Ccsds::ApidManager

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).

Functionality

  • Maintains a Fw::ArrayMap of APIDs and their associated 14-bit sequence counts.
  • Handles a fixed maximum number of tracked APIDs (as configured in the project).
  • Provides a way to retrieve the current sequence count for a given APID through a port call.
  • Provides a way to validate a received sequence count for a given APID through a port call.

Port Descriptions

KindNamePort TypeDescription
guarded inputvalidateApidSeqCountInCcsds.ApidSequenceCountValidates a received sequence count for a given APID.
guarded inputgetApidSeqCountInCcsds.ApidSequenceCountReturns and increments the sequence count for a given APID.

Events

NameSeverityDescription
UnexpectedSequenceCountwarning lowReceived an unexpected sequence count for an APID.
ApidTableFullwarning highAPID table is full; cannot track additional APIDs.

Usage

  • The 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.
  • The 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.

Requirements

NameDescriptionValidation
SVC-Ccsds-APID-MANAGER-001The ApidManager shall track a 14-bit sequence count for each APID.Unit Test
SVC-Ccsds-APID-MANAGER-002The ApidManager shall provide the current sequence count for a given APID.Unit Test
SVC-Ccsds-APID-MANAGER-003The ApidManager shall increment the sequence count for each APID on request.Unit Test
SVC-Ccsds-APID-MANAGER-004The ApidManager shall provide validation of a received sequence counts for each APID.Unit Test
SVC-Ccsds-APID-MANAGER-005The ApidManager shall emit an event if an unexpected sequence count is received.Unit Test
SVC-Ccsds-APID-MANAGER-006The ApidManager shall emit an event if the APID table is full and an APID is not able to be added to the tracking.Unit Test
SVC-Ccsds-APID-MANAGER-007The ApidManager shall synchronize the onboard sequence count if a mismatch is detected.Unit Test

See Also