F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
HealthComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title HealthComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Health component base class
5 // ======================================================================
6 
7 #ifndef Svc_HealthComponentAc_HPP
8 #define Svc_HealthComponentAc_HPP
9 
10 #include <atomic>
11 
12 #include "Fw/Cmd/CmdPortAc.hpp"
13 #include "Fw/Cmd/CmdRegPortAc.hpp"
15 #include "Fw/Cmd/CmdString.hpp"
17 #include "Fw/FPrimeBasicTypes.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
23 #if !FW_DIRECT_PORT_CALLS
25 #endif
26 #if !FW_DIRECT_PORT_CALLS
28 #endif
29 #include "Fw/Time/TimePortAc.hpp"
30 #include "Fw/Tlm/TlmPortAc.hpp"
31 #include "Fw/Tlm/TlmString.hpp"
33 #include "Svc/Ping/PingPortAc.hpp"
37 
38 namespace Svc {
39 
46  {
47 
48  // ----------------------------------------------------------------------
49  // Friend classes
50  // ----------------------------------------------------------------------
51 
53  friend class HealthTesterBase;
55  friend class HealthTester;
56 
57  protected:
58 
59  // ----------------------------------------------------------------------
60  // Constants
61  // ----------------------------------------------------------------------
62 
64  enum {
66  };
67 
69  enum {
72  };
73 
75  enum {
82  };
83 
85  enum {
88  };
89 
91  enum {
95  };
96 
98  enum {
107  };
108 
110  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 #if !FW_DIRECT_PORT_CALLS
127 
128  public:
129 
130  // ----------------------------------------------------------------------
131  // Getters for special input ports
132  // ----------------------------------------------------------------------
133 
138  FwIndexType portNum
139  );
140 
141 #endif
142 
143 #if !FW_DIRECT_PORT_CALLS
144 
145  public:
146 
147  // ----------------------------------------------------------------------
148  // Getters for typed input ports
149  // ----------------------------------------------------------------------
150 
155  FwIndexType portNum
156  );
157 
162  FwIndexType portNum
163  );
164 
165 #endif
166 
167 #if !FW_DIRECT_PORT_CALLS
168 
169  public:
170 
171  // ----------------------------------------------------------------------
172  // Connect input ports to special output ports
173  // ----------------------------------------------------------------------
174 
177  FwIndexType portNum,
178  Fw::InputCmdRegPort* port
179  );
180 
183  FwIndexType portNum,
185  );
186 
188  void set_Log_OutputPort(
189  FwIndexType portNum,
190  Fw::InputLogPort* port
191  );
192 
193 #if FW_ENABLE_TEXT_LOGGING == 1
194 
196  void set_LogText_OutputPort(
197  FwIndexType portNum,
198  Fw::InputLogTextPort* port
199  );
200 
201 #endif
202 
204  void set_Time_OutputPort(
205  FwIndexType portNum,
206  Fw::InputTimePort* port
207  );
208 
210  void set_Tlm_OutputPort(
211  FwIndexType portNum,
212  Fw::InputTlmPort* port
213  );
214 
215 #endif
216 
217 #if !FW_DIRECT_PORT_CALLS
218 
219  public:
220 
221  // ----------------------------------------------------------------------
222  // Connect typed input ports to typed output ports
223  // ----------------------------------------------------------------------
224 
227  FwIndexType portNum,
228  Svc::InputPingPort* port
229  );
230 
233  FwIndexType portNum,
235  );
236 
237 #endif
238 
239 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
240 
241  public:
242 
243  // ----------------------------------------------------------------------
244  // Connect serial input ports to special output ports
245  // ----------------------------------------------------------------------
246 
249  FwIndexType portNum,
250  Fw::InputSerializePort* port
251  );
252 
255  FwIndexType portNum,
256  Fw::InputSerializePort* port
257  );
258 
260  void set_Log_OutputPort(
261  FwIndexType portNum,
262  Fw::InputSerializePort* port
263  );
264 
265 #if FW_ENABLE_TEXT_LOGGING == 1
266 
268  void set_LogText_OutputPort(
269  FwIndexType portNum,
270  Fw::InputSerializePort* port
271  );
272 
273 #endif
274 
276  void set_Time_OutputPort(
277  FwIndexType portNum,
278  Fw::InputSerializePort* port
279  );
280 
282  void set_Tlm_OutputPort(
283  FwIndexType portNum,
284  Fw::InputSerializePort* port
285  );
286 
287 #endif
288 
289 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
290 
291  public:
292 
293  // ----------------------------------------------------------------------
294  // Connect serial input ports to typed output ports
295  // ----------------------------------------------------------------------
296 
299  FwIndexType portNum,
300  Fw::InputSerializePort* port
301  );
302 
305  FwIndexType portNum,
306  Fw::InputSerializePort* port
307  );
308 
309 #endif
310 
311  public:
312 
313  // ----------------------------------------------------------------------
314  // Command registration
315  // ----------------------------------------------------------------------
316 
320  void regCommands();
321 
322  protected:
323 
324  // ----------------------------------------------------------------------
325  // Component construction and destruction
326  // ----------------------------------------------------------------------
327 
330  const char* compName = ""
331  );
332 
334  virtual ~HealthComponentBase();
335 
336  protected:
337 
338  // ----------------------------------------------------------------------
339  // Getters for numbers of special input ports
340  // ----------------------------------------------------------------------
341 
347  }
348 
349  protected:
350 
351  // ----------------------------------------------------------------------
352  // Getters for numbers of typed input ports
353  // ----------------------------------------------------------------------
354 
360  }
361 
365  static constexpr FwIndexType getNum_Run_InputPorts() {
366  return NUM_RUN_INPUT_PORTS;
367  }
368 
369  protected:
370 
371  // ----------------------------------------------------------------------
372  // Getters for numbers of special output ports
373  // ----------------------------------------------------------------------
374 
380  }
381 
387  }
388 
392  static constexpr FwIndexType getNum_Log_OutputPorts() {
393  return NUM_LOG_OUTPUT_PORTS;
394  }
395 
396 #if FW_ENABLE_TEXT_LOGGING == 1
397 
401  static constexpr FwIndexType getNum_LogText_OutputPorts() {
403  }
404 
405 #endif
406 
411  return NUM_TIME_OUTPUT_PORTS;
412  }
413 
417  static constexpr FwIndexType getNum_Tlm_OutputPorts() {
418  return NUM_TLM_OUTPUT_PORTS;
419  }
420 
421  protected:
422 
423  // ----------------------------------------------------------------------
424  // Getters for numbers of typed output ports
425  // ----------------------------------------------------------------------
426 
432  }
433 
439  }
440 
441  protected:
442 
443  // ----------------------------------------------------------------------
444  // Connection status queries for special output ports
445  // ----------------------------------------------------------------------
446 
451  FwIndexType portNum
452  ) const;
453 
458  FwIndexType portNum
459  ) const;
460 
465  FwIndexType portNum
466  ) const;
467 
468 #if FW_ENABLE_TEXT_LOGGING == 1
469 
473  bool isConnected_LogText_OutputPort(
474  FwIndexType portNum
475  ) const;
476 
477 #endif
478 
483  FwIndexType portNum
484  ) const;
485 
490  FwIndexType portNum
491  ) const;
492 
493  protected:
494 
495  // ----------------------------------------------------------------------
496  // Connection status queries for typed output ports
497  // ----------------------------------------------------------------------
498 
503  FwIndexType portNum
504  ) const;
505 
510  FwIndexType portNum
511  ) const;
512 
513 #if FW_DIRECT_PORT_CALLS
514  public:
515 #else
516  protected:
517 #endif
518 
519  // ----------------------------------------------------------------------
520  // Port handler base-class functions for special input ports
521  //
522  // Call these functions directly to bypass the corresponding ports
523  // ----------------------------------------------------------------------
524 
526  void CmdDisp_handlerBase(
527  FwIndexType portNum,
528  FwOpcodeType opCode,
529  U32 cmdSeq,
530  Fw::CmdArgBuffer& args
531  );
532 
533  protected:
534 
535  // ----------------------------------------------------------------------
536  // Handlers to implement for typed input ports
537  // ----------------------------------------------------------------------
538 
540  virtual void PingReturn_handler(
541  FwIndexType portNum,
542  U32 key
543  ) = 0;
544 
546  virtual void Run_handler(
547  FwIndexType portNum,
548  U32 context
549  ) = 0;
550 
551 #if FW_DIRECT_PORT_CALLS
552  public:
553 #else
554  protected:
555 #endif
556 
557  // ----------------------------------------------------------------------
558  // Port handler base-class functions for typed input ports
559  //
560  // Call these functions directly to bypass the corresponding ports
561  // ----------------------------------------------------------------------
562 
565  FwIndexType portNum,
566  U32 key
567  );
568 
570  void Run_handlerBase(
571  FwIndexType portNum,
572  U32 context
573  );
574 
575  protected:
576 
577  // ----------------------------------------------------------------------
578  // Pre-message hooks for typed async input ports
579  //
580  // Each of these functions is invoked just before processing a message
581  // on the corresponding port. By default, they do nothing. You can
582  // override them to provide specific pre-message behavior.
583  // ----------------------------------------------------------------------
584 
586  virtual void PingReturn_preMsgHook(
587  FwIndexType portNum,
588  U32 key
589  );
590 
591  protected:
592 
593  // ----------------------------------------------------------------------
594  // Invocation functions for typed output ports
595  // ----------------------------------------------------------------------
596 
598  void PingSend_out(
599  FwIndexType portNum,
600  U32 key
601  ) const;
602 
604  void WdogStroke_out(
605  FwIndexType portNum,
606  U32 code
607  ) const;
608 
609  protected:
610 
611  // ----------------------------------------------------------------------
612  // Command response
613  // ----------------------------------------------------------------------
614 
616  void cmdResponse_out(
617  FwOpcodeType opCode,
618  U32 cmdSeq,
619  Fw::CmdResponse response
620  );
621 
622  protected:
623 
624  // ----------------------------------------------------------------------
625  // Command handlers to implement
626  // ----------------------------------------------------------------------
627 
631  virtual void HLTH_ENABLE_cmdHandler(
632  FwOpcodeType opCode,
633  U32 cmdSeq,
634  Fw::Enabled enable
635  ) = 0;
636 
640  virtual void HLTH_PING_ENABLE_cmdHandler(
641  FwOpcodeType opCode,
642  U32 cmdSeq,
643  const Fw::CmdStringArg& entry,
644  Fw::Enabled enable
645  ) = 0;
646 
650  virtual void HLTH_CHNG_PING_cmdHandler(
651  FwOpcodeType opCode,
652  U32 cmdSeq,
653  const Fw::CmdStringArg& entry,
654  U32 warningValue,
655  U32 fatalValue
656  ) = 0;
657 
658  protected:
659 
660  // ----------------------------------------------------------------------
661  // Command handler base-class functions
662  //
663  // Call these functions directly to bypass the command input port
664  // ----------------------------------------------------------------------
665 
670  FwOpcodeType opCode,
671  U32 cmdSeq,
672  Fw::CmdArgBuffer& args
673  );
674 
679  FwOpcodeType opCode,
680  U32 cmdSeq,
681  Fw::CmdArgBuffer& args
682  );
683 
688  FwOpcodeType opCode,
689  U32 cmdSeq,
690  Fw::CmdArgBuffer& args
691  );
692 
693  protected:
694 
695  // ----------------------------------------------------------------------
696  // Pre-message hooks for async commands
697  //
698  // Each of these functions is invoked just before processing the
699  // corresponding command. By default they do nothing. You can
700  // override them to provide specific pre-command behavior.
701  // ----------------------------------------------------------------------
702 
704  virtual void HLTH_ENABLE_preMsgHook(
705  FwOpcodeType opCode,
706  U32 cmdSeq
707  );
708 
710  virtual void HLTH_PING_ENABLE_preMsgHook(
711  FwOpcodeType opCode,
712  U32 cmdSeq
713  );
714 
716  virtual void HLTH_CHNG_PING_preMsgHook(
717  FwOpcodeType opCode,
718  U32 cmdSeq
719  );
720 
721  protected:
722 
723  // ----------------------------------------------------------------------
724  // Event logging functions
725  // ----------------------------------------------------------------------
726 
731  const Fw::StringBase& entry
732  ) const;
733 
738  const Fw::StringBase& entry
739  ) const;
740 
745  const Fw::StringBase& entry,
746  U32 badKey
747  ) const;
748 
753  Fw::Enabled enabled
754  ) const;
755 
760  Fw::Enabled enabled,
761  const Fw::StringBase& entry
762  ) const;
763 
768  const Fw::StringBase& entry
769  ) const;
770 
775  const Fw::StringBase& entry,
776  U32 warn,
777  U32 fatal
778  ) const;
779 
784  const Fw::StringBase& entry,
785  U32 warn,
786  U32 fatal
787  ) const;
788 
789  protected:
790 
791  // ----------------------------------------------------------------------
792  // Telemetry serialized write
793  // ----------------------------------------------------------------------
794 
799  void tlmWrite(
800  FwChanIdType id,
801  Fw::TlmBuffer& _tlmBuff,
802  Fw::Time _tlmTime = Fw::Time()
803  ) const;
804 
805  protected:
806 
807  // ----------------------------------------------------------------------
808  // Telemetry write functions
809  // ----------------------------------------------------------------------
810 
815  U32 arg,
816  Fw::Time _tlmTime = Fw::Time()
817  ) const;
818 
819  protected:
820 
821  // ----------------------------------------------------------------------
822  // Time
823  // ----------------------------------------------------------------------
824 
828  Fw::Time getTime() const;
829 
830  protected:
831 
832  // ----------------------------------------------------------------------
833  // Message dispatch functions
834  // ----------------------------------------------------------------------
835 
837  virtual MsgDispatchStatus doDispatch();
838 
839  protected:
840 
841  // ----------------------------------------------------------------------
842  // Helper functions for dispatching current messages
843  // ----------------------------------------------------------------------
844 
847 
848  private:
849 
850  // ----------------------------------------------------------------------
851  // Calls for messages received on special input ports
852  // ----------------------------------------------------------------------
853 
855  static void m_p_CmdDisp_in(
856  Fw::PassiveComponentBase* callComp,
857  FwIndexType portNum,
858  FwOpcodeType opCode,
859  U32 cmdSeq,
860  Fw::CmdArgBuffer& args
861  );
862 
863  private:
864 
865  // ----------------------------------------------------------------------
866  // Calls for messages received on typed input ports
867  // ----------------------------------------------------------------------
868 
870  static void m_p_PingReturn_in(
871  Fw::PassiveComponentBase* callComp,
872  FwIndexType portNum,
873  U32 key
874  );
875 
877  static void m_p_Run_in(
878  Fw::PassiveComponentBase* callComp,
879  FwIndexType portNum,
880  U32 context
881  );
882 
883  private:
884 
885  // ----------------------------------------------------------------------
886  // Invocation functions for special output ports
887  // ----------------------------------------------------------------------
888 
890  void CmdReg_out(
891  FwIndexType portNum,
892  FwOpcodeType opCode
893  ) const;
894 
896  void CmdStatus_out(
897  FwIndexType portNum,
898  FwOpcodeType opCode,
899  U32 cmdSeq,
900  const Fw::CmdResponse& response
901  ) const;
902 
904  void Log_out(
905  FwIndexType portNum,
906  FwEventIdType id,
907  Fw::Time& timeTag,
908  const Fw::LogSeverity& severity,
909  Fw::LogBuffer& args
910  ) const;
911 
912 #if FW_ENABLE_TEXT_LOGGING
913 
915  void LogText_out(
916  FwIndexType portNum,
917  FwEventIdType id,
918  Fw::Time& timeTag,
919  const Fw::LogSeverity& severity,
920  Fw::TextLogString& text
921  ) const;
922 
923 #endif
924 
926  void Time_out(
927  FwIndexType portNum,
928  Fw::Time& time
929  ) const;
930 
932  void Tlm_out(
933  FwIndexType portNum,
934  FwChanIdType id,
935  Fw::Time& timeTag,
936  Fw::TlmBuffer& val
937  ) const;
938 
939 #if !FW_DIRECT_PORT_CALLS
940 
941  private:
942 
943  // ----------------------------------------------------------------------
944  // Special input ports
945  // ----------------------------------------------------------------------
946 
948  Fw::InputCmdPort m_CmdDisp_InputPort[NUM_CMDDISP_INPUT_PORTS];
949 
950 #endif
951 
952 #if !FW_DIRECT_PORT_CALLS
953 
954  private:
955 
956  // ----------------------------------------------------------------------
957  // Typed input ports
958  // ----------------------------------------------------------------------
959 
961  Svc::InputPingPort m_PingReturn_InputPort[NUM_PINGRETURN_INPUT_PORTS];
962 
964  Svc::InputSchedPort m_Run_InputPort[NUM_RUN_INPUT_PORTS];
965 
966 #endif
967 
968 #if !FW_DIRECT_PORT_CALLS
969 
970  private:
971 
972  // ----------------------------------------------------------------------
973  // Special output ports
974  // ----------------------------------------------------------------------
975 
977  Fw::OutputCmdRegPort m_CmdReg_OutputPort[NUM_CMDREG_OUTPUT_PORTS];
978 
981 
983  Fw::OutputLogPort m_Log_OutputPort[NUM_LOG_OUTPUT_PORTS];
984 
985 #if FW_ENABLE_TEXT_LOGGING == 1
986 
988  Fw::OutputLogTextPort m_LogText_OutputPort[NUM_LOGTEXT_OUTPUT_PORTS];
989 
990 #endif
991 
993  Fw::OutputTimePort m_Time_OutputPort[NUM_TIME_OUTPUT_PORTS];
994 
996  Fw::OutputTlmPort m_Tlm_OutputPort[NUM_TLM_OUTPUT_PORTS];
997 
998 #endif
999 
1000 #if !FW_DIRECT_PORT_CALLS
1001 
1002  private:
1003 
1004  // ----------------------------------------------------------------------
1005  // Typed output ports
1006  // ----------------------------------------------------------------------
1007 
1009  Svc::OutputPingPort m_PingSend_OutputPort[NUM_PINGSEND_OUTPUT_PORTS];
1010 
1012  Svc::OutputWatchDogPort m_WdogStroke_OutputPort[NUM_WDOGSTROKE_OUTPUT_PORTS];
1013 
1014 #endif
1015 
1016  };
1017 
1018 }
1019 
1020 #endif
virtual void HLTH_CHNG_PING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &entry, U32 warningValue, U32 fatalValue)=0
void regCommands()
Register commands with the Command Dispatcher.
Auto-generated base for Health component.
void CmdDisp_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port CmdDisp.
virtual void Run_handler(FwIndexType portNum, U32 context)=0
Handler for input port Run.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual ~HealthComponentBase()
Destroy HealthComponentBase object.
FwIdType FwOpcodeType
The type of a command opcode.
void tlmWrite_PingLateWarnings(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void log_FATAL_HLTH_PING_WRONG_KEY(const Fw::StringBase &entry, U32 badKey) const
PlatformSizeType FwSizeType
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
I32 FwEnumStoreType
virtual MsgDispatchStatus doDispatch()
Called in the message loop to dispatch a message from the queue.
virtual void PingReturn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port PingReturn.
void log_WARNING_LO_HLTH_CHECK_LOOKUP_ERROR(const Fw::StringBase &entry) const
static constexpr FwIndexType getNum_Tlm_OutputPorts()
void log_WARNING_HI_HLTH_PING_INVALID_VALUES(const Fw::StringBase &entry, U32 warn, U32 fatal) const
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
bool isConnected_Log_OutputPort(FwIndexType portNum) const
Enum representing a command response.
void PingSend_out(FwIndexType portNum, U32 key) const
Invoke output port PingSend.
void set_WdogStroke_OutputPort(FwIndexType portNum, Svc::InputWatchDogPort *port)
Connect port to WdogStroke[portNum].
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
virtual void HLTH_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_ENABLE.
bool isConnected_WdogStroke_OutputPort(FwIndexType portNum) const
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void init()
Object initializer.
Definition: ObjBase.cpp:24
static constexpr FwIndexType getNum_Log_OutputPorts()
void WdogStroke_out(FwIndexType portNum, U32 code) const
Invoke output port WdogStroke.
FwIdType FwEventIdType
The type of an event identifier.
Svc::InputPingPort * get_PingReturn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_Run_InputPorts()
static constexpr FwIndexType getNum_PingSend_OutputPorts()
void PingReturn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port PingReturn.
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_HLTH_CHECK_PING(Fw::Enabled enabled, const Fw::StringBase &entry) const
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
friend class HealthTester
Friend class tester implementation to support white-box testing.
void HLTH_PING_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Enum representing event severity.
virtual void HLTH_ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Fw::Enabled enable)=0
void set_PingSend_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to PingSend[portNum].
Enabled and disabled states.
bool isConnected_CmdReg_OutputPort(FwIndexType portNum) const
Declare FATAL since task is no longer responding.
static constexpr FwIndexType getNum_WdogStroke_OutputPorts()
bool isConnected_Time_OutputPort(FwIndexType portNum) const
void log_FATAL_HLTH_PING_LATE(const Fw::StringBase &entry) const
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
HealthComponentBase(const char *compName="")
Construct HealthComponentBase object.
virtual void HLTH_PING_ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &entry, Fw::Enabled enable)=0
virtual void HLTH_CHNG_PING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_CHNG_PING.
bool isConnected_PingSend_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
PlatformIndexType FwIndexType
virtual void PingReturn_handler(FwIndexType portNum, U32 key)=0
Handler for input port PingReturn.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
RateGroupDivider component implementation.
A command to enable or disable health checks.
Declare FATAL since task is no longer responding.
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
static constexpr FwIndexType getNum_PingReturn_InputPorts()
MsgDispatchStatus dispatchCurrentMessages()
Dispatch all current messages unless ERROR or EXIT occurs.
void log_ACTIVITY_HI_HLTH_CHECK_ENABLE(Fw::Enabled enabled) const
void HLTH_CHNG_PING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Warn that a ping target is longer than the warning value.
void log_WARNING_HI_HLTH_PING_WARN(const Fw::StringBase &entry) const
void HLTH_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void HLTH_PING_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_PING_ENABLE.
friend class HealthTesterBase
Friend class tester to support autocoded test harness.
static constexpr FwIndexType getNum_Time_OutputPorts()
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
void log_ACTIVITY_HI_HLTH_PING_UPDATED(const Fw::StringBase &entry, U32 warn, U32 fatal) const