Svc/Ccsds/AosFramer/docs/sdd.md
The Svc::Ccsds::AosFramer is an implementation of the FramerInterface for the CCSDS AOS Space Data Link Protocol.
It receives payload data (such as a Space Packet or Encapsulation Packet) on input and produces a AOS frame on its output port as a result. Please refer to the CCSDS AOS specification (CCSDS 732.0-B-5) for details on the frame format and protocol.
The Svc::Ccsds::AosFramer is designed to work in the common F Prime telemetry stack, receiving data from an upstream Svc::ComQueue and passing frames to a Communications Adapter, such as a Radio manager component or Svc::ComStub, for transmission on the wire. It is commonly coupled with the Svc::Ccsds::SpacePacketFramer to wrap CCSDS Space Packets into AOS frames.
The AOS Framer and Deframer support the following subset of CCSDS AOS SDL:
fixed_frame_size settingThe AOS protocol specifies a fixed frame size. The maximum for all AOS framers can be configured in the config/ComCfg.fpp file. Individual AOS Framer instances can have their frame size overridden via the configure function.
The Svc::Ccsds::AosFramer uses an internal (member) buffer to hold the fixed size frame. The buffer must be returned to the AosFramer via the dataReturnIn port once it has been used or consumed. When the buffer returns to the AosFramer it will reuse the buffer for the next frame. Should a component want to use the frame data past the time it is returned to the AosFramer, data should be copied before the original buffer is returned to the AosFramer via the dataReturnIn port.
| Kind | Name | Port Type | Description |
|---|---|---|---|
| sync input | dataIn | Svc.ComDataWithContext | Receives data to frame, in a Fw::Buffer with optional context |
| output | dataOut | Svc.ComDataWithContext | Outputs framed data with optional context |
| output | dataReturnOut | Svc.ComDataWithContext | Returns ownership of the incoming Fw::Buffer to its sender once framing is handled |
| sync input | dataReturnIn | Svc.ComDataWithContext | Receives buffer from a deallocate call in a ComDriver component |
| sync input | comStatusIn | Fw.SuccessCondition | Receives general status from downstream component indicating readiness for more input |
| output | comStatusOut | Fw.SuccessCondition | Indicates the status of framer for receiving more data |