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 #if FW_ENABLE_TEXT_LOGGING
32 COMPCMDSTAT_CMDRESPONSE,
38 CMD_CMD_CLEAR_TRACKING
53 class ComponentIpcSerializableBuffer :
68 return sizeof(m_buff);
71 U8* getBuffAddr(
void) {
75 const U8* getBuffAddr(
void)
const {
81 U8 m_buff[SERIALIZATION_SIZE];
95 return &this->m_compCmdReg_InputPort[
portNum];
137 this->m_compCmdSend_OutputPort[
portNum].addCallPort(
port);
210 #if FW_ENABLE_TEXT_LOGGING == 1
211 void CommandDispatcherComponentBase ::
212 set_LogText_OutputPort(
218 this->m_LogText_OutputPort[
portNum].addCallPort(
port);
226 #if FW_PORT_SERIALIZATION
231 Fw::InputSerializePort *port
235 return this->m_compCmdSend_OutputPort[
portNum].registerSerialPort(
port);
241 Fw::InputSerializePort *port
251 Fw::InputSerializePort *port
261 Fw::InputSerializePort *port
271 Fw::InputSerializePort *port
281 Fw::InputSerializePort *port
291 Fw::InputSerializePort *port
301 Fw::InputSerializePort *port
308 #if FW_ENABLE_TEXT_LOGGING == 1
309 void CommandDispatcherComponentBase ::
310 set_LogText_OutputPort(
312 Fw::InputSerializePort *port
316 return this->m_LogText_OutputPort[
portNum].registerSerialPort(
port);
349 #if FW_OBJECT_NAMES == 1
351 Fw::ActiveComponentBase(compName)
354 Fw::ActiveComponentBase()
359 this->m_first_update_CommandsDispatched =
true;
360 this->m_last_CommandsDispatched = 0;
362 this->m_first_update_CommandErrors =
true;
363 this->m_last_CommandErrors = 0;
381 port < this->getNum_compCmdReg_InputPorts();
385 this->m_compCmdReg_InputPort[
port].init();
386 this->m_compCmdReg_InputPort[
port].addCallComp(
390 this->m_compCmdReg_InputPort[
port].setPortNum(
port);
392 #if FW_OBJECT_NAMES == 1
397 "%s_compCmdReg_InputPort[%d]",
401 this->m_compCmdReg_InputPort[
port].setObjName(portName);
420 #if FW_OBJECT_NAMES == 1
425 "%s_compCmdStat_InputPort[%d]",
448 #if FW_OBJECT_NAMES == 1
453 "%s_seqCmdBuff_InputPort[%d]",
476 #if FW_OBJECT_NAMES == 1
481 "%s_pingIn_InputPort[%d]",
504 #if FW_OBJECT_NAMES == 1
509 "%s_CmdDisp_InputPort[%d]",
521 port < this->getNum_compCmdSend_OutputPorts();
524 this->m_compCmdSend_OutputPort[
port].
init();
526 #if FW_OBJECT_NAMES == 1
531 "%s_compCmdSend_OutputPort[%d]",
535 this->m_compCmdSend_OutputPort[
port].setObjName(portName);
548 #if FW_OBJECT_NAMES == 1
553 "%s_seqCmdStatus_OutputPort[%d]",
570 #if FW_OBJECT_NAMES == 1
575 "%s_pingOut_OutputPort[%d]",
592 #if FW_OBJECT_NAMES == 1
597 "%s_CmdStatus_OutputPort[%d]",
614 #if FW_OBJECT_NAMES == 1
619 "%s_CmdReg_OutputPort[%d]",
636 #if FW_OBJECT_NAMES == 1
641 "%s_Tlm_OutputPort[%d]",
658 #if FW_OBJECT_NAMES == 1
663 "%s_Time_OutputPort[%d]",
680 #if FW_OBJECT_NAMES == 1
685 "%s_Log_OutputPort[%d]",
695 #if FW_ENABLE_TEXT_LOGGING == 1
698 port < this->getNum_LogText_OutputPorts();
701 this->m_LogText_OutputPort[
port].
init();
703 #if FW_OBJECT_NAMES == 1
708 "%s_LogText_OutputPort[%d]",
712 this->m_LogText_OutputPort[
port].setObjName(portName);
721 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
739 void CommandDispatcherComponentBase ::
774 getNum_compCmdSend_OutputPorts(
void)
777 this->m_compCmdSend_OutputPort
782 getNum_compCmdReg_InputPorts(
void)
785 this->m_compCmdReg_InputPort
877 #if FW_ENABLE_TEXT_LOGGING == 1
879 getNum_LogText_OutputPorts(
void)
882 this->m_LogText_OutputPort
891 bool CommandDispatcherComponentBase ::
895 portNum < this->getNum_compCmdSend_OutputPorts(),
898 return this->m_compCmdSend_OutputPort[
portNum].isConnected();
971 #if FW_ENABLE_TEXT_LOGGING == 1
972 bool CommandDispatcherComponentBase ::
976 portNum < this->getNum_LogText_OutputPorts(),
979 return this->m_LogText_OutputPort[
portNum].isConnected();
1002 const U32 idBase = callComp->
getIdBase();
1004 switch (
opCode - idBase) {
1006 case OPCODE_CMD_NO_OP:
1007 compPtr->CMD_NO_OP_cmdHandlerBase(
1039 compPtr->cmdResponse_out(
1050 void CommandDispatcherComponentBase ::
1065 void CommandDispatcherComponentBase ::
1066 CMD_NO_OP_cmdHandlerBase(
1078 ComponentIpcSerializableBuffer msg;
1090 _status = msg.serialize(
port);
1096 _status = msg.serialize(
opCode);
1102 _status = msg.serialize(
cmdSeq);
1108 _status = msg.serialize(
args);
1126 void CommandDispatcherComponentBase::
1127 CMD_NO_OP_preMsgHook(
1148 ComponentIpcSerializableBuffer msg;
1160 _status = msg.serialize(
port);
1166 _status = msg.serialize(
opCode);
1172 _status = msg.serialize(
cmdSeq);
1178 _status = msg.serialize(
args);
1218 ComponentIpcSerializableBuffer msg;
1230 _status = msg.serialize(
port);
1236 _status = msg.serialize(
opCode);
1242 _status = msg.serialize(
cmdSeq);
1248 _status = msg.serialize(
args);
1288 ComponentIpcSerializableBuffer msg;
1300 _status = msg.serialize(
port);
1306 _status = msg.serialize(
opCode);
1312 _status = msg.serialize(
cmdSeq);
1318 _status = msg.serialize(
args);
1349 void CommandDispatcherComponentBase ::
1350 tlmWrite_CommandsDispatched(U32 arg)
1354 if (not this->m_first_update_CommandsDispatched) {
1356 if (arg == this->m_last_CommandsDispatched) {
1359 this->m_last_CommandsDispatched = arg;
1363 this->m_first_update_CommandsDispatched =
false;
1364 this->m_last_CommandsDispatched = arg;
1381 _id = this->
getIdBase() + CHANNELID_COMMANDSDISPATCHED;
1406 this->m_first_update_CommandErrors =
false;
1439 Fw::Time CommandDispatcherComponentBase ::
1455 void CommandDispatcherComponentBase ::
1456 log_DIAGNOSTIC_OpCodeRegistered(
1457 U32 Opcode, I32 port, I32 slot
1470 _id = this->
getIdBase() + EVENTID_OPCODEREGISTERED;
1478 #if FW_AMPCS_COMPATIBLE
1487 #if FW_AMPCS_COMPATIBLE
1490 static_cast<U8>(
sizeof(Opcode))
1504 #if FW_AMPCS_COMPATIBLE
1507 static_cast<U8>(
sizeof(
port))
1521 #if FW_AMPCS_COMPATIBLE
1524 static_cast<U8>(
sizeof(
slot))
1548 #if FW_ENABLE_TEXT_LOGGING
1549 if (this->m_LogText_OutputPort[0].isConnected()) {
1551 #if FW_OBJECT_NAMES == 1
1552 const char* _formatString =
1553 "(%s) %s: Opcode 0x%04X registered to port %d slot %d";
1555 const char* _formatString =
1556 "%s: Opcode 0x%04X registered to port %d slot %d";
1577 this->m_LogText_OutputPort[0].invoke(
1591 U32 Opcode, I32 port
1612 #if FW_AMPCS_COMPATIBLE
1621 #if FW_AMPCS_COMPATIBLE
1624 static_cast<U8>(
sizeof(Opcode))
1638 #if FW_AMPCS_COMPATIBLE
1641 static_cast<U8>(
sizeof(
port))
1665 #if FW_ENABLE_TEXT_LOGGING
1666 if (this->m_LogText_OutputPort[0].isConnected()) {
1668 #if FW_OBJECT_NAMES == 1
1669 const char* _formatString =
1670 "(%s) %s: Opcode 0x%04X dispatched to port %d";
1672 const char* _formatString =
1673 "%s: Opcode 0x%04X dispatched to port %d";
1693 this->m_LogText_OutputPort[0].invoke(
1728 #if FW_AMPCS_COMPATIBLE
1737 #if FW_AMPCS_COMPATIBLE
1740 static_cast<U8>(
sizeof(Opcode))
1764 #if FW_ENABLE_TEXT_LOGGING
1765 if (this->m_LogText_OutputPort[0].isConnected()) {
1767 #if FW_OBJECT_NAMES == 1
1768 const char* _formatString =
1769 "(%s) %s: Opcode 0x%04X completed";
1771 const char* _formatString =
1772 "%s: Opcode 0x%04X completed";
1791 this->m_LogText_OutputPort[0].invoke(
1805 U32 Opcode, ErrorResponse error
1826 #if FW_AMPCS_COMPATIBLE
1835 #if FW_AMPCS_COMPATIBLE
1838 static_cast<U8>(
sizeof(Opcode))
1852 #if FW_AMPCS_COMPATIBLE
1879 #if FW_ENABLE_TEXT_LOGGING
1880 if (this->m_LogText_OutputPort[0].isConnected()) {
1882 #if FW_OBJECT_NAMES == 1
1883 const char* _formatString =
1884 "(%s) %s: Opcode 0x%04X completed with error %d ";
1886 const char* _formatString =
1887 "%s: Opcode 0x%04X completed with error %d ";
1907 this->m_LogText_OutputPort[0].invoke(
1942 #if FW_AMPCS_COMPATIBLE
1951 #if FW_AMPCS_COMPATIBLE
1978 #if FW_ENABLE_TEXT_LOGGING
1979 if (this->m_LogText_OutputPort[0].isConnected()) {
1981 #if FW_OBJECT_NAMES == 1
1982 const char* _formatString =
1983 "(%s) %s: Received malformed command packet. Status: %d";
1985 const char* _formatString =
1986 "%s: Received malformed command packet. Status: %d";
2005 this->m_LogText_OutputPort[0].invoke(
2040 #if FW_AMPCS_COMPATIBLE
2049 #if FW_AMPCS_COMPATIBLE
2052 static_cast<U8>(
sizeof(Opcode))
2076 #if FW_ENABLE_TEXT_LOGGING
2077 if (this->m_LogText_OutputPort[0].isConnected()) {
2079 #if FW_OBJECT_NAMES == 1
2080 const char* _formatString =
2081 "(%s) %s: Invalid opcode 0x%04X received.";
2083 const char* _formatString =
2084 "%s: Invalid opcode 0x%04X received.";
2103 this->m_LogText_OutputPort[0].invoke(
2138 #if FW_AMPCS_COMPATIBLE
2147 #if FW_AMPCS_COMPATIBLE
2150 static_cast<U8>(
sizeof(Opcode))
2174 #if FW_ENABLE_TEXT_LOGGING
2175 if (this->m_LogText_OutputPort[0].isConnected()) {
2177 #if FW_OBJECT_NAMES == 1
2178 const char* _formatString =
2179 "(%s) %s: Too many outstanding commands. opcode=0x%04X";
2181 const char* _formatString =
2182 "%s: Too many outstanding commands. opcode=0x%04X";
2201 this->m_LogText_OutputPort[0].invoke(
2234 #if FW_AMPCS_COMPATIBLE
2237 _zero_status = _logBuff.
serialize(
static_cast<U8>(0));
2254 #if FW_ENABLE_TEXT_LOGGING
2255 if (this->m_LogText_OutputPort[0].isConnected()) {
2257 #if FW_OBJECT_NAMES == 1
2258 const char* _formatString =
2259 "(%s) %s: Received a NO-OP command";
2261 const char* _formatString =
2262 "%s: Received a NO-OP command";
2280 this->m_LogText_OutputPort[0].invoke(
2315 #if FW_AMPCS_COMPATIBLE
2341 #if FW_ENABLE_TEXT_LOGGING
2342 if (this->m_LogText_OutputPort[0].isConnected()) {
2344 #if FW_OBJECT_NAMES == 1
2345 const char* _formatString =
2346 "(%s) %s: Received a NO-OP string=%s";
2348 const char* _formatString =
2349 "%s: Received a NO-OP string=%s";
2361 "NoOpStringReceived "
2368 this->m_LogText_OutputPort[0].invoke(
2382 I32 arg1,
F32 arg2,
U8 arg3
2403 #if FW_AMPCS_COMPATIBLE
2412 #if FW_AMPCS_COMPATIBLE
2415 static_cast<U8>(
sizeof(arg1))
2429 #if FW_AMPCS_COMPATIBLE
2432 static_cast<U8>(
sizeof(arg2))
2446 #if FW_AMPCS_COMPATIBLE
2449 static_cast<U8>(
sizeof(arg3))
2473 #if FW_ENABLE_TEXT_LOGGING
2474 if (this->m_LogText_OutputPort[0].isConnected()) {
2476 #if FW_OBJECT_NAMES == 1
2477 const char* _formatString =
2478 "(%s) %s: TEST_CMD_1 args: I32: %d, F32: %f, U8: %d";
2480 const char* _formatString =
2481 "%s: TEST_CMD_1 args: I32: %d, F32: %f, U8: %d";
2502 this->m_LogText_OutputPort[0].invoke(
2518 void CommandDispatcherComponentBase ::
2521 this->m_guardedPortMutex.lock();
2527 this->m_guardedPortMutex.unLock();
2534 void CommandDispatcherComponentBase ::
2590 void CommandDispatcherComponentBase ::
2591 compCmdReg_handlerBase(
2622 compCmdStat_preMsgHook(
2627 ComponentIpcSerializableBuffer msg;
2630 _status = msg.serialize(
2638 _status = msg.serialize(
portNum);
2645 _status = msg.serialize(
opCode);
2652 _status = msg.serialize(
cmdSeq);
2694 ComponentIpcSerializableBuffer msg;
2697 _status = msg.serialize(
2705 _status = msg.serialize(
portNum);
2712 _status = msg.serialize(data);
2719 _status = msg.serialize(context);
2754 ComponentIpcSerializableBuffer msg;
2757 _status = msg.serialize(
2765 _status = msg.serialize(
portNum);
2772 _status = msg.serialize(key);
2795 void CommandDispatcherComponentBase ::
2796 compCmdStat_preMsgHook(
2830 ComponentIpcSerializableBuffer msg;
2849 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
2851 if (msgType == COMMANDDISPATCHER_COMPONENT_EXIT) {
2856 deserStatus = msg.deserialize(
portNum);
2865 case COMPCMDSTAT_CMDRESPONSE: {
2869 deserStatus = msg.deserialize(
opCode);
2877 deserStatus = msg.deserialize(
cmdSeq);
2886 deserStatus = msg.deserialize(responseInt);
2904 case SEQCMDBUFF_COM: {
2908 deserStatus = msg.deserialize(data);
2916 deserStatus = msg.deserialize(context);
2937 deserStatus = msg.deserialize(key);
2954 case CMD_CMD_NO_OP: {
2957 deserStatus = msg.deserialize(
opCode);
2965 deserStatus = msg.deserialize(
cmdSeq);
2973 deserStatus = msg.deserialize(
args);
2984 #if FW_CMD_CHECK_RESIDUAL
3001 case CMD_CMD_NO_OP_STRING: {
3004 deserStatus = msg.deserialize(
opCode);
3012 deserStatus = msg.deserialize(
cmdSeq);
3020 deserStatus = msg.deserialize(
args);
3034 this->cmdResponse_out(
3046 #if FW_CMD_CHECK_RESIDUAL
3067 case CMD_CMD_TEST_CMD_1: {
3070 deserStatus = msg.deserialize(
opCode);
3078 deserStatus = msg.deserialize(
cmdSeq);
3086 deserStatus = msg.deserialize(
args);
3100 this->cmdResponse_out(
3115 this->cmdResponse_out(
3130 this->cmdResponse_out(
3142 #if FW_CMD_CHECK_RESIDUAL
3163 case CMD_CMD_CLEAR_TRACKING: {
3166 deserStatus = msg.deserialize(
opCode);
3174 deserStatus = msg.deserialize(
cmdSeq);
3182 deserStatus = msg.deserialize(
args);
3193 #if FW_CMD_CHECK_RESIDUAL
bool isConnected_Time_OutputPort(NATIVE_INT_TYPE portNum)
Fw::InputCmdRegPort * get_compCmdReg_InputPort(NATIVE_INT_TYPE portNum)
void pingOut_out(NATIVE_INT_TYPE portNum, U32 key)
bool m_first_update_CommandErrors
BYTE port2[Fw::InputComPort::SERIALIZED_SIZE]
virtual void CMD_TEST_CMD_1_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
void log_WARNING_HI_MalformedCommand(CmdSerError Status)
PROTECTED FwOpcodeType U32 cmdSeq
U32 getIdBase(void) const
PROTECTED OPCODE_CMD_NO_OP_STRING
void set_CmdReg_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
NATIVE_INT_TYPE getNum_Time_OutputPorts(void)
PROTECTED EVENTID_TESTCMD1ARGS
virtual MsgDispatchStatus doDispatch(void)=0
method to dispatch a single message in the queue.
NATIVE_INT_TYPE getNum_compCmdStat_InputPorts(void)
Auto-generated base for CommandDispatcher component.
void addCallPort(InputCmdResponsePort *callPort)
PRIVATE NATIVE_INT_TYPE portNum
NATIVE_INT_TYPE getNum_CmdStatus_OutputPorts(void)
SerializeStatus
forward declaration for string
PROTECTED EVENTID_TOOMANYCOMMANDS
PROTECTED EVENTID_NOOPRECEIVED
NATIVE_INT_TYPE getNum_seqCmdBuff_InputPorts(void)
#define FwChanIdType
Type representation for a channel id.
virtual void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &arg1)=0
Handler for command CMD_NO_OP_STRING.
void resetDeser(void)
reset deserialization to beginning
void invoke(FwEventIdType id, Fw::Time &timeTag, LogSeverity severity, LogBuffer &args)
void addCallPort(InputCmdRegPort *callPort)
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
Fw::OutputCmdResponsePort m_seqCmdStatus_OutputPort[NUM_SEQCMDSTATUS_OUTPUT_PORTS]
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
uint8_t U8
8-bit unsigned integer
virtual void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3)=0
Handler for command CMD_TEST_CMD_1.
PROTECTED EVENTID_NOOPSTRINGRECEIVED
Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS]
#define FwEnumStoreType
Type representation for an enumeration value.
PROTECTED FwOpcodeType U32 Fw::CmdArgBuffer & args
virtual void pingIn_handler(NATIVE_INT_TYPE portNum, U32 key)=0
Handler for input port pingIn.
Os::Queue m_queue
queue object for active component
static void m_p_seqCmdBuff_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
bool isConnected_CmdReg_OutputPort(NATIVE_INT_TYPE portNum)
void set_pingOut_OutputPort(NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
void set_Log_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
bool isConnected_Tlm_OutputPort(NATIVE_INT_TYPE portNum)
NATIVE_INT_TYPE getNum_CmdDisp_InputPorts(void)
NATIVE_INT_TYPE getNum_pingOut_OutputPorts(void)
static void m_p_CmdDisp_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Svc::InputPingPort * get_pingIn_InputPort(NATIVE_INT_TYPE portNum)
PROTECTED OPCODE_CMD_CLEAR_TRACKING
virtual void CMD_CLEAR_TRACKING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
void log_ACTIVITY_HI_TestCmd1Args(I32 arg1, F32 arg2, U8 arg3)
void log_WARNING_HI_OpCodeError(U32 Opcode, ErrorResponse error)
Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS]
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
virtual void seqCmdBuff_preMsgHook(NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block)
send a message
Fw::OutputCmdResponsePort m_CmdStatus_OutputPort[NUM_CMDSTATUS_OUTPUT_PORTS]
void log_WARNING_HI_InvalidCommand(U32 Opcode)
NATIVE_UINT_TYPE getBuffLeft() const
returns how much deserialization buffer is left
const char * toChar(void) const
void addCallPort(InputPingPort *callPort)
bool isConnected_CmdStatus_OutputPort(NATIVE_INT_TYPE portNum)
virtual void unLock(void)
Fw::InputCmdResponsePort m_compCmdStat_InputPort[NUM_COMPCMDSTAT_INPUT_PORTS]
PROTECTED EVENTID_OPCODECOMPLETED
void init(void)
Object initializer.
@ MSG_DISPATCH_OK
Dispatch was normal.
PROTECTED EVENTID_OPCODEERROR
QueueStatus receive(Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block)
receive a message
void CMD_TEST_CMD_1_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void addCallPort(InputTlmPort *callPort)
PROTECTED CHANNELID_COMMANDERRORS
Channel ID for CommandErrors.
void invoke(FwOpcodeType opCode)
bool isConnected_seqCmdStatus_OutputPort(NATIVE_INT_TYPE portNum)
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
NATIVE_INT_TYPE getNum_seqCmdStatus_OutputPorts(void)
void log_WARNING_HI_TooManyCommands(U32 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
virtual void pingIn_preMsgHook(NATIVE_INT_TYPE portNum, U32 key)
#define FwOpcodeType
Type representation for a command opcode.
bool isConnected_Log_OutputPort(NATIVE_INT_TYPE portNum)
PROTECTED EVENTID_OPCODEDISPATCHED
PROTECTED FwOpcodeType U32 Fw::CommandResponse response
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
void invoke(Fw::Time &time)
void invoke(FwChanIdType id, Fw::Time &timeTag, TlmBuffer &val)
Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS]
void log_COMMAND_OpCodeCompleted(U32 Opcode)
void set_Time_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
void CMD_NO_OP_STRING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
NATIVE_INT_TYPE getNum_Tlm_OutputPorts(void)
void log_ACTIVITY_HI_NoOpStringReceived(Fw::LogStringArg &message)
void invoke(FwOpcodeType opCode, U32 cmdSeq, CommandResponse response)
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
void regCommands(void)
Register commands with the Command Dispatcher.
void log_COMMAND_OpCodeDispatched(U32 Opcode, I32 port)
void CMD_CLEAR_TRACKING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
@ QUEUE_OK
message sent/received okay
virtual ~CommandDispatcherComponentBase(void)
void setMaxSerialize(NATIVE_UINT_TYPE size)
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
BYTE cmdPort[Fw::InputCmdPort::SERIALIZED_SIZE]
PROTECTED EVENTID_INVALIDCOMMAND
void addCallPort(InputLogPort *callPort)
PROTECTED EVENTID_MALFORMEDCOMMAND
Fw::InputCmdResponsePort * get_compCmdStat_InputPort(NATIVE_INT_TYPE portNum)
Fw::InputCmdPort * get_CmdDisp_InputPort(NATIVE_INT_TYPE portNum)
Fw::InputComPort m_seqCmdBuff_InputPort[NUM_SEQCMDBUFF_INPUT_PORTS]
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
void set_seqCmdStatus_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
static void m_p_pingIn_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, U32 key)
NATIVE_INT_TYPE getNum_pingIn_InputPorts(void)
Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS]
void pingIn_handlerBase(NATIVE_INT_TYPE portNum, U32 key)
BYTE port1[Fw::InputCmdResponsePort::SERIALIZED_SIZE]
virtual void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
Handler for command CMD_CLEAR_TRACKING.
@ QUEUE_NONBLOCKING
Queue receive always returns even if there is no message.
Fw::InputComPort * get_seqCmdBuff_InputPort(NATIVE_INT_TYPE portNum)
Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS]
void set_Tlm_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
PROTECTED OPCODE_CMD_TEST_CMD_1
NATIVE_INT_TYPE getNum_CmdReg_OutputPorts(void)
void tlmWrite_CommandErrors(U32 arg)
virtual void compCmdStat_handler(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)=0
Handler for input port compCmdStat.
void set_CmdStatus_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
void seqCmdBuff_handlerBase(NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)
BYTE port3[Svc::InputPingPort::SERIALIZED_SIZE]
bool isConnected_pingOut_OutputPort(NATIVE_INT_TYPE portNum)
#define FwEventIdType
Type representation for a event id.
void set_compCmdSend_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputCmdPort *port)
void compCmdStat_handlerBase(NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
NATIVE_INT_TYPE getNum_Log_OutputPorts(void)
int NATIVE_INT_TYPE
native integer type declaration
PROTECTED FwOpcodeType opCode
static void m_p_compCmdStat_in(Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CommandResponse response)
Os::Queue::QueueStatus createQueue(NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
@ TB_NONE
No time base has been established.
virtual void seqCmdBuff_handler(NATIVE_INT_TYPE portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port seqCmdBuff.
void addCallPort(InputTimePort *callPort)
virtual void CMD_NO_OP_STRING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
#define FW_LOG_TEXT_BUFFER_SIZE
Max size of string for text log message.
@ QUEUE_BLOCKING
Queue receive blocks until a message arrives.
Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS]
Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS]