![]() |
F´ Flight Software - C/C++ Documentation
NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
|
Deframer takes a stream of bytes from ground, checks the header and footer, and then extracts message data from the stream. The extracted data usually is passed to the service layer (typically CmdDisp, FileUplink, or a GenericHub). The Deframer uses a DeframingProtocol for the same abstraction that the Framer uses FramingProtocol. Deframer is backed by a circular buffer such that incomplete messages are reassembled. It also can be hooked up in two ways:
Note: User should hook up only one of the configurations at a time.
DeframingInstance.size bytes and start at the next message.route call is called-back to the Deframer, it will send the message to the Fw::Com output port of the Fw::Buffer output port based on the specified type in the route call.Fw::Com, it must pass the buffer to the bufferDeallocate port.When Deframer component receives the data from a manager component (typically a service layer such as ground uplinkComm or TcpClient) via polling or a callback, the Deframer will perform the deserialization per DeframingProtocol and will transfer the stream via bufferOut or comOut port to components such as CmdDisp, FileUplink, or a GenericHub.
The following diagram is an example of Deframer usage with and uplinkComm component:

The following diagram is an example of Deframer usage with a TcpClient and GenericHub component:

The following is a typical Deframing setup:

| Name | Description | Validation |
|---|---|---|
| TBD | TBD | TBD |
| Date | Description |
|---|---|
| 2021-01-30 | Initial Draft |