F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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"
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
22#endif
26#include "Fw/Tlm/TlmPortAc.hpp"
27#include "Fw/Tlm/TlmString.hpp"
29#include "Os/Mutex.hpp"
31
32namespace 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,
183 );
184
187 FwIndexType portNum,
189 );
190
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,
203 );
204
205#endif
206
209 FwIndexType portNum,
210 Fw::InputTimePort* port
211 );
212
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
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
281 FwIndexType portNum,
282 Fw::InputSerializePort* port
283 );
284
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
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
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
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
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 ) const;
795
800 U32 Opcode,
801 I32 port
802 ) const;
803
808 U32 Opcode
809 ) const;
810
815 U32 Opcode,
816 Fw::CmdResponse error
817 ) const;
818
823 Fw::DeserialStatus Status
824 ) const;
825
830 U32 Opcode
831 ) const;
832
837 U32 Opcode
838 ) const;
839
843 void log_ACTIVITY_HI_NoOpReceived() const;
844
849 const Fw::StringBase& message
850 ) const;
851
856 I32 arg1,
857 F32 arg2,
858 U8 arg3
859 ) const;
860
865 U32 Opcode,
866 I32 port
867 ) const;
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
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
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
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
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
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.
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.
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 log_ACTIVITY_HI_TestCmd1Args(I32 arg1, F32 arg2, U8 arg3) const
void regCommands()
Register commands with the Command Dispatcher.
void CMD_NO_OP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void CMD_NO_OP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CMD_NO_OP.
void log_ACTIVITY_HI_NoOpStringReceived(const Fw::StringBase &message) const
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].
void log_DIAGNOSTIC_OpCodeReregistered(U32 Opcode, I32 port) const
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
void log_COMMAND_OpCodeDispatched(U32 Opcode, I32 port) const
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].
friend class CommandDispatcherComponentBaseFriend
Friend class for white-box testing.
@ CHANNELID_COMMANDSDISPATCHED
Channel ID for CommandsDispatched.
@ CHANNELID_COMMANDERRORS
Channel ID for CommandErrors.
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.
void log_DIAGNOSTIC_OpCodeRegistered(U32 Opcode, I32 port, I32 slot) const
Log event OpCodeRegistered.
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 log_WARNING_HI_MalformedCommand(Fw::DeserialStatus Status) const
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].
@ 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 pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
void log_COMMAND_OpCodeError(U32 Opcode, Fw::CmdResponse error) const