F´ Flight Software - C/C++ Documentation
NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
|
Go to the documentation of this file.
17 m_numCmdsDispatched(0),
36 bool slotFound =
false;
61 evrResp = ERR_INVALID_OPCODE;
101 if (portToCall != -1) {
145 bool entryFound =
false;
153 if (entryFound and this->isConnected_compCmdSend_OutputPort(this->
m_entryTable[entry].
port)) {
156 bool pendingFound =
false;
171 if (not pendingFound) {
void pingOut_out(NATIVE_INT_TYPE portNum, U32 key)
@ FW_DESERIALIZE_BUFFER_EMPTY
Deserialization buffer was empty when trying to read more data.
void log_WARNING_HI_MalformedCommand(CmdSerError Status)
U32 context
context passed by user
I32 m_seq
current command sequence number
Auto-generated base for CommandDispatcher component.
PRIVATE NATIVE_INT_TYPE portNum
SerializeStatus
forward declaration for string
@ FW_DESERIALIZE_SIZE_MISMATCH
Data was left in in the buffer, but not enough to deserialize.
const char * toChar(void) const
void pingIn_handler(NATIVE_INT_TYPE portNum, U32 key)
component ping handler
U32 opcode
opcode of entry
struct Svc::CommandDispatcherImpl::DispatchEntry m_entryTable[CMD_DISPATCHER_DISPATCH_TABLE_SIZE]
table of dispatch entries
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
uint8_t U8
8-bit unsigned integer
U32 m_numCmdErrors
number of commands with an error
NATIVE_INT_TYPE port
which port the entry invokes
CommandDispatcherImpl(const char *name)
Command Dispatcher constructor.
NATIVE_INT_TYPE callerPort
port command source port
void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &arg1)
NO_OP with string command handler.
PROTECTED FwOpcodeType U32 Fw::CommandResponse response
void log_ACTIVITY_HI_TestCmd1Args(I32 arg1, F32 arg2, U8 arg3)
void log_WARNING_HI_OpCodeError(U32 Opcode, ErrorResponse error)
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
void log_WARNING_HI_InvalidCommand(U32 Opcode)
void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)
NO_OP command handler.
void init(void)
Object initializer.
bool isConnected_seqCmdStatus_OutputPort(NATIVE_INT_TYPE portNum)
NATIVE_INT_TYPE getNum_seqCmdStatus_OutputPorts(void)
@ FW_DESERIALIZE_FORMAT_ERROR
Deserialization data had incorrect values (unexpected data types)
@ COMMAND_EXECUTION_ERROR
PROTECTED ErrorResponse_MAX ErrorResponse
void log_WARNING_HI_TooManyCommands(U32 Opcode)
PROTECTED FwOpcodeType opCode
void seqCmdStatus_out(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
void log_ACTIVITY_HI_NoOpReceived(void)
float F32
32-bit floating point
#define FwOpcodeType
Type representation for a command opcode.
Component responsible for dispatching incoming commands to registered components.
SerializeStatus deserialize(SerializeBufferBase &buffer)
deserialize to contents
CmdArgBuffer & getArgBuffer(void)
void log_COMMAND_OpCodeCompleted(U32 Opcode)
PROTECTED FwOpcodeType U32 cmdSeq
void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)
A command to clear the command tracking.
void log_ACTIVITY_HI_NoOpStringReceived(Fw::LogStringArg &message)
struct Svc::CommandDispatcherImpl::SequenceTracker m_sequenceTracker[CMD_DISPATCHER_SEQUENCER_TABLE_SIZE]
sequence tracking port for command completions;
PROTECTED ERR_EXECUTION_ERROR
void log_COMMAND_OpCodeDispatched(U32 Opcode, I32 port)
U32 m_numCmdsDispatched
number of commands dispatched
void seqCmdBuff_handler(NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
component command buffer handler
bool used
if this slot is used
PROTECTED ERR_VALIDATION_ERROR
@ FW_DESERIALIZE_TYPE_MISMATCH
Deserialized type ID didn't match.
FwOpcodeType opCode
opcode being tracked
void compCmdReg_handler(NATIVE_INT_TYPE portNum, FwOpcodeType opCode)
component command registration handler
void tlmWrite_CommandErrors(U32 arg)
bool used
if entry has been used yet
virtual ~CommandDispatcherImpl()
Component destructor.
FwOpcodeType getOpCode(void) const
virtual void compCmdStat_handler(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)=0
Handler for input port compCmdStat.
@ CMD_DISPATCHER_SEQUENCER_TABLE_SIZE
void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3)
A test command with different argument types.
@ COMMAND_VALIDATION_ERROR
int NATIVE_INT_TYPE
native integer type declaration
U32 seq
command sequence number
PROTECTED ERR_FORMAT_ERROR