F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
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 <atomic>
11 
12 #include "Fw/Cmd/CmdPortAc.hpp"
13 #include "Fw/Cmd/CmdRegPortAc.hpp"
16 #include "Fw/Cmd/CmdString.hpp"
17 #include "Fw/Com/ComPortAc.hpp"
19 #include "Fw/FPrimeBasicTypes.hpp"
20 #include "Fw/Log/LogPortAc.hpp"
21 #include "Fw/Log/LogString.hpp"
22 #if FW_ENABLE_TEXT_LOGGING == 1
23 #include "Fw/Log/LogTextPortAc.hpp"
24 #endif
27 #include "Fw/Time/TimePortAc.hpp"
28 #include "Fw/Tlm/TlmPortAc.hpp"
29 #include "Fw/Tlm/TlmString.hpp"
31 #include "Os/Mutex.hpp"
32 #include "Svc/Ping/PingPortAc.hpp"
33 
34 namespace Svc {
35 
42  {
43 
44  // ----------------------------------------------------------------------
45  // Friend classes
46  // ----------------------------------------------------------------------
47 
52 
53  PROTECTED:
54 
55  // ----------------------------------------------------------------------
56  // Constants
57  // ----------------------------------------------------------------------
58 
60  enum {
62  };
63 
65  enum {
70  };
71 
73  enum {
80  };
81 
83  enum {
87  };
88 
90  enum {
95  };
96 
98  enum {
110  };
111 
113  enum {
116  };
117 
118  public:
119 
120  // ----------------------------------------------------------------------
121  // Component initialization
122  // ----------------------------------------------------------------------
123 
125  void init(
126  FwSizeType queueDepth,
127  FwEnumStoreType instance = 0
128  );
129 
130  public:
131 
132  // ----------------------------------------------------------------------
133  // Getters for special input ports
134  // ----------------------------------------------------------------------
135 
140  FwIndexType portNum
141  );
142 
143  public:
144 
145  // ----------------------------------------------------------------------
146  // Getters for typed input ports
147  // ----------------------------------------------------------------------
148 
153  FwIndexType portNum
154  );
155 
160  FwIndexType portNum
161  );
162 
167  FwIndexType portNum
168  );
169 
174  FwIndexType portNum
175  );
176 
177  public:
178 
179  // ----------------------------------------------------------------------
180  // Connect input ports to special output ports
181  // ----------------------------------------------------------------------
182 
185  FwIndexType portNum,
186  Fw::InputCmdRegPort* port
187  );
188 
191  FwIndexType portNum,
193  );
194 
196  void set_Log_OutputPort(
197  FwIndexType portNum,
198  Fw::InputLogPort* port
199  );
200 
201 #if FW_ENABLE_TEXT_LOGGING == 1
202 
204  void set_LogText_OutputPort(
205  FwIndexType portNum,
206  Fw::InputLogTextPort* port
207  );
208 
209 #endif
210 
212  void set_Time_OutputPort(
213  FwIndexType portNum,
214  Fw::InputTimePort* port
215  );
216 
218  void set_Tlm_OutputPort(
219  FwIndexType portNum,
220  Fw::InputTlmPort* port
221  );
222 
223  public:
224 
225  // ----------------------------------------------------------------------
226  // Connect typed input ports to typed output ports
227  // ----------------------------------------------------------------------
228 
231  FwIndexType portNum,
232  Fw::InputCmdPort* port
233  );
234 
237  FwIndexType portNum,
238  Svc::InputPingPort* port
239  );
240 
243  FwIndexType portNum,
245  );
246 
247 #if FW_PORT_SERIALIZATION
248 
249  public:
250 
251  // ----------------------------------------------------------------------
252  // Connect serial input ports to special output ports
253  // ----------------------------------------------------------------------
254 
257  FwIndexType portNum,
258  Fw::InputSerializePort* port
259  );
260 
263  FwIndexType portNum,
264  Fw::InputSerializePort* port
265  );
266 
268  void set_Log_OutputPort(
269  FwIndexType portNum,
270  Fw::InputSerializePort* port
271  );
272 
273 #if FW_ENABLE_TEXT_LOGGING == 1
274 
276  void set_LogText_OutputPort(
277  FwIndexType portNum,
278  Fw::InputSerializePort* port
279  );
280 
281 #endif
282 
284  void set_Time_OutputPort(
285  FwIndexType portNum,
286  Fw::InputSerializePort* port
287  );
288 
290  void set_Tlm_OutputPort(
291  FwIndexType portNum,
292  Fw::InputSerializePort* port
293  );
294 
295 #endif
296 
297 #if FW_PORT_SERIALIZATION
298 
299  public:
300 
301  // ----------------------------------------------------------------------
302  // Connect serial input ports to typed output ports
303  // ----------------------------------------------------------------------
304 
307  FwIndexType portNum,
308  Fw::InputSerializePort* port
309  );
310 
313  FwIndexType portNum,
314  Fw::InputSerializePort* port
315  );
316 
319  FwIndexType portNum,
320  Fw::InputSerializePort* port
321  );
322 
323 #endif
324 
325  public:
326 
327  // ----------------------------------------------------------------------
328  // Command registration
329  // ----------------------------------------------------------------------
330 
334  void regCommands();
335 
336  PROTECTED:
337 
338  // ----------------------------------------------------------------------
339  // Component construction and destruction
340  // ----------------------------------------------------------------------
341 
344  const char* compName = ""
345  );
346 
349 
350  PROTECTED:
351 
352  // ----------------------------------------------------------------------
353  // Getters for numbers of special input ports
354  // ----------------------------------------------------------------------
355 
360 
361  PROTECTED:
362 
363  // ----------------------------------------------------------------------
364  // Getters for numbers of typed input ports
365  // ----------------------------------------------------------------------
366 
371 
376 
381 
386 
387  PROTECTED:
388 
389  // ----------------------------------------------------------------------
390  // Getters for numbers of special output ports
391  // ----------------------------------------------------------------------
392 
397 
402 
407 
408 #if FW_ENABLE_TEXT_LOGGING == 1
409 
413  FwIndexType getNum_LogText_OutputPorts() const;
414 
415 #endif
416 
421 
426 
427  PROTECTED:
428 
429  // ----------------------------------------------------------------------
430  // Getters for numbers of typed output ports
431  // ----------------------------------------------------------------------
432 
437 
442 
447 
448  PROTECTED:
449 
450  // ----------------------------------------------------------------------
451  // Connection status queries for special output ports
452  // ----------------------------------------------------------------------
453 
458  FwIndexType portNum
459  );
460 
465  FwIndexType portNum
466  );
467 
472  FwIndexType portNum
473  );
474 
475 #if FW_ENABLE_TEXT_LOGGING == 1
476 
480  bool isConnected_LogText_OutputPort(
481  FwIndexType portNum
482  );
483 
484 #endif
485 
490  FwIndexType portNum
491  );
492 
497  FwIndexType portNum
498  );
499 
500  PROTECTED:
501 
502  // ----------------------------------------------------------------------
503  // Connection status queries for typed output ports
504  // ----------------------------------------------------------------------
505 
510  FwIndexType portNum
511  );
512 
517  FwIndexType portNum
518  );
519 
524  FwIndexType portNum
525  );
526 
527  PROTECTED:
528 
529  // ----------------------------------------------------------------------
530  // Handlers to implement for typed input ports
531  // ----------------------------------------------------------------------
532 
534  virtual void compCmdReg_handler(
535  FwIndexType portNum,
536  FwOpcodeType opCode
537  ) = 0;
538 
540  virtual void compCmdStat_handler(
541  FwIndexType portNum,
542  FwOpcodeType opCode,
543  U32 cmdSeq,
544  const Fw::CmdResponse& response
545  ) = 0;
546 
548  virtual void pingIn_handler(
549  FwIndexType portNum,
550  U32 key
551  ) = 0;
552 
554  virtual void seqCmdBuff_handler(
555  FwIndexType portNum,
556  Fw::ComBuffer& data,
557  U32 context
558  ) = 0;
559 
560  PROTECTED:
561 
562  // ----------------------------------------------------------------------
563  // Port handler base-class functions for typed input ports
564  //
565  // Call these functions directly to bypass the corresponding ports
566  // ----------------------------------------------------------------------
567 
570  FwIndexType portNum,
571  FwOpcodeType opCode
572  );
573 
576  FwIndexType portNum,
577  FwOpcodeType opCode,
578  U32 cmdSeq,
579  const Fw::CmdResponse& response
580  );
581 
583  void pingIn_handlerBase(
584  FwIndexType portNum,
585  U32 key
586  );
587 
590  FwIndexType portNum,
591  Fw::ComBuffer& data,
592  U32 context
593  );
594 
595  PROTECTED:
596 
597  // ----------------------------------------------------------------------
598  // Pre-message hooks for typed async input ports
599  //
600  // Each of these functions is invoked just before processing a message
601  // on the corresponding port. By default, they do nothing. You can
602  // override them to provide specific pre-message behavior.
603  // ----------------------------------------------------------------------
604 
606  virtual void compCmdStat_preMsgHook(
607  FwIndexType portNum,
608  FwOpcodeType opCode,
609  U32 cmdSeq,
610  const Fw::CmdResponse& response
611  );
612 
614  virtual void pingIn_preMsgHook(
615  FwIndexType portNum,
616  U32 key
617  );
618 
620  virtual void seqCmdBuff_preMsgHook(
621  FwIndexType portNum,
622  Fw::ComBuffer& data,
623  U32 context
624  );
625 
626  PROTECTED:
627 
628  // ----------------------------------------------------------------------
629  // Invocation functions for typed output ports
630  // ----------------------------------------------------------------------
631 
633  void compCmdSend_out(
634  FwIndexType portNum,
635  FwOpcodeType opCode,
636  U32 cmdSeq,
637  Fw::CmdArgBuffer& args
638  );
639 
641  void pingOut_out(
642  FwIndexType portNum,
643  U32 key
644  );
645 
647  void seqCmdStatus_out(
648  FwIndexType portNum,
649  FwOpcodeType opCode,
650  U32 cmdSeq,
651  const Fw::CmdResponse& response
652  );
653 
654  PROTECTED:
655 
656  // ----------------------------------------------------------------------
657  // Command response
658  // ----------------------------------------------------------------------
659 
661  void cmdResponse_out(
662  FwOpcodeType opCode,
663  U32 cmdSeq,
664  Fw::CmdResponse response
665  );
666 
667  PROTECTED:
668 
669  // ----------------------------------------------------------------------
670  // Command handlers to implement
671  // ----------------------------------------------------------------------
672 
676  virtual void CMD_NO_OP_cmdHandler(
677  FwOpcodeType opCode,
678  U32 cmdSeq
679  ) = 0;
680 
684  virtual void CMD_NO_OP_STRING_cmdHandler(
685  FwOpcodeType opCode,
686  U32 cmdSeq,
687  const Fw::CmdStringArg& arg1
688  ) = 0;
689 
693  virtual void CMD_TEST_CMD_1_cmdHandler(
694  FwOpcodeType opCode,
695  U32 cmdSeq,
696  I32 arg1,
697  F32 arg2,
698  U8 arg3
699  ) = 0;
700 
704  virtual void CMD_CLEAR_TRACKING_cmdHandler(
705  FwOpcodeType opCode,
706  U32 cmdSeq
707  ) = 0;
708 
709  PROTECTED:
710 
711  // ----------------------------------------------------------------------
712  // Command handler base-class functions
713  //
714  // Call these functions directly to bypass the command input port
715  // ----------------------------------------------------------------------
716 
721  FwOpcodeType opCode,
722  U32 cmdSeq,
723  Fw::CmdArgBuffer& args
724  );
725 
730  FwOpcodeType opCode,
731  U32 cmdSeq,
732  Fw::CmdArgBuffer& args
733  );
734 
739  FwOpcodeType opCode,
740  U32 cmdSeq,
741  Fw::CmdArgBuffer& args
742  );
743 
748  FwOpcodeType opCode,
749  U32 cmdSeq,
750  Fw::CmdArgBuffer& args
751  );
752 
753  PROTECTED:
754 
755  // ----------------------------------------------------------------------
756  // Pre-message hooks for async commands
757  //
758  // Each of these functions is invoked just before processing the
759  // corresponding command. By default they do nothing. You can
760  // override them to provide specific pre-command behavior.
761  // ----------------------------------------------------------------------
762 
764  virtual void CMD_NO_OP_preMsgHook(
765  FwOpcodeType opCode,
766  U32 cmdSeq
767  );
768 
770  virtual void CMD_NO_OP_STRING_preMsgHook(
771  FwOpcodeType opCode,
772  U32 cmdSeq
773  );
774 
776  virtual void CMD_TEST_CMD_1_preMsgHook(
777  FwOpcodeType opCode,
778  U32 cmdSeq
779  );
780 
782  virtual void CMD_CLEAR_TRACKING_preMsgHook(
783  FwOpcodeType opCode,
784  U32 cmdSeq
785  );
786 
787  PROTECTED:
788 
789  // ----------------------------------------------------------------------
790  // Event logging functions
791  // ----------------------------------------------------------------------
792 
795  U32 Opcode,
796  I32 port,
797  I32 slot
798  ) const;
799 
804  U32 Opcode,
805  I32 port
806  ) const;
807 
812  U32 Opcode
813  ) const;
814 
819  U32 Opcode,
820  Fw::CmdResponse error
821  ) const;
822 
828  ) const;
829 
834  U32 Opcode
835  ) const;
836 
841  U32 Opcode
842  ) const;
843 
847  void log_ACTIVITY_HI_NoOpReceived() const;
848 
853  const Fw::StringBase& message
854  ) const;
855 
860  I32 arg1,
861  F32 arg2,
862  U8 arg3
863  ) const;
864 
869  U32 Opcode,
870  I32 port
871  ) const;
872 
873  PROTECTED:
874 
875  // ----------------------------------------------------------------------
876  // Telemetry write functions
877  // ----------------------------------------------------------------------
878 
883  U32 arg,
884  Fw::Time _tlmTime = Fw::Time()
885  );
886 
891  U32 arg,
892  Fw::Time _tlmTime = Fw::Time()
893  );
894 
895  PROTECTED:
896 
897  // ----------------------------------------------------------------------
898  // Time
899  // ----------------------------------------------------------------------
900 
904  Fw::Time getTime() const;
905 
906  PROTECTED:
907 
908  // ----------------------------------------------------------------------
909  // Mutex operations for guarded ports
910  //
911  // You can override these operations to provide more sophisticated
912  // synchronization
913  // ----------------------------------------------------------------------
914 
916  virtual void lock();
917 
919  virtual void unLock();
920 
921  PRIVATE:
922 
923  // ----------------------------------------------------------------------
924  // Message dispatch functions
925  // ----------------------------------------------------------------------
926 
928  virtual MsgDispatchStatus doDispatch();
929 
930  PRIVATE:
931 
932  // ----------------------------------------------------------------------
933  // Calls for messages received on special input ports
934  // ----------------------------------------------------------------------
935 
937  static void m_p_CmdDisp_in(
938  Fw::PassiveComponentBase* callComp,
939  FwIndexType portNum,
940  FwOpcodeType opCode,
941  U32 cmdSeq,
942  Fw::CmdArgBuffer& args
943  );
944 
945  PRIVATE:
946 
947  // ----------------------------------------------------------------------
948  // Calls for messages received on typed input ports
949  // ----------------------------------------------------------------------
950 
952  static void m_p_compCmdReg_in(
953  Fw::PassiveComponentBase* callComp,
954  FwIndexType portNum,
955  FwOpcodeType opCode
956  );
957 
959  static void m_p_compCmdStat_in(
960  Fw::PassiveComponentBase* callComp,
961  FwIndexType portNum,
962  FwOpcodeType opCode,
963  U32 cmdSeq,
964  const Fw::CmdResponse& response
965  );
966 
968  static void m_p_pingIn_in(
969  Fw::PassiveComponentBase* callComp,
970  FwIndexType portNum,
971  U32 key
972  );
973 
975  static void m_p_seqCmdBuff_in(
976  Fw::PassiveComponentBase* callComp,
977  FwIndexType portNum,
978  Fw::ComBuffer& data,
979  U32 context
980  );
981 
982  PRIVATE:
983 
984  // ----------------------------------------------------------------------
985  // Special input ports
986  // ----------------------------------------------------------------------
987 
989  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
990 
991  PRIVATE:
992 
993  // ----------------------------------------------------------------------
994  // Typed input ports
995  // ----------------------------------------------------------------------
996 
998  Fw::InputCmdRegPort m_compCmdReg_InputPort[NUM_COMPCMDREG_INPUT_PORTS];
999 
1001  Fw::InputCmdResponsePort m_compCmdStat_InputPort[NUM_COMPCMDSTAT_INPUT_PORTS];
1002 
1004  Svc::InputPingPort m_pingIn_InputPort[NUM_PINGIN_INPUT_PORTS];
1005 
1007  Fw::InputComPort m_seqCmdBuff_InputPort[NUM_SEQCMDBUFF_INPUT_PORTS];
1008 
1009  PRIVATE:
1010 
1011  // ----------------------------------------------------------------------
1012  // Special output ports
1013  // ----------------------------------------------------------------------
1014 
1016  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
1017 
1019  Fw::OutputCmdResponsePort m_CmdStatus_OutputPort[NUM_CMDSTATUS_OUTPUT_PORTS];
1020 
1022  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
1023 
1024 #if FW_ENABLE_TEXT_LOGGING == 1
1025 
1027  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
1028 
1029 #endif
1030 
1032  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
1033 
1035  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
1036 
1037  PRIVATE:
1038 
1039  // ----------------------------------------------------------------------
1040  // Typed output ports
1041  // ----------------------------------------------------------------------
1042 
1044  Fw::OutputCmdPort m_compCmdSend_OutputPort[NUM_COMPCMDSEND_OUTPUT_PORTS];
1045 
1047  Svc::OutputPingPort m_pingOut_OutputPort[NUM_PINGOUT_OUTPUT_PORTS];
1048 
1050  Fw::OutputCmdResponsePort m_seqCmdStatus_OutputPort[NUM_SEQCMDSTATUS_OUTPUT_PORTS];
1051 
1052  PRIVATE:
1053 
1054  // ----------------------------------------------------------------------
1055  // First update flags for telemetry channels
1056  // ----------------------------------------------------------------------
1057 
1059  bool m_first_update_CommandsDispatched;
1060 
1062  bool m_first_update_CommandErrors;
1063 
1064  PRIVATE:
1065 
1066  // ----------------------------------------------------------------------
1067  // Last value storage for telemetry channels
1068  // ----------------------------------------------------------------------
1069 
1071  U32 m_last_CommandsDispatched;
1072 
1074  U32 m_last_CommandErrors;
1075 
1076  PRIVATE:
1077 
1078  // ----------------------------------------------------------------------
1079  // Mutexes
1080  // ----------------------------------------------------------------------
1081 
1083  Os::Mutex m_guardedPortMutex;
1084 
1085  };
1086 
1087 }
1088 
1089 #endif
void set_seqCmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to seqCmdStatus[portNum].
Definition: Time.hpp:9
virtual void CMD_NO_OP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_NO_OP.
The command dispatcher has successfully received a NO-OP command from GUI with a string.
This log event message returns the TEST_CMD_1 arguments.
PlatformSizeType FwSizeType
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
CommandDispatcherComponentBase(const char *compName="")
Construct CommandDispatcherComponentBase object.
I32 FwEnumStoreType
void regCommands()
Register commands with the Command Dispatcher.
Fw::InputCmdRegPort * get_compCmdReg_InputPort(FwIndexType portNum)
void CMD_NO_OP_STRING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Deserialization status.
virtual void unLock()
Unlock the guarded mutex.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
Clear command tracking info to recover from components not returning status.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
virtual void compCmdStat_handler(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)=0
Handler for input port compCmdStat.
void log_ACTIVITY_HI_TestCmd1Args(I32 arg1, F32 arg2, U8 arg3) const
virtual void CMD_NO_OP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
Enum representing a command response.
friend class CommandDispatcherTester
Friend class tester implementation to support white-box testing.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
void compCmdSend_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Invoke output port compCmdSend.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void init()
Object initializer.
Definition: ObjBase.cpp:26
virtual void CMD_TEST_CMD_1_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_TEST_CMD_1.
float F32
32-bit floating point
Definition: BasicTypes.h:86
void log_ACTIVITY_HI_NoOpStringReceived(const Fw::StringBase &message) const
void tlmWrite_CommandsDispatched(U32 arg, Fw::Time _tlmTime=Fw::Time())
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
U32 FwOpcodeType
The type of a command opcode.
friend class CommandDispatcherTesterBase
Friend class tester to support autocoded test harness.
The command dispatcher has successfully received a NO-OP command.
void set_compCmdSend_OutputPort(FwIndexType portNum, Fw::InputCmdPort *port)
Connect port to compCmdSend[portNum].
void log_WARNING_HI_MalformedCommand(Fw::DeserialStatus Status) const
virtual ~CommandDispatcherComponentBase()
Destroy CommandDispatcherComponentBase object.
Status
Generic OK/ERROR status.
Definition: Os.hpp:25
void log_COMMAND_OpCodeDispatched(U32 Opcode, I32 port) const
Fw::InputCmdResponsePort * get_compCmdStat_InputPort(FwIndexType portNum)
virtual void CMD_TEST_CMD_1_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, I32 arg1, F32 arg2, U8 arg3)=0
virtual void compCmdReg_handler(FwIndexType portNum, FwOpcodeType opCode)=0
Handler for input port compCmdReg.
void tlmWrite_CommandErrors(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void compCmdStat_preMsgHook(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Pre-message hook for async input port compCmdStat.
void compCmdStat_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Handler base-class function for input port compCmdStat.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:56
void log_DIAGNOSTIC_OpCodeReregistered(U32 Opcode, I32 port) const
Exceeded the number of commands that can be simultaneously executed.
void seqCmdStatus_out(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke output port seqCmdStatus.
PlatformIndexType FwIndexType
virtual void CMD_CLEAR_TRACKING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_CLEAR_TRACKING.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
void CMD_CLEAR_TRACKING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void seqCmdBuff_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port seqCmdBuff.
virtual void CMD_NO_OP_STRING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &arg1)=0
Auto-generated base for CommandDispatcher component.
bool isConnected_seqCmdStatus_OutputPort(FwIndexType portNum)
virtual void CMD_NO_OP_STRING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_NO_OP_STRING.
RateGroupDivider component implementation.
virtual void CMD_CLEAR_TRACKING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void log_COMMAND_OpCodeError(U32 Opcode, Fw::CmdResponse error) const
void CMD_NO_OP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void seqCmdBuff_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port seqCmdBuff.
virtual void seqCmdBuff_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port seqCmdBuff.
Fw::InputComPort * get_seqCmdBuff_InputPort(FwIndexType portNum)
void compCmdReg_handlerBase(FwIndexType portNum, FwOpcodeType opCode)
Handler base-class function for input port compCmdReg.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
bool isConnected_compCmdSend_OutputPort(FwIndexType portNum)
virtual void lock()
Lock the guarded mutex.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void log_DIAGNOSTIC_OpCodeRegistered(U32 Opcode, I32 port, I32 slot) const
Log event OpCodeRegistered.
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
void CMD_TEST_CMD_1_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)