F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Svc::HealthImpl Class Reference

Health component implementation class. More...

#include <Svc/Health/HealthComponentImpl.hpp>

Inheritance diagram for Svc::HealthImpl:
Svc::HealthComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Classes

struct  PingEntry
 struct for ping entry More...
 

Public Member Functions

 HealthImpl (const char *const compName)
 HealthImpl constructor. More...
 
void init (const NATIVE_INT_TYPE queueDepth, const NATIVE_INT_TYPE instance)
 HealthImpl initialization function. More...
 
void setPingEntries (PingEntry *pingEntries, NATIVE_INT_TYPE numPingEntries, U32 watchDogCode)
 Set ping entry tables. More...
 
 ~HealthImpl ()
 Component destructor. More...
 
- Public Member Functions inherited from Svc::HealthComponentBase
void init (FwQueueSizeType queueDepth, FwEnumStoreType instance=0)
 Initialize HealthComponentBase object. More...
 
Fw::InputCmdPortget_CmdDisp_InputPort (FwIndexType portNum)
 
Svc::InputPingPortget_PingReturn_InputPort (FwIndexType portNum)
 
Svc::InputSchedPortget_Run_InputPort (FwIndexType portNum)
 
void set_CmdReg_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to CmdReg[portNum]. More...
 
void set_CmdStatus_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to CmdStatus[portNum]. More...
 
void set_Log_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to Log[portNum]. More...
 
void set_Time_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to Time[portNum]. More...
 
void set_Tlm_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to Tlm[portNum]. More...
 
void set_PingSend_OutputPort (FwIndexType portNum, Svc::InputPingPort *port)
 Connect port to PingSend[portNum]. More...
 
void set_WdogStroke_OutputPort (FwIndexType portNum, Svc::InputWatchDogPort *port)
 Connect port to WdogStroke[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase () const
 

Protected Member Functions

virtual void doOtherChecks ()
 additional checks function More...
 
- Protected Member Functions inherited from Svc::HealthComponentBase
 HealthComponentBase (const char *compName="")
 Construct HealthComponentBase object. More...
 
virtual ~HealthComponentBase ()
 Destroy HealthComponentBase object. More...
 
FwIndexType getNum_CmdDisp_InputPorts () const
 
FwIndexType getNum_PingReturn_InputPorts () const
 
FwIndexType getNum_Run_InputPorts () const
 
FwIndexType getNum_CmdReg_OutputPorts () const
 
FwIndexType getNum_CmdStatus_OutputPorts () const
 
FwIndexType getNum_Log_OutputPorts () const
 
FwIndexType getNum_Time_OutputPorts () const
 
FwIndexType getNum_Tlm_OutputPorts () const
 
FwIndexType getNum_PingSend_OutputPorts () const
 
FwIndexType getNum_WdogStroke_OutputPorts () const
 
bool isConnected_CmdReg_OutputPort (FwIndexType portNum)
 
bool isConnected_CmdStatus_OutputPort (FwIndexType portNum)
 
bool isConnected_Log_OutputPort (FwIndexType portNum)
 
bool isConnected_Time_OutputPort (FwIndexType portNum)
 
bool isConnected_Tlm_OutputPort (FwIndexType portNum)
 
bool isConnected_PingSend_OutputPort (FwIndexType portNum)
 
bool isConnected_WdogStroke_OutputPort (FwIndexType portNum)
 
void PingReturn_handlerBase (FwIndexType portNum, U32 key)
 Handler base-class function for input port PingReturn. More...
 
void Run_handlerBase (FwIndexType portNum, U32 context)
 Handler base-class function for input port Run. More...
 
virtual void PingReturn_preMsgHook (FwIndexType portNum, U32 key)
 Pre-message hook for async input port PingReturn. More...
 
void PingSend_out (FwIndexType portNum, U32 key)
 Invoke output port PingSend. More...
 
void WdogStroke_out (FwIndexType portNum, U32 code)
 Invoke output port WdogStroke. More...
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
void HLTH_ENABLE_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void HLTH_PING_ENABLE_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void HLTH_CHNG_PING_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
virtual void HLTH_ENABLE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command HLTH_ENABLE. More...
 
virtual void HLTH_PING_ENABLE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command HLTH_PING_ENABLE. More...
 
virtual void HLTH_CHNG_PING_preMsgHook (FwOpcodeType opCode, U32 cmdSeq)
 Pre-message hook for command HLTH_CHNG_PING. More...
 
void log_WARNING_HI_HLTH_PING_WARN (const Fw::StringBase &entry)
 
void log_FATAL_HLTH_PING_LATE (const Fw::StringBase &entry)
 
void log_FATAL_HLTH_PING_WRONG_KEY (const Fw::StringBase &entry, U32 badKey)
 
void log_ACTIVITY_HI_HLTH_CHECK_ENABLE (Fw::Enabled enabled)
 
void log_ACTIVITY_HI_HLTH_CHECK_PING (Fw::Enabled enabled, const Fw::StringBase &entry)
 
void log_WARNING_LO_HLTH_CHECK_LOOKUP_ERROR (const Fw::StringBase &entry)
 
void log_ACTIVITY_HI_HLTH_PING_UPDATED (const Fw::StringBase &entry, U32 warn, U32 fatal)
 
void log_WARNING_HI_HLTH_PING_INVALID_VALUES (const Fw::StringBase &entry, U32 warn, U32 fatal)
 
void tlmWrite_PingLateWarnings (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
Fw::Time getTime ()
 
virtual MsgDispatchStatus doDispatch ()
 Called in the message loop to dispatch a message from the queue. More...
 
- Protected Member Functions inherited from Fw::QueuedComponentBase
 QueuedComponentBase (const char *name)
 Constructor. More...
 
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::QueueStatus createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
 
NATIVE_INT_TYPE getNumMsgsDropped ()
 return number of messages dropped More...
 
void incNumMsgDropped ()
 increment the number of messages dropped More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 

Additional Inherited Members

- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK , MSG_DISPATCH_EMPTY , MSG_DISPATCH_ERROR , MSG_DISPATCH_EXIT }
 
- Protected Types inherited from Svc::HealthComponentBase
enum  { NUM_CMDDISP_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  { NUM_PINGRETURN_INPUT_PORTS = 25 , NUM_RUN_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  {
  NUM_CMDREG_OUTPUT_PORTS = 1 , NUM_CMDSTATUS_OUTPUT_PORTS = 1 , NUM_LOG_OUTPUT_PORTS = 1 , NUM_LOGTEXT_OUTPUT_PORTS = 1 ,
  NUM_TIME_OUTPUT_PORTS = 1 , NUM_TLM_OUTPUT_PORTS = 1
}
 Enumerations for numbers of special output ports. More...
 
enum  { NUM_PINGSEND_OUTPUT_PORTS = 25 , NUM_WDOGSTROKE_OUTPUT_PORTS = 1 }
 Enumerations for numbers of typed output ports. More...
 
enum  { OPCODE_HLTH_ENABLE = 0x0 , OPCODE_HLTH_PING_ENABLE = 0x1 , OPCODE_HLTH_CHNG_PING = 0x2 }
 Command opcodes. More...
 
enum  {
  EVENTID_HLTH_PING_WARN = 0x0 , EVENTID_HLTH_PING_LATE = 0x1 , EVENTID_HLTH_PING_WRONG_KEY = 0x2 , EVENTID_HLTH_CHECK_ENABLE = 0x3 ,
  EVENTID_HLTH_CHECK_PING = 0x4 , EVENTID_HLTH_CHECK_LOOKUP_ERROR = 0x5 , EVENTID_HLTH_PING_UPDATED = 0x6 , EVENTID_HLTH_PING_INVALID_VALUES = 0x7
}
 Event IDs. More...
 
enum  { CHANNELID_PINGLATEWARNINGS = 0x0 }
 Channel IDs. More...
 
- Protected Attributes inherited from Fw::QueuedComponentBase
Os::Queue m_queue
 queue object for active component More...
 

Detailed Description

Health component implementation class.

The health component iterates through each entry in its table and checks its status. If a ping entry tracker is enabled, it will ping its corresponding port with a provided key. If a ping return is outstanding, a counter is decremented, and its value is checked against warning and fault thresholds. A watchdog is always stroked in the run handler.

Definition at line 32 of file HealthComponentImpl.hpp.

Constructor & Destructor Documentation

◆ HealthImpl()

Svc::HealthImpl::HealthImpl ( const char *const  compName)

HealthImpl constructor.

The constructor for Health

Parameters
compNamecomponent name

Definition at line 23 of file HealthComponentImpl.cpp.

◆ ~HealthImpl()

Svc::HealthImpl::~HealthImpl ( )

Component destructor.

The destructor for HealthImpl is empty

Definition at line 67 of file HealthComponentImpl.cpp.

Member Function Documentation

◆ doOtherChecks()

void Svc::HealthImpl::doOtherChecks ( )
protectedvirtual

additional checks function

Does additional checks based on the platform

Definition at line 24 of file HealthComponentStubChecks.cpp.

◆ init()

void Svc::HealthImpl::init ( const NATIVE_INT_TYPE  queueDepth,
const NATIVE_INT_TYPE  instance 
)

HealthImpl initialization function.

Initializes the autocoded base class, ping table, and data members

Parameters
queueDepthDepth of queue
instanceThe instance number

Definition at line 39 of file HealthComponentImpl.cpp.

◆ setPingEntries()

void Svc::HealthImpl::setPingEntries ( PingEntry pingEntries,
NATIVE_INT_TYPE  numPingEntries,
U32  watchDogCode 
)

Set ping entry tables.

Provides a table of ping entries

Parameters
pingEntriesPointer to provided ping table entries
numPingEntriesNumber of ping entries in table
watchDogCodeValue that is sent to watchdog

Definition at line 45 of file HealthComponentImpl.cpp.


The documentation for this class was generated from the following files: