F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
CommandDispatcherImpl.hpp
Go to the documentation of this file.
1 
14 #ifndef COMMANDDISPATCHERIMPL_HPP_
15 #define COMMANDDISPATCHERIMPL_HPP_
16 
18 #include <Os/Mutex.hpp>
19 #include <config/CommandDispatcherImplCfg.hpp>
20 
21 namespace Svc {
22 
31 
33 
35 
36  public:
44  CommandDispatcherImpl(const char* name);
48  virtual ~CommandDispatcherImpl();
49  protected:
50  private:
60  void compCmdStat_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response);
69  void seqCmdBuff_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context);
78  void compCmdReg_handler(FwIndexType portNum, FwOpcodeType opCode);
87  void pingIn_handler(FwIndexType portNum, U32 key);
94  void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq);
103  void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg& arg1);
113  void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3);
123  void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq);
124 
135 
136  struct DispatchEntry {
137  bool used;
138  FwOpcodeType opcode;
139  FwIndexType port;
140  } m_entryTable[CMD_DISPATCHER_DISPATCH_TABLE_SIZE];
141 
154 
155  struct SequenceTracker {
156  bool used;
157  U32 seq;
158  FwOpcodeType opCode;
159  U32 context;
160  FwIndexType callerPort;
161  } m_sequenceTracker[CMD_DISPATCHER_SEQUENCER_TABLE_SIZE];
162 
163  U32 m_seq;
164 
165  U32 m_numCmdsDispatched;
166  U32 m_numCmdErrors;
167 
168  };
169 }
170 
171 #endif /* COMMANDDISPATCHERIMPL_HPP_ */
FwIdType FwOpcodeType
The type of a command opcode.
Enum representing a command response.
float F32
32-bit floating point
Definition: BasicTypes.h:86
virtual ~CommandDispatcherImpl()
Component destructor.
CommandDispatcherImpl(const char *name)
Command Dispatcher constructor.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:56
PlatformIndexType FwIndexType
Auto-generated base for CommandDispatcher component.
RateGroupDivider component implementation.
Command Dispatcher component class.