F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CommandDispatcherComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title CommandDispatcherComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for CommandDispatcher component base class
5 // ======================================================================
6 
7 #ifndef Svc_CommandDispatcherComponentAc_HPP
8 #define Svc_CommandDispatcherComponentAc_HPP
9 
10 #include "FpConfig.hpp"
11 #include "Fw/Cmd/CmdPortAc.hpp"
12 #include "Fw/Cmd/CmdRegPortAc.hpp"
15 #include "Fw/Cmd/CmdString.hpp"
16 #include "Fw/Com/ComPortAc.hpp"
18 #include "Fw/Log/LogPortAc.hpp"
19 #include "Fw/Log/LogString.hpp"
20 #if FW_ENABLE_TEXT_LOGGING == 1
21 #include "Fw/Log/LogTextPortAc.hpp"
22 #endif
25 #include "Fw/Time/TimePortAc.hpp"
26 #include "Fw/Tlm/TlmPortAc.hpp"
27 #include "Fw/Tlm/TlmString.hpp"
29 #include "Os/Mutex.hpp"
30 #include "Svc/Ping/PingPortAc.hpp"
31 
32 namespace Svc {
33 
40  {
41 
42  // ----------------------------------------------------------------------
43  // Friend classes
44  // ----------------------------------------------------------------------
45 
48 
49  PROTECTED:
50 
51  // ----------------------------------------------------------------------
52  // Constants
53  // ----------------------------------------------------------------------
54 
56  enum {
58  };
59 
61  enum {
66  };
67 
69  enum {
76  };
77 
79  enum {
83  };
84 
86  enum {
91  };
92 
94  enum {
106  };
107 
109  enum {
112  };
113 
114  public:
115 
116  // ----------------------------------------------------------------------
117  // Component initialization
118  // ----------------------------------------------------------------------
119 
121  void init(
122  FwSizeType queueDepth,
123  FwEnumStoreType instance = 0
124  );
125 
126  public:
127 
128  // ----------------------------------------------------------------------
129  // Getters for special input ports
130  // ----------------------------------------------------------------------
131 
136  FwIndexType portNum
137  );
138 
139  public:
140 
141  // ----------------------------------------------------------------------
142  // Getters for typed input ports
143  // ----------------------------------------------------------------------
144 
149  FwIndexType portNum
150  );
151 
156  FwIndexType portNum
157  );
158 
163  FwIndexType portNum
164  );
165 
170  FwIndexType portNum
171  );
172 
173  public:
174 
175  // ----------------------------------------------------------------------
176  // Connect input ports to special output ports
177  // ----------------------------------------------------------------------
178 
181  FwIndexType portNum,
182  Fw::InputCmdRegPort* port
183  );
184 
187  FwIndexType portNum,
189  );
190 
192  void set_Log_OutputPort(
193  FwIndexType portNum,
194  Fw::InputLogPort* port
195  );
196 
197 #if FW_ENABLE_TEXT_LOGGING == 1
198 
200  void set_LogText_OutputPort(
201  FwIndexType portNum,
202  Fw::InputLogTextPort* port
203  );
204 
205 #endif
206 
208  void set_Time_OutputPort(
209  FwIndexType portNum,
210  Fw::InputTimePort* port
211  );
212 
214  void set_Tlm_OutputPort(
215  FwIndexType portNum,
216  Fw::InputTlmPort* port
217  );
218 
219  public:
220 
221  // ----------------------------------------------------------------------
222  // Connect typed input ports to typed output ports
223  // ----------------------------------------------------------------------
224 
227  FwIndexType portNum,
228  Fw::InputCmdPort* port
229  );
230 
233  FwIndexType portNum,
234  Svc::InputPingPort* port
235  );
236 
239  FwIndexType portNum,
241  );
242 
243 #if FW_PORT_SERIALIZATION
244 
245  public:
246 
247  // ----------------------------------------------------------------------
248  // Connect serial input ports to special output ports
249  // ----------------------------------------------------------------------
250 
253  FwIndexType portNum,
254  Fw::InputSerializePort* port
255  );
256 
259  FwIndexType portNum,
260  Fw::InputSerializePort* port
261  );
262 
264  void set_Log_OutputPort(
265  FwIndexType portNum,
266  Fw::InputSerializePort* port
267  );
268 
269 #if FW_ENABLE_TEXT_LOGGING == 1
270 
272  void set_LogText_OutputPort(
273  FwIndexType portNum,
274  Fw::InputSerializePort* port
275  );
276 
277 #endif
278 
280  void set_Time_OutputPort(
281  FwIndexType portNum,
282  Fw::InputSerializePort* port
283  );
284 
286  void set_Tlm_OutputPort(
287  FwIndexType portNum,
288  Fw::InputSerializePort* port
289  );
290 
291 #endif
292 
293 #if FW_PORT_SERIALIZATION
294 
295  public:
296 
297  // ----------------------------------------------------------------------
298  // Connect serial input ports to typed output ports
299  // ----------------------------------------------------------------------
300 
303  FwIndexType portNum,
304  Fw::InputSerializePort* port
305  );
306 
309  FwIndexType portNum,
310  Fw::InputSerializePort* port
311  );
312 
315  FwIndexType portNum,
316  Fw::InputSerializePort* port
317  );
318 
319 #endif
320 
321  public:
322 
323  // ----------------------------------------------------------------------
324  // Command registration
325  // ----------------------------------------------------------------------
326 
330  void regCommands();
331 
332  PROTECTED:
333 
334  // ----------------------------------------------------------------------
335  // Component construction and destruction
336  // ----------------------------------------------------------------------
337 
340  const char* compName = ""
341  );
342 
345 
346  PROTECTED:
347 
348  // ----------------------------------------------------------------------
349  // Getters for numbers of special input ports
350  // ----------------------------------------------------------------------
351 
356 
357  PROTECTED:
358 
359  // ----------------------------------------------------------------------
360  // Getters for numbers of typed input ports
361  // ----------------------------------------------------------------------
362 
367 
372 
377 
382 
383  PROTECTED:
384 
385  // ----------------------------------------------------------------------
386  // Getters for numbers of special output ports
387  // ----------------------------------------------------------------------
388 
393 
398 
403 
404 #if FW_ENABLE_TEXT_LOGGING == 1
405 
409  FwIndexType getNum_LogText_OutputPorts() const;
410 
411 #endif
412 
417 
422 
423  PROTECTED:
424 
425  // ----------------------------------------------------------------------
426  // Getters for numbers of typed output ports
427  // ----------------------------------------------------------------------
428 
433 
438 
443 
444  PROTECTED:
445 
446  // ----------------------------------------------------------------------
447  // Connection status queries for special output ports
448  // ----------------------------------------------------------------------
449 
454  FwIndexType portNum
455  );
456 
461  FwIndexType portNum
462  );
463 
468  FwIndexType portNum
469  );
470 
471 #if FW_ENABLE_TEXT_LOGGING == 1
472 
476  bool isConnected_LogText_OutputPort(
477  FwIndexType portNum
478  );
479 
480 #endif
481 
486  FwIndexType portNum
487  );
488 
493  FwIndexType portNum
494  );
495 
496  PROTECTED:
497 
498  // ----------------------------------------------------------------------
499  // Connection status queries for typed output ports
500  // ----------------------------------------------------------------------
501 
506  FwIndexType portNum
507  );
508 
513  FwIndexType portNum
514  );
515 
520  FwIndexType portNum
521  );
522 
523  PROTECTED:
524 
525  // ----------------------------------------------------------------------
526  // Handlers to implement for typed input ports
527  // ----------------------------------------------------------------------
528 
530  virtual void compCmdReg_handler(
531  FwIndexType portNum,
532  FwOpcodeType opCode
533  ) = 0;
534 
536  virtual void compCmdStat_handler(
537  FwIndexType portNum,
538  FwOpcodeType opCode,
539  U32 cmdSeq,
540  const Fw::CmdResponse& response
541  ) = 0;
542 
544  virtual void pingIn_handler(
545  FwIndexType portNum,
546  U32 key
547  ) = 0;
548 
550  virtual void seqCmdBuff_handler(
551  FwIndexType portNum,
552  Fw::ComBuffer& data,
553  U32 context
554  ) = 0;
555 
556  PROTECTED:
557 
558  // ----------------------------------------------------------------------
559  // Port handler base-class functions for typed input ports
560  //
561  // Call these functions directly to bypass the corresponding ports
562  // ----------------------------------------------------------------------
563 
566  FwIndexType portNum,
567  FwOpcodeType opCode
568  );
569 
572  FwIndexType portNum,
573  FwOpcodeType opCode,
574  U32 cmdSeq,
575  const Fw::CmdResponse& response
576  );
577 
579  void pingIn_handlerBase(
580  FwIndexType portNum,
581  U32 key
582  );
583 
586  FwIndexType portNum,
587  Fw::ComBuffer& data,
588  U32 context
589  );
590 
591  PROTECTED:
592 
593  // ----------------------------------------------------------------------
594  // Pre-message hooks for typed async input ports
595  //
596  // Each of these functions is invoked just before processing a message
597  // on the corresponding port. By default, they do nothing. You can
598  // override them to provide specific pre-message behavior.
599  // ----------------------------------------------------------------------
600 
602  virtual void compCmdStat_preMsgHook(
603  FwIndexType portNum,
604  FwOpcodeType opCode,
605  U32 cmdSeq,
606  const Fw::CmdResponse& response
607  );
608 
610  virtual void pingIn_preMsgHook(
611  FwIndexType portNum,
612  U32 key
613  );
614 
616  virtual void seqCmdBuff_preMsgHook(
617  FwIndexType portNum,
618  Fw::ComBuffer& data,
619  U32 context
620  );
621 
622  PROTECTED:
623 
624  // ----------------------------------------------------------------------
625  // Invocation functions for typed output ports
626  // ----------------------------------------------------------------------
627 
629  void compCmdSend_out(
630  FwIndexType portNum,
631  FwOpcodeType opCode,
632  U32 cmdSeq,
633  Fw::CmdArgBuffer& args
634  );
635 
637  void pingOut_out(
638  FwIndexType portNum,
639  U32 key
640  );
641 
643  void seqCmdStatus_out(
644  FwIndexType portNum,
645  FwOpcodeType opCode,
646  U32 cmdSeq,
647  const Fw::CmdResponse& response
648  );
649 
650  PROTECTED:
651 
652  // ----------------------------------------------------------------------
653  // Command response
654  // ----------------------------------------------------------------------
655 
657  void cmdResponse_out(
658  FwOpcodeType opCode,
659  U32 cmdSeq,
660  Fw::CmdResponse response
661  );
662 
663  PROTECTED:
664 
665  // ----------------------------------------------------------------------
666  // Command handlers to implement
667  // ----------------------------------------------------------------------
668 
672  virtual void CMD_NO_OP_cmdHandler(
673  FwOpcodeType opCode,
674  U32 cmdSeq
675  ) = 0;
676 
681  FwOpcodeType opCode,
682  U32 cmdSeq,
683  const Fw::CmdStringArg& arg1
684  ) = 0;
685 
690  FwOpcodeType opCode,
691  U32 cmdSeq,
692  I32 arg1,
693  F32 arg2,
694  U8 arg3
695  ) = 0;
696 
701  FwOpcodeType opCode,
702  U32 cmdSeq
703  ) = 0;
704 
705  PROTECTED:
706 
707  // ----------------------------------------------------------------------
708  // Command handler base-class functions
709  //
710  // Call these functions directly to bypass the command input port
711  // ----------------------------------------------------------------------
712 
717  FwOpcodeType opCode,
718  U32 cmdSeq,
719  Fw::CmdArgBuffer& args
720  );
721 
726  FwOpcodeType opCode,
727  U32 cmdSeq,
728  Fw::CmdArgBuffer& args
729  );
730 
735  FwOpcodeType opCode,
736  U32 cmdSeq,
737  Fw::CmdArgBuffer& args
738  );
739 
744  FwOpcodeType opCode,
745  U32 cmdSeq,
746  Fw::CmdArgBuffer& args
747  );
748 
749  PROTECTED:
750 
751  // ----------------------------------------------------------------------
752  // Pre-message hooks for async commands
753  //
754  // Each of these functions is invoked just before processing the
755  // corresponding command. By default they do nothing. You can
756  // override them to provide specific pre-command behavior.
757  // ----------------------------------------------------------------------
758 
760  virtual void CMD_NO_OP_preMsgHook(
761  FwOpcodeType opCode,
762  U32 cmdSeq
763  );
764 
766  virtual void CMD_NO_OP_STRING_preMsgHook(
767  FwOpcodeType opCode,
768  U32 cmdSeq
769  );
770 
772  virtual void CMD_TEST_CMD_1_preMsgHook(
773  FwOpcodeType opCode,
774  U32 cmdSeq
775  );
776 
778  virtual void CMD_CLEAR_TRACKING_preMsgHook(
779  FwOpcodeType opCode,
780  U32 cmdSeq
781  );
782 
783  PROTECTED:
784 
785  // ----------------------------------------------------------------------
786  // Event logging functions
787  // ----------------------------------------------------------------------
788 
791  U32 Opcode,
792  I32 port,
793  I32 slot
794  );
795 
800  U32 Opcode,
801  I32 port
802  );
803 
808  U32 Opcode
809  );
810 
815  U32 Opcode,
816  Fw::CmdResponse error
817  );
818 
824  );
825 
830  U32 Opcode
831  );
832 
837  U32 Opcode
838  );
839 
844 
849  const Fw::StringBase& message
850  );
851 
856  I32 arg1,
857  F32 arg2,
858  U8 arg3
859  );
860 
865  U32 Opcode,
866  I32 port
867  );
868 
869  PROTECTED:
870 
871  // ----------------------------------------------------------------------
872  // Telemetry write functions
873  // ----------------------------------------------------------------------
874 
879  U32 arg,
880  Fw::Time _tlmTime = Fw::Time()
881  );
882 
887  U32 arg,
888  Fw::Time _tlmTime = Fw::Time()
889  );
890 
891  PROTECTED:
892 
893  // ----------------------------------------------------------------------
894  // Time
895  // ----------------------------------------------------------------------
896 
900  Fw::Time getTime();
901 
902  PROTECTED:
903 
904  // ----------------------------------------------------------------------
905  // Mutex operations for guarded ports
906  //
907  // You can override these operations to provide more sophisticated
908  // synchronization
909  // ----------------------------------------------------------------------
910 
912  virtual void lock();
913 
915  virtual void unLock();
916 
917  PRIVATE:
918 
919  // ----------------------------------------------------------------------
920  // Message dispatch functions
921  // ----------------------------------------------------------------------
922 
924  virtual MsgDispatchStatus doDispatch();
925 
926  PRIVATE:
927 
928  // ----------------------------------------------------------------------
929  // Calls for messages received on special input ports
930  // ----------------------------------------------------------------------
931 
933  static void m_p_CmdDisp_in(
934  Fw::PassiveComponentBase* callComp,
935  FwIndexType portNum,
936  FwOpcodeType opCode,
937  U32 cmdSeq,
938  Fw::CmdArgBuffer& args
939  );
940 
941  PRIVATE:
942 
943  // ----------------------------------------------------------------------
944  // Calls for messages received on typed input ports
945  // ----------------------------------------------------------------------
946 
948  static void m_p_compCmdReg_in(
949  Fw::PassiveComponentBase* callComp,
950  FwIndexType portNum,
951  FwOpcodeType opCode
952  );
953 
955  static void m_p_compCmdStat_in(
956  Fw::PassiveComponentBase* callComp,
957  FwIndexType portNum,
958  FwOpcodeType opCode,
959  U32 cmdSeq,
960  const Fw::CmdResponse& response
961  );
962 
964  static void m_p_pingIn_in(
965  Fw::PassiveComponentBase* callComp,
966  FwIndexType portNum,
967  U32 key
968  );
969 
971  static void m_p_seqCmdBuff_in(
972  Fw::PassiveComponentBase* callComp,
973  FwIndexType portNum,
974  Fw::ComBuffer& data,
975  U32 context
976  );
977 
978  PRIVATE:
979 
980  // ----------------------------------------------------------------------
981  // Special input ports
982  // ----------------------------------------------------------------------
983 
985  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
986 
987  PRIVATE:
988 
989  // ----------------------------------------------------------------------
990  // Typed input ports
991  // ----------------------------------------------------------------------
992 
994  Fw::InputCmdRegPort m_compCmdReg_InputPort[NUM_COMPCMDREG_INPUT_PORTS];
995 
997  Fw::InputCmdResponsePort m_compCmdStat_InputPort[NUM_COMPCMDSTAT_INPUT_PORTS];
998 
1000  Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS];
1001 
1003  Fw::InputComPort m_seqCmdBuff_InputPort[NUM_SEQCMDBUFF_INPUT_PORTS];
1004 
1005  PRIVATE:
1006 
1007  // ----------------------------------------------------------------------
1008  // Special output ports
1009  // ----------------------------------------------------------------------
1010 
1012  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
1013 
1015  Fw::OutputCmdResponsePort m_CmdStatus_OutputPort[NUM_CMDSTATUS_OUTPUT_PORTS];
1016 
1018  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
1019 
1020 #if FW_ENABLE_TEXT_LOGGING == 1
1021 
1023  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
1024 
1025 #endif
1026 
1028  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
1029 
1031  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
1032 
1033  PRIVATE:
1034 
1035  // ----------------------------------------------------------------------
1036  // Typed output ports
1037  // ----------------------------------------------------------------------
1038 
1040  Fw::OutputCmdPort m_compCmdSend_OutputPort[NUM_COMPCMDSEND_OUTPUT_PORTS];
1041 
1043  Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS];
1044 
1046  Fw::OutputCmdResponsePort m_seqCmdStatus_OutputPort[NUM_SEQCMDSTATUS_OUTPUT_PORTS];
1047 
1048  PRIVATE:
1049 
1050  // ----------------------------------------------------------------------
1051  // First update flags for telemetry channels
1052  // ----------------------------------------------------------------------
1053 
1055  bool m_first_update_CommandsDispatched;
1056 
1058  bool m_first_update_CommandErrors;
1059 
1060  PRIVATE:
1061 
1062  // ----------------------------------------------------------------------
1063  // Last value storage for telemetry channels
1064  // ----------------------------------------------------------------------
1065 
1067  U32 m_last_CommandsDispatched;
1068 
1070  U32 m_last_CommandErrors;
1071 
1072  PRIVATE:
1073 
1074  // ----------------------------------------------------------------------
1075  // Mutexes
1076  // ----------------------------------------------------------------------
1077 
1079  Os::Mutex m_guardedPortMutex;
1080 
1081  };
1082 
1083 }
1084 
1085 #endif
float F32
32-bit floating point
Definition: BasicTypes.h:49
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:30
I32 FwEnumStoreType
Definition: FpConfig.h:64
U32 FwOpcodeType
Definition: FpConfig.h:91
PlatformSizeType FwSizeType
Definition: FpConfig.h:35
PlatformIndexType FwIndexType
Definition: FpConfig.h:25
C++-compatible configuration header for fprime configuration.
Enum representing a command response.
Deserialization status.
void init()
Object initializer.
Definition: ObjBase.cpp:27
Definition: Time.hpp:9
Auto-generated base for CommandDispatcher component.
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void log_DIAGNOSTIC_OpCodeReregistered(U32 Opcode, I32 port)
bool isConnected_seqCmdStatus_OutputPort(FwIndexType portNum)
virtual void CMD_TEST_CMD_1_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_TEST_CMD_1.
void log_ACTIVITY_HI_TestCmd1Args(I32 arg1, F32 arg2, U8 arg3)
virtual void compCmdStat_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port compCmdStat.
virtual void CMD_NO_OP_STRING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_NO_OP_STRING.
void regCommands()
Register commands with the Command Dispatcher.
void CMD_NO_OP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_DIAGNOSTIC_OpCodeRegistered(U32 Opcode, I32 port, I32 slot)
Log event OpCodeRegistered.
CommandDispatcherComponentBase(const char *compName="")
Construct CommandDispatcherComponentBase object.
virtual void CMD_NO_OP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_NO_OP.
virtual void compCmdReg_handler(FwIndexType portNum, FwOpcodeType opCode)=0
Handler for input port compCmdReg.
@ OPCODE_CMD_CLEAR_TRACKING
Clear command tracking info to recover from components not returning status.
void seqCmdBuff_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port seqCmdBuff.
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
virtual void unLock()
Unlock the guarded mutex.
Fw::InputCmdResponsePort * get_compCmdStat_InputPort(FwIndexType portNum)
virtual void seqCmdBuff_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port seqCmdBuff.
void tlmWrite_CommandErrors(U32 arg, Fw::Time _tlmTime=Fw::Time())
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
void compCmdReg_handlerBase(FwIndexType portNum, FwOpcodeType opCode)
Handler base-class function for input port compCmdReg.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
bool isConnected_compCmdSend_OutputPort(FwIndexType portNum)
friend class CommandDispatcherComponentBaseFriend
Friend class for white-box testing.
@ CHANNELID_COMMANDSDISPATCHED
Channel ID for CommandsDispatched.
@ CHANNELID_COMMANDERRORS
Channel ID for CommandErrors.
void log_WARNING_HI_MalformedCommand(Fw::DeserialStatus Status)
void log_ACTIVITY_HI_NoOpStringReceived(const Fw::StringBase &message)
void set_seqCmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqCmdStatus[portNum].
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
Fw::InputCmdRegPort * get_compCmdReg_InputPort(FwIndexType portNum)
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
virtual void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void compCmdStat_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port compCmdStat.
virtual void compCmdStat_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port compCmdStat.
virtual void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &arg1)=0
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
virtual void CMD_CLEAR_TRACKING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_CLEAR_TRACKING.
virtual ~CommandDispatcherComponentBase()
Destroy CommandDispatcherComponentBase object.
virtual void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void seqCmdStatus_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke output port seqCmdStatus.
void set_compCmdSend_OutputPort(FwIndexType portNum, Fw::InputCmdPort *port)
Connect port to compCmdSend[portNum].
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
@ EVENTID_MALFORMEDCOMMAND
Received a malformed command packet.
@ EVENTID_NOOPRECEIVED
The command dispatcher has successfully received a NO-OP command.
@ EVENTID_TOOMANYCOMMANDS
Exceeded the number of commands that can be simultaneously executed.
@ EVENTID_NOOPSTRINGRECEIVED
The command dispatcher has successfully received a NO-OP command from GUI with a string.
@ EVENTID_TESTCMD1ARGS
This log event message returns the TEST_CMD_1 arguments.
@ EVENTID_OPCODEREREGISTERED
Op code reregistered event.
@ EVENTID_OPCODEERROR
Op code completed with error event.
void compCmdSend_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Invoke output port compCmdSend.
virtual void seqCmdBuff_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port seqCmdBuff.
void CMD_TEST_CMD_1_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void tlmWrite_CommandsDispatched(U32 arg, Fw::Time _tlmTime=Fw::Time())
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void CMD_NO_OP_STRING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void lock()
Lock the guarded mutex.
void CMD_CLEAR_TRACKING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3)=0
Fw::InputComPort * get_seqCmdBuff_InputPort(FwIndexType portNum)
void log_COMMAND_OpCodeError(U32 Opcode, Fw::CmdResponse error)
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
Status
Generic OK/ERROR status.
Definition: Os.hpp:25