![]() |
F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
|
Generic deframing component using DeframingProtocol implementation for actual deframing. More...
#include <Svc/Deframer/Deframer.hpp>
Public Member Functions | |
Deframer (const char *const compName) | |
Construct Deframer instance. | |
~Deframer () | |
Destroy Deframer instance. | |
void | setup (DeframingProtocol &protocol) |
Set up the instance. | |
![]() | |
void | init (FwEnumStoreType instance=0) |
Initialize DeframerComponentBase object. | |
Fw::InputCmdResponsePort * | get_cmdResponseIn_InputPort (FwIndexType portNum) |
Drv::InputByteStreamRecvPort * | get_framedIn_InputPort (FwIndexType portNum) |
Svc::InputSchedPort * | get_schedIn_InputPort (FwIndexType portNum) |
void | set_bufferAllocate_OutputPort (FwIndexType portNum, Fw::InputBufferGetPort *port) |
Connect port to bufferAllocate[portNum]. | |
void | set_bufferDeallocate_OutputPort (FwIndexType portNum, Fw::InputBufferSendPort *port) |
Connect port to bufferDeallocate[portNum]. | |
void | set_bufferOut_OutputPort (FwIndexType portNum, Fw::InputBufferSendPort *port) |
Connect port to bufferOut[portNum]. | |
void | set_comOut_OutputPort (FwIndexType portNum, Fw::InputComPort *port) |
Connect port to comOut[portNum]. | |
void | set_framedDeallocate_OutputPort (FwIndexType portNum, Fw::InputBufferSendPort *port) |
Connect port to framedDeallocate[portNum]. | |
void | set_framedPoll_OutputPort (FwIndexType portNum, Drv::InputByteStreamPollPort *port) |
Connect port to framedPoll[portNum]. | |
![]() | |
void | setIdBase (const U32) |
Set the ID base. | |
U32 | getIdBase () const |
![]() | |
virtual | ~DeframingProtocolInterface () |
Additional Inherited Members | |
![]() | |
enum | { NUM_CMDRESPONSEIN_INPUT_PORTS = 1 , NUM_FRAMEDIN_INPUT_PORTS = 1 , NUM_SCHEDIN_INPUT_PORTS = 1 } |
Enumerations for numbers of typed input ports. More... | |
enum | { NUM_BUFFERALLOCATE_OUTPUT_PORTS = 1 , NUM_BUFFERDEALLOCATE_OUTPUT_PORTS = 1 , NUM_BUFFEROUT_OUTPUT_PORTS = 1 , NUM_COMOUT_OUTPUT_PORTS = 1 , NUM_FRAMEDDEALLOCATE_OUTPUT_PORTS = 1 , NUM_FRAMEDPOLL_OUTPUT_PORTS = 1 } |
Enumerations for numbers of typed output ports. More... | |
![]() | |
DeframerComponentBase (const char *compName="") | |
Construct DeframerComponentBase object. | |
virtual | ~DeframerComponentBase () |
Destroy DeframerComponentBase object. | |
FwIndexType | getNum_cmdResponseIn_InputPorts () const |
FwIndexType | getNum_framedIn_InputPorts () const |
FwIndexType | getNum_schedIn_InputPorts () const |
FwIndexType | getNum_bufferAllocate_OutputPorts () const |
FwIndexType | getNum_bufferDeallocate_OutputPorts () const |
FwIndexType | getNum_bufferOut_OutputPorts () const |
FwIndexType | getNum_comOut_OutputPorts () const |
FwIndexType | getNum_framedDeallocate_OutputPorts () const |
FwIndexType | getNum_framedPoll_OutputPorts () const |
bool | isConnected_bufferAllocate_OutputPort (FwIndexType portNum) |
bool | isConnected_bufferDeallocate_OutputPort (FwIndexType portNum) |
bool | isConnected_bufferOut_OutputPort (FwIndexType portNum) |
bool | isConnected_comOut_OutputPort (FwIndexType portNum) |
bool | isConnected_framedDeallocate_OutputPort (FwIndexType portNum) |
bool | isConnected_framedPoll_OutputPort (FwIndexType portNum) |
void | cmdResponseIn_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) |
Handler base-class function for input port cmdResponseIn. | |
void | framedIn_handlerBase (FwIndexType portNum, Fw::Buffer &recvBuffer, const Drv::RecvStatus &recvStatus) |
Handler base-class function for input port framedIn. | |
void | schedIn_handlerBase (FwIndexType portNum, U32 context) |
Handler base-class function for input port schedIn. | |
Fw::Buffer | bufferAllocate_out (FwIndexType portNum, U32 size) |
Invoke output port bufferAllocate. | |
void | bufferDeallocate_out (FwIndexType portNum, Fw::Buffer &fwBuffer) |
Invoke output port bufferDeallocate. | |
void | bufferOut_out (FwIndexType portNum, Fw::Buffer &fwBuffer) |
Invoke output port bufferOut. | |
void | comOut_out (FwIndexType portNum, Fw::ComBuffer &data, U32 context) |
Invoke output port comOut. | |
void | framedDeallocate_out (FwIndexType portNum, Fw::Buffer &fwBuffer) |
Invoke output port framedDeallocate. | |
Drv::PollStatus | framedPoll_out (FwIndexType portNum, Fw::Buffer &pollBuffer) |
Invoke output port framedPoll. | |
virtual void | lock () |
Lock the guarded mutex. | |
virtual void | unLock () |
Unlock the guarded mutex. | |
![]() | |
PassiveComponentBase (const char *name) | |
Named constructor. | |
virtual | ~PassiveComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
Initialization function. | |
NATIVE_INT_TYPE | getInstance () const |
![]() | |
ObjBase (const char *name) | |
ObjBase constructor. | |
virtual | ~ObjBase () |
Destructor. | |
void | init () |
Object initializer. | |
Generic deframing component using DeframingProtocol implementation for actual deframing.
Deframing component used to take byte streams and expand them into Com/File buffers. This is done using a deframing protocol specified in a DeframingProtocol instance. The instance must be supplied using the setup
method.
Using this component, projects can implement and supply a fresh DeframingProtocol implementation without changing the reference topology.
Implementation uses a circular buffer to store incoming data, which is drained one framed packet at a time into buffers dispatched to the rest of the system.
Definition at line 38 of file Deframer.hpp.
Svc::Deframer::Deframer | ( | const char *const | compName | ) |
Construct Deframer instance.
compName | The component name |
Definition at line 39 of file Deframer.cpp.
Svc::Deframer::~Deframer | ( | ) |
Destroy Deframer instance.
Definition at line 48 of file Deframer.cpp.
void Svc::Deframer::setup | ( | DeframingProtocol & | protocol | ) |
Set up the instance.
protocol | Deframing protocol instance |
Definition at line 50 of file Deframer.cpp.