F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
Svc::CommandDispatcherImpl Class Reference

Command Dispatcher component class. More...

#include <Svc/CmdDispatcher/CommandDispatcherImpl.hpp>

Inheritance diagram for Svc::CommandDispatcherImpl:
Svc::CommandDispatcherComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Classes

struct  DispatchEntry
 table used to store opcode to port mappings More...
 
struct  SequenceTracker
 table used to store opcode that are being executed More...
 

Public Member Functions

 CommandDispatcherImpl (const char *name)
 Command Dispatcher constructor. More...
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
 Component initialization routine. More...
 
virtual ~CommandDispatcherImpl ()
 Component destructor. More...
 
void seqCmdBuff_handler (NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
 component command buffer handler More...
 
void compCmdReg_handler (NATIVE_INT_TYPE portNum, FwOpcodeType opCode)
 component command registration handler More...
 
void pingIn_handler (NATIVE_INT_TYPE portNum, U32 key)
 component ping handler More...
 
void CMD_NO_OP_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)
 NO_OP command handler. More...
 
void CMD_NO_OP_STRING_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &arg1)
 NO_OP with string command handler. More...
 
void CMD_TEST_CMD_1_cmdHandler (FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3)
 A test command with different argument types. More...
 
void CMD_CLEAR_TRACKING_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)
 A command to clear the command tracking. More...
 
- Public Member Functions inherited from Svc::CommandDispatcherComponentBase
Fw::InputCmdRegPortget_compCmdReg_InputPort (NATIVE_INT_TYPE portNum)
 
Fw::InputCmdResponsePortget_compCmdStat_InputPort (NATIVE_INT_TYPE portNum)
 
Fw::InputComPortget_seqCmdBuff_InputPort (NATIVE_INT_TYPE portNum)
 
Svc::InputPingPortget_pingIn_InputPort (NATIVE_INT_TYPE portNum)
 
Fw::InputCmdPortget_CmdDisp_InputPort (NATIVE_INT_TYPE portNum)
 
void set_compCmdSend_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdPort *port)
 
void set_seqCmdStatus_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
 
void set_pingOut_OutputPort (NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
 
void set_CmdStatus_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
 
void set_CmdReg_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
 
void set_Tlm_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
 
void set_Time_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
 
void set_Log_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
 
void regCommands (void)
 Register commands with the Command Dispatcher. More...
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance=0)
 
virtual ~CommandDispatcherComponentBase (void)
 
virtual void unLock (void)
 
virtual void compCmdStat_handler (NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)=0
 Handler for input port compCmdStat. More...
 
void compCmdStat_handlerBase (NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
 
void seqCmdBuff_handlerBase (NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
 
void pingIn_handlerBase (NATIVE_INT_TYPE portNum, U32 key)
 
virtual void seqCmdBuff_preMsgHook (NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
 
virtual void pingIn_preMsgHook (NATIVE_INT_TYPE portNum, U32 key)
 
void seqCmdStatus_out (NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
 
void pingOut_out (NATIVE_INT_TYPE portNum, U32 key)
 
NATIVE_INT_TYPE getNum_compCmdStat_InputPorts (void)
 
NATIVE_INT_TYPE getNum_seqCmdBuff_InputPorts (void)
 
NATIVE_INT_TYPE getNum_pingIn_InputPorts (void)
 
NATIVE_INT_TYPE getNum_CmdDisp_InputPorts (void)
 
NATIVE_INT_TYPE getNum_seqCmdStatus_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_pingOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_CmdStatus_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_CmdReg_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_Tlm_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_Time_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_Log_OutputPorts (void)
 
bool isConnected_seqCmdStatus_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_pingOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_CmdStatus_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_CmdReg_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_Tlm_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_Time_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_Log_OutputPort (NATIVE_INT_TYPE portNum)
 
virtual void CMD_NO_OP_STRING_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void CMD_TEST_CMD_1_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
virtual void CMD_CLEAR_TRACKING_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 
void CMD_NO_OP_STRING_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void CMD_TEST_CMD_1_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void CMD_CLEAR_TRACKING_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void log_COMMAND_OpCodeDispatched (U32 Opcode, I32 port)
 
void log_COMMAND_OpCodeCompleted (U32 Opcode)
 
void log_WARNING_HI_OpCodeError (U32 Opcode, ErrorResponse error)
 
void log_WARNING_HI_MalformedCommand (CmdSerError Status)
 
void log_WARNING_HI_InvalidCommand (U32 Opcode)
 
void log_WARNING_HI_TooManyCommands (U32 Opcode)
 
void log_ACTIVITY_HI_NoOpReceived (void)
 
void log_ACTIVITY_HI_NoOpStringReceived (Fw::LogStringArg &message)
 
void log_ACTIVITY_HI_TestCmd1Args (I32 arg1, F32 arg2, U8 arg3)
 
void tlmWrite_CommandErrors (U32 arg)
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (NATIVE_INT_TYPE identifier, NATIVE_INT_TYPE priority, NATIVE_INT_TYPE stackSize, NATIVE_INT_TYPE cpuAffinity=-1)
 called by instantiator when task is to be started More...
 
void exit (void)
 exit task in active component More...
 
Os::Task::TaskStatus join (void **value_ptr)
 provide return value of thread if value_ptr is not NULL More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble (void)
 A function that will be called before the event loop is entered. More...
 
virtual void loop (void)
 The function that will loop dispatching messages. More...
 
virtual void finalizer (void)
 A function that will be called after exiting the loop. More...
 
- Public Member Functions inherited from Fw::QueuedComponentBase
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::QueueStatus createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
 
virtual MsgDispatchStatus doDispatch (void)=0
 method to dispatch a single message in the queue. More...
 
NATIVE_INT_TYPE getNumMsgsDropped (void)
 return number of messages dropped More...
 
void incNumMsgDropped (void)
 increment the number of messages dropped More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase (void) const
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance (void) const
 

Public Attributes

PROTECTED __pad0__: PRIVATE: void compCmdStat_handler(NATIVE_INT_TYPE portNum
 
PROTECTED FwOpcodeType opCode
 
PROTECTED FwOpcodeType U32 cmdSeq
 
PROTECTED FwOpcodeType U32 Fw::CommandResponse response
 
struct Svc::CommandDispatcherImpl::DispatchEntry m_entryTable [CMD_DISPATCHER_DISPATCH_TABLE_SIZE]
 table of dispatch entries More...
 
struct Svc::CommandDispatcherImpl::SequenceTracker m_sequenceTracker [CMD_DISPATCHER_SEQUENCER_TABLE_SIZE]
 sequence tracking port for command completions; More...
 
I32 m_seq
 current command sequence number More...
 
U32 m_numCmdsDispatched
 number of commands dispatched More...
 
U32 m_numCmdErrors
 number of commands with an error More...
 
- Public Attributes inherited from Svc::CommandDispatcherComponentBase
PROTECTED __pad0__: CommandDispatcherComponentBase(void)
 
PROTECTED __pad1__: virtual void lock(void)
 
PROTECTED __pad2__: virtual void compCmdReg_handler( NATIVE_INT_TYPE portNum
 
PROTECTED FwOpcodeType opCode = 0
 
PROTECTED __pad3__: void compCmdReg_handlerBase( NATIVE_INT_TYPE portNum
 
PROTECTED __pad4__: virtual void compCmdStat_preMsgHook( NATIVE_INT_TYPE portNum
 
PROTECTED FwOpcodeType U32 cmdSeq
 
PROTECTED FwOpcodeType U32 Fw::CommandResponse response
 
PROTECTED __pad5__: void compCmdSend_out( NATIVE_INT_TYPE portNum
 
PROTECTED FwOpcodeType U32 Fw::CmdArgBufferargs
 
PROTECTED __pad6__: NATIVE_INT_TYPE getNum_compCmdReg_InputPorts(void)
 
PROTECTED __pad7__: NATIVE_INT_TYPE getNum_compCmdSend_OutputPorts(void)
 
PROTECTED __pad8__: bool isConnected_compCmdSend_OutputPort( NATIVE_INT_TYPE portNum )
 
PROTECTED __pad9__: enum { OPCODE_CMD_NO_OP = 0
 
PROTECTED OPCODE_CMD_NO_OP_STRING = 1
 
PROTECTED OPCODE_CMD_TEST_CMD_1 = 2
 
PROTECTED OPCODE_CMD_CLEAR_TRACKING = 3
 
PROTECTED PROTECTED: virtual void CMD_NO_OP_cmdHandler( FwOpcodeType opCode
 
PROTECTED U32 cmdSeq = 0
 
PROTECTED __pad10__: virtual void CMD_NO_OP_preMsgHook( FwOpcodeType opCode
 
PROTECTED __pad11__: void CMD_NO_OP_cmdHandlerBase( FwOpcodeType opCode
 
PROTECTED U32 Fw::CmdArgBufferargs
 
PROTECTED __pad12__: void cmdResponse_out( FwOpcodeType opCode
 
PROTECTED U32 Fw::CommandResponse response
 
PROTECTED __pad13__: enum { EVENTID_OPCODEREGISTERED = 0
 
PROTECTED EVENTID_OPCODEDISPATCHED = 1
 
PROTECTED EVENTID_OPCODECOMPLETED = 2
 
PROTECTED EVENTID_OPCODEERROR = 3
 
PROTECTED EVENTID_MALFORMEDCOMMAND = 4
 
PROTECTED EVENTID_INVALIDCOMMAND = 5
 
PROTECTED EVENTID_TOOMANYCOMMANDS = 6
 
PROTECTED EVENTID_NOOPRECEIVED = 7
 
PROTECTED EVENTID_NOOPSTRINGRECEIVED = 8
 
PROTECTED EVENTID_TESTCMD1ARGS = 9
 
PROTECTED ERR_VALIDATION_ERROR
 
PROTECTED ERR_FORMAT_ERROR
 
PROTECTED ERR_EXECUTION_ERROR
 
PROTECTED ERR_BUSY
 
PROTECTED ERR_UNEXP
 
PROTECTED ErrorResponse_MAX ErrorResponse
 
PROTECTED __pad14__: void log_DIAGNOSTIC_OpCodeRegistered( U32 Opcode
 
PROTECTED I32 port
 
PROTECTED I32 I32 slot
 
PROTECTED __pad15__: enum { CHANNELID_COMMANDSDISPATCHED = 0
 Channel ID for CommandsDispatched. More...
 
PROTECTED CHANNELID_COMMANDERRORS = 1
 Channel ID for CommandErrors. More...
 
PROTECTED __pad16__: Fw::Time getTime(void)
 
PRIVATE __pad17__: Fw::InputCmdRegPort m_compCmdReg_InputPort[NUM_COMPCMDREG_INPUT_PORTS]
 
Fw::InputCmdResponsePort m_compCmdStat_InputPort [NUM_COMPCMDSTAT_INPUT_PORTS]
 
Fw::InputComPort m_seqCmdBuff_InputPort [NUM_SEQCMDBUFF_INPUT_PORTS]
 
Svc::InputPingPort m_pingIn_InputPort [NUM_PINGIN_INPUT_PORTS]
 
Fw::InputCmdPort m_CmdDisp_InputPort [NUM_CMDDISP_INPUT_PORTS]
 
PRIVATE __pad18__: Fw::OutputCmdPort m_compCmdSend_OutputPort[NUM_COMPCMDSEND_OUTPUT_PORTS]
 
Fw::OutputCmdResponsePort m_seqCmdStatus_OutputPort [NUM_SEQCMDSTATUS_OUTPUT_PORTS]
 
Svc::OutputPingPort m_pingOut_OutputPort [NUM_PINGOUT_OUTPUT_PORTS]
 
Fw::OutputCmdResponsePort m_CmdStatus_OutputPort [NUM_CMDSTATUS_OUTPUT_PORTS]
 
Fw::OutputCmdRegPort m_CmdReg_OutputPort [NUM_CMDREG_OUTPUT_PORTS]
 
Fw::OutputTlmPort m_Tlm_OutputPort [NUM_TLM_OUTPUT_PORTS]
 
Fw::OutputTimePort m_Time_OutputPort [NUM_TIME_OUTPUT_PORTS]
 
Fw::OutputLogPort m_Log_OutputPort [NUM_LOG_OUTPUT_PORTS]
 
PRIVATE __pad19__: static void m_p_compCmdReg_in( Fw::PassiveComponentBase* callComp
 
PRIVATE NATIVE_INT_TYPE portNum
 
PRIVATE NATIVE_INT_TYPE FwOpcodeType opCode
 
PRIVATE __pad20__: virtual MsgDispatchStatus doDispatch(void)
 
PRIVATE __pad21__: Os::Mutex m_guardedPortMutex
 
PRIVATE __pad22__: bool m_first_update_CommandsDispatched
 
bool m_first_update_CommandErrors
 
PRIVATE __pad23__: U32 m_last_CommandsDispatched
 
U32 m_last_CommandErrors
 
- Public Attributes inherited from Fw::ActiveComponentBase
PROTECTED __pad0__: ActiveComponentBase(const char* name)
 Constructor. More...
 
Os::Task m_task
 task object for active component More...
 
PRIVATE __pad1__: static void s_baseTask(void*)
 function provided to task class for new thread. More...
 
- Public Attributes inherited from Fw::QueuedComponentBase
PROTECTED __pad0__: QueuedComponentBase(const char* name)
 Constructor. More...
 
Os::Queue m_queue
 queue object for active component More...
 
PRIVATE __pad1__: NATIVE_INT_TYPE m_msgsDropped
 number of messages dropped from full queue More...
 
- Public Attributes inherited from Fw::PassiveComponentBase
PROTECTED __pad0__: PassiveComponentBase(const char* name)
 Named constructor. More...
 
PRIVATE __pad1__: U32 m_idBase
 ID base for opcodes etc. More...
 
NATIVE_INT_TYPE m_instance
 instance of component object More...
 

Additional Inherited Members

- Public Types inherited from Svc::CommandDispatcherComponentBase
enum  {
  NUM_COMPCMDREG_INPUT_PORTS = 30, NUM_COMPCMDSTAT_INPUT_PORTS = 1, NUM_SEQCMDBUFF_INPUT_PORTS = 5, NUM_PINGIN_INPUT_PORTS = 1,
  NUM_CMDDISP_INPUT_PORTS = 1
}
 
enum  {
  NUM_COMPCMDSEND_OUTPUT_PORTS = 30, NUM_SEQCMDSTATUS_OUTPUT_PORTS = 5, NUM_PINGOUT_OUTPUT_PORTS = 1, NUM_CMDSTATUS_OUTPUT_PORTS = 1,
  NUM_CMDREG_OUTPUT_PORTS = 1, NUM_TLM_OUTPUT_PORTS = 1, NUM_TIME_OUTPUT_PORTS = 1, NUM_LOG_OUTPUT_PORTS = 1,
  NUM_LOGTEXT_OUTPUT_PORTS = 1
}
 
enum  CmdSerError {
  ERR_BUFFER_TOO_SMALL, ERR_BUFFER_FORMAT, ERR_SIZE_MISMATCH, ERR_TYPE_MISMATCH,
  ERR_UNEXP_STAT, CmdSerError_MAX
}
 
- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK, MSG_DISPATCH_EMPTY, MSG_DISPATCH_ERROR, MSG_DISPATCH_EXIT }
 
- Static Public Member Functions inherited from Svc::CommandDispatcherComponentBase
static void m_p_compCmdStat_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
 
static void m_p_seqCmdBuff_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
 
static void m_p_pingIn_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, U32 key)
 
static void m_p_CmdDisp_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
- Static Public Member Functions inherited from Fw::ActiveComponentBase
static void s_baseBareTask (void *)
 function provided to task class for new thread. More...
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init (void)
 Object initializer. More...
 

Detailed Description

Command Dispatcher component class.

The command dispatcher takes incoming Fw::Com packets that contain encoded commands. It extracts the opcode and looks it up in a table that is populated by components at registration time. If a component is connected to the seqCmdStatus port with the same number as the port that submitted the command, the command status will be returned.

Definition at line 32 of file CommandDispatcherImpl.hpp.

Constructor & Destructor Documentation

◆ CommandDispatcherImpl()

Svc::CommandDispatcherImpl::CommandDispatcherImpl ( const char *  name)

Command Dispatcher constructor.

The constructor initializes the state of the component. In this component, the opcode dispatch and tracking tables are initialized.

Parameters
namethe component instance name

Definition at line 14 of file CommandDispatcherImpl.cpp.

◆ ~CommandDispatcherImpl()

Svc::CommandDispatcherImpl::~CommandDispatcherImpl ( )
virtual

Component destructor.

The destructor for this component is empty

Definition at line 24 of file CommandDispatcherImpl.cpp.

Member Function Documentation

◆ CMD_CLEAR_TRACKING_cmdHandler()

void Svc::CommandDispatcherImpl::CMD_CLEAR_TRACKING_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)
virtual

A command to clear the command tracking.

This command will clear the table tracking the completion of commands. It is meant to be used if the tracking table has gotten full because of a software failure. It is dangerous in that it can clear a command that a sequencer is watiting for.

Parameters
opCodethe CLEAR_TRACKING opcode.
cmdSeqthe assigned sequence number for the command

Implements Svc::CommandDispatcherComponentBase.

Definition at line 221 of file CommandDispatcherImpl.cpp.

◆ CMD_NO_OP_cmdHandler()

void Svc::CommandDispatcherImpl::CMD_NO_OP_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)

NO_OP command handler.

A test command that does nothing

Parameters
opCodethe NO_OP opcode.
cmdSeqthe assigned sequence number for the command

Definition at line 202 of file CommandDispatcherImpl.cpp.

◆ CMD_NO_OP_STRING_cmdHandler()

void Svc::CommandDispatcherImpl::CMD_NO_OP_STRING_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
const Fw::CmdStringArg arg1 
)
virtual

NO_OP with string command handler.

A test command that receives a string an sends an event with the string as an argument

Parameters
opCodethe NO_OP_STRING opcode.
cmdSeqthe assigned sequence number for the command
arg1the string argument

Implements Svc::CommandDispatcherComponentBase.

Definition at line 209 of file CommandDispatcherImpl.cpp.

◆ CMD_TEST_CMD_1_cmdHandler()

void Svc::CommandDispatcherImpl::CMD_TEST_CMD_1_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq,
I32  arg1,
F32  arg2,
U8  arg3 
)
virtual

A test command with different argument types.

A test command that receives a set of arguments of different types

Parameters
opCodethe TEST_CMD_1 opcode.
cmdSeqthe assigned sequence number for the command
arg1the I32 argument
arg2the F32 argument
arg3the U8 argument

Implements Svc::CommandDispatcherComponentBase.

Definition at line 216 of file CommandDispatcherImpl.cpp.

◆ compCmdReg_handler()

void Svc::CommandDispatcherImpl::compCmdReg_handler ( NATIVE_INT_TYPE  portNum,
FwOpcodeType  opCode 
)

component command registration handler

The command registration handler is called to register new opcodes. The port number called is used to indicate which port should be used to dispatch the opcode.

Parameters
portNumthe number of the incoming port.
opCodethe opcode being registered.

Definition at line 34 of file CommandDispatcherImpl.cpp.

◆ init()

void Svc::CommandDispatcherImpl::init ( NATIVE_INT_TYPE  queueDepth,
NATIVE_INT_TYPE  instance 
)

Component initialization routine.

The initialization function calls the initialization routine for the base class.

Parameters
queueDepththe depth of the message queue for the component initialization function
Parameters
queueDepthThe queue depth
instanceThe instance number

Definition at line 27 of file CommandDispatcherImpl.cpp.

◆ pingIn_handler()

void Svc::CommandDispatcherImpl::pingIn_handler ( NATIVE_INT_TYPE  portNum,
U32  key 
)
virtual

component ping handler

The ping handler responds to messages to verify that the task is still executing. Will call output poing port

Parameters
portNumthe number of the incoming port.
opCodethe opcode being registered.
keythe key value that is returned with the ping response

Implements Svc::CommandDispatcherComponentBase.

Definition at line 229 of file CommandDispatcherImpl.cpp.

◆ seqCmdBuff_handler()

void Svc::CommandDispatcherImpl::seqCmdBuff_handler ( NATIVE_INT_TYPE  portNum,
Fw::ComBuffer data,
U32  context 
)
virtual

component command buffer handler

The command buffer handler is called to submit a new command packet to be decoded

Parameters
portNumthe number of the incoming port.
datathe buffer containing the command.
contexta user value returned with the statuss

Implements Svc::CommandDispatcherComponentBase.

Definition at line 109 of file CommandDispatcherImpl.cpp.

Member Data Documentation

◆ __pad0__

PROTECTED Svc::CommandDispatcherImpl::__pad0__

Definition at line 56 of file CommandDispatcherImpl.hpp.

◆ cmdSeq

PROTECTED FwOpcodeType U32 Svc::CommandDispatcherImpl::cmdSeq

Definition at line 67 of file CommandDispatcherImpl.hpp.

◆ m_entryTable

struct Svc::CommandDispatcherImpl::DispatchEntry Svc::CommandDispatcherImpl::m_entryTable[CMD_DISPATCHER_DISPATCH_TABLE_SIZE]

table of dispatch entries

◆ m_numCmdErrors

U32 Svc::CommandDispatcherImpl::m_numCmdErrors

number of commands with an error

Definition at line 173 of file CommandDispatcherImpl.hpp.

◆ m_numCmdsDispatched

U32 Svc::CommandDispatcherImpl::m_numCmdsDispatched

number of commands dispatched

Definition at line 172 of file CommandDispatcherImpl.hpp.

◆ m_seq

I32 Svc::CommandDispatcherImpl::m_seq

current command sequence number

Definition at line 170 of file CommandDispatcherImpl.hpp.

◆ m_sequenceTracker

struct Svc::CommandDispatcherImpl::SequenceTracker Svc::CommandDispatcherImpl::m_sequenceTracker[CMD_DISPATCHER_SEQUENCER_TABLE_SIZE]

sequence tracking port for command completions;

◆ opCode

PROTECTED FwOpcodeType Svc::CommandDispatcherImpl::opCode

Definition at line 67 of file CommandDispatcherImpl.hpp.

◆ response

PROTECTED FwOpcodeType U32 Fw::CommandResponse Svc::CommandDispatcherImpl::response

Definition at line 67 of file CommandDispatcherImpl.hpp.


The documentation for this class was generated from the following files: