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 
18 #include <Os/Mutex.hpp>
20 #include <config/CommandDispatcherImplCfg.hpp>
21 
22 namespace Svc {
23 
32 
35 
36  public:
44  CommandDispatcherImpl(const char* name);
48  virtual ~CommandDispatcherImpl();
49 
50  protected:
51  private:
61  void compCmdStat_handler(FwIndexType portNum,
62  FwOpcodeType opCode,
63  U32 cmdSeq,
64  const Fw::CmdResponse& response) override;
73  void seqCmdBuff_handler(FwIndexType portNum, Fw::ComBuffer& data, U32 context) override;
82  void compCmdReg_handler(FwIndexType portNum, FwOpcodeType opCode) override;
91  void pingIn_handler(FwIndexType portNum, U32 key) override;
92 
96  void run_handler(FwIndexType portNum,
97  U32 context
98  ) override;
99 
106  void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq) override;
115  void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg& arg1) override;
125  void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3) override;
135  void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq) override;
136 
145  void seqCmdBuff_overflowHook(FwIndexType portNum, Fw::ComBuffer& data, U32 context) override;
146 
153 
159 
160  struct SequenceTrackerEntry {
161  FwOpcodeType opCode;
162  U32 context;
163  FwIndexType callerPort;
164  };
165 
168 
169  U32 m_seq;
170 
171  U32 m_numCmdsDispatched;
172  U32 m_numCmdErrors;
173  U32 m_numCmdsDropped;
174 };
175 } // namespace Svc
176 
177 #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.