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 
13 #ifndef COMMANDDISPATCHERIMPL_HPP_
14 #define COMMANDDISPATCHERIMPL_HPP_
15 
16 #include <Os/Mutex.hpp>
18 #include <config/CommandDispatcherImplCfg.hpp>
19 
20 namespace Svc {
21 
30 
33 
34  public:
42  CommandDispatcherImpl(const char* name);
46  virtual ~CommandDispatcherImpl();
47 
48  protected:
49  private:
59  void compCmdStat_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse& response);
68  void seqCmdBuff_handler(FwIndexType portNum, Fw::ComBuffer& data, U32 context);
77  void compCmdReg_handler(FwIndexType portNum, FwOpcodeType opCode);
86  void pingIn_handler(FwIndexType portNum, U32 key);
93  void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq);
102  void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg& arg1);
112  void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3);
122  void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq);
123 
134 
135  struct DispatchEntry {
136  bool used;
137  FwOpcodeType opcode;
138  FwIndexType port;
139  } m_entryTable[CMD_DISPATCHER_DISPATCH_TABLE_SIZE];
140 
153 
154  struct SequenceTracker {
155  bool used;
156  U32 seq;
157  FwOpcodeType opCode;
158  U32 context;
159  FwIndexType callerPort;
160  } m_sequenceTracker[CMD_DISPATCHER_SEQUENCER_TABLE_SIZE];
161 
162  U32 m_seq;
163 
164  U32 m_numCmdsDispatched;
165  U32 m_numCmdErrors;
166 };
167 } // namespace Svc
168 
169 #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:83
virtual ~CommandDispatcherImpl()
Component destructor.
CommandDispatcherImpl(const char *name)
Command Dispatcher constructor.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
PlatformIndexType FwIndexType
Auto-generated base for CommandDispatcher component.
RateGroupDivider component implementation.
Command Dispatcher component class.