Skip to content

Svc::Ccsds::SpacePacketDeframer

The Svc::Ccsds::SpacePacketDeframer is an implementation of the DeframerInterface for the CCSDS Space Packet Protocol.

It receives data containing a Space Packet on its input port and extracts the Space Packet. Please refer to the CCSDS Space Packet Protocol specification (CCSDS 133.0-B-2) for details on the packet format.

The Svc::Ccsds::SpacePacketDeframer is typically used downstream of a component that removes transfer frame headers, such as the Svc::Ccsds::TcDeframer. It validates the Space Packet header and extracts the payload.

Port Descriptions

Kind Name Port Type Description
Input (guarded) dataIn Svc.ComDataWithContext Port to receive data containing a Space Packet
Output dataOut Svc.ComDataWithContext Port to output the extracted Space Packet payload
Output dataReturnOut Svc.ComDataWithContext Port for returning ownership of received buffers
Input (sync) dataReturnIn Svc.ComDataWithContext Port receiving back ownership of sent buffers
Output validateApidSeqCount Ccsds.ApidSequenceCount Port to request validation of a sequence count for a given APID
Output errorNotify Ccsds.ErrorNotify Port to send notification of deframing errors

Events

Name Severity Description
InvalidLength warning high Deframing received an invalid packet length

Requirements

Name Description Validation
SVC-CCSDS-SPD-001 The SpacePacketDeframer shall deframe CCSDS Space Packets according to the CCSDS 133.0-B-2 standard. Unit Test, Inspection
SVC-CCSDS-SPD-002 The SpacePacketDeframer shall extract the user data field from valid Space Packets. Unit Test
SVC-CCSDS-SPD-003 The SpacePacketDeframer shall validate the packet length of a Space Packet Primary Header. Unit Test
SVC-CCSDS-SPD-009 The SpacePacketDeframer shall emit an InvalidLength event if the packet length token in the header is cannot fit in the received data, and drop the received packet. Unit Test
SVC-CCSDS-SPD-004 The SpacePacketDeframer shall receive incoming data containing Space Packets via the dataIn port. Unit Test
SVC-CCSDS-SPD-005 The SpacePacketDeframer shall output the extracted Space Packet user data via the dataOut port. Unit Test
SVC-CCSDS-SPD-006 The SpacePacketDeframer shall manage buffer ownership using the dataReturnIn and dataReturnOut ports. Unit Test, Inspection
SVC-CCSDS-SPD-007 The SpacePacketDeframer shall delegate sequence count validation to another component through the validateApidSeqCount port. Unit Test
SVC-CCSDS-SPD-008 The SpacePacketDeframer shall perform sequence count validation for APIDs registered via validateApidSeqCount. Unit Test
SVC-CCSDS-SPD-009 The SpacePacketDeframer shall emit notifications on its errorNotify port when deframing errors occur. Unit Test