![]() |
F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
|
Health component implementation class. More...
#include <Svc/Health/HealthComponentImpl.hpp>
Classes | |
struct | PingEntry |
struct for ping entry More... | |
Public Member Functions | |
HealthImpl (const char *const compName) | |
HealthImpl constructor. | |
void | init (const FwSizeType queueDepth, const NATIVE_INT_TYPE instance) |
HealthImpl initialization function. | |
void | setPingEntries (PingEntry *pingEntries, NATIVE_INT_TYPE numPingEntries, U32 watchDogCode) |
Set ping entry tables. | |
~HealthImpl () | |
Component destructor. | |
![]() | |
void | init (FwSizeType queueDepth, FwEnumStoreType instance=0) |
Initialize HealthComponentBase object. | |
Fw::InputCmdPort * | get_CmdDisp_InputPort (FwIndexType portNum) |
Svc::InputPingPort * | get_PingReturn_InputPort (FwIndexType portNum) |
Svc::InputSchedPort * | get_Run_InputPort (FwIndexType portNum) |
void | set_CmdReg_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port) |
Connect port to CmdReg[portNum]. | |
void | set_CmdStatus_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port) |
Connect port to CmdStatus[portNum]. | |
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_Tlm_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port) |
Connect port to Tlm[portNum]. | |
void | set_PingSend_OutputPort (FwIndexType portNum, Svc::InputPingPort *port) |
Connect port to PingSend[portNum]. | |
void | set_WdogStroke_OutputPort (FwIndexType portNum, Svc::InputWatchDogPort *port) |
Connect port to WdogStroke[portNum]. | |
void | regCommands () |
Register commands with the Command Dispatcher. | |
![]() | |
void | setIdBase (const U32) |
Set the ID base. | |
U32 | getIdBase () const |
Protected Member Functions | |
virtual void | doOtherChecks () |
additional checks function | |
![]() | |
HealthComponentBase (const char *compName="") | |
Construct HealthComponentBase object. | |
virtual | ~HealthComponentBase () |
Destroy HealthComponentBase object. | |
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. | |
void | Run_handlerBase (FwIndexType portNum, U32 context) |
Handler base-class function for input port Run. | |
virtual void | PingReturn_preMsgHook (FwIndexType portNum, U32 key) |
Pre-message hook for async input port PingReturn. | |
void | PingSend_out (FwIndexType portNum, U32 key) |
Invoke output port PingSend. | |
void | WdogStroke_out (FwIndexType portNum, U32 code) |
Invoke output port WdogStroke. | |
void | cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response) |
Emit command response. | |
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. | |
virtual void | HLTH_PING_ENABLE_preMsgHook (FwOpcodeType opCode, U32 cmdSeq) |
Pre-message hook for command HLTH_PING_ENABLE. | |
virtual void | HLTH_CHNG_PING_preMsgHook (FwOpcodeType opCode, U32 cmdSeq) |
Pre-message hook for command HLTH_CHNG_PING. | |
void | log_WARNING_HI_HLTH_PING_WARN (const Fw::StringBase &entry) const |
void | log_FATAL_HLTH_PING_LATE (const Fw::StringBase &entry) const |
void | log_FATAL_HLTH_PING_WRONG_KEY (const Fw::StringBase &entry, U32 badKey) const |
void | log_ACTIVITY_HI_HLTH_CHECK_ENABLE (Fw::Enabled enabled) const |
void | log_ACTIVITY_HI_HLTH_CHECK_PING (Fw::Enabled enabled, const Fw::StringBase &entry) const |
void | log_WARNING_LO_HLTH_CHECK_LOOKUP_ERROR (const Fw::StringBase &entry) const |
void | log_ACTIVITY_HI_HLTH_PING_UPDATED (const Fw::StringBase &entry, U32 warn, U32 fatal) const |
void | log_WARNING_HI_HLTH_PING_INVALID_VALUES (const Fw::StringBase &entry, U32 warn, U32 fatal) const |
void | tlmWrite_PingLateWarnings (U32 arg, Fw::Time _tlmTime=Fw::Time()) const |
Fw::Time | getTime () |
virtual MsgDispatchStatus | doDispatch () |
Called in the message loop to dispatch a message from the queue. | |
![]() | |
QueuedComponentBase (const char *name) | |
Constructor. | |
virtual | ~QueuedComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
initialization function | |
Os::Queue::Status | createQueue (FwSizeType depth, FwSizeType msgSize) |
NATIVE_INT_TYPE | getNumMsgsDropped () |
return number of messages dropped | |
void | incNumMsgDropped () |
increment the number of messages dropped | |
![]() | |
PassiveComponentBase (const char *name) | |
Named constructor. | |
virtual | ~PassiveComponentBase () |
Destructor. | |
void | init (NATIVE_INT_TYPE instance) |
Initialization function. | |
NATIVE_INT_TYPE | getInstance () const |
![]() | |
ObjBase (const char *name) | |
ObjBase constructor. | |
virtual | ~ObjBase () |
Destructor. | |
void | init () |
Object initializer. | |
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.
Svc::HealthImpl::HealthImpl | ( | const char *const | compName | ) |
HealthImpl constructor.
The constructor for Health
compName | component name |
Definition at line 23 of file HealthComponentImpl.cpp.
Svc::HealthImpl::~HealthImpl | ( | ) |
Component destructor.
The destructor for HealthImpl is empty
Definition at line 67 of file HealthComponentImpl.cpp.
|
protectedvirtual |
additional checks function
Does additional checks based on the platform
Definition at line 24 of file HealthComponentStubChecks.cpp.
void Svc::HealthImpl::init | ( | const FwSizeType | queueDepth, |
const NATIVE_INT_TYPE | instance | ||
) |
HealthImpl initialization function.
Initializes the autocoded base class, ping table, and data members
queueDepth | Depth of queue |
instance | The instance number |
Definition at line 39 of file HealthComponentImpl.cpp.
void Svc::HealthImpl::setPingEntries | ( | PingEntry * | pingEntries, |
NATIVE_INT_TYPE | numPingEntries, | ||
U32 | watchDogCode | ||
) |
Set ping entry tables.
Provides a table of ping entries
pingEntries | Pointer to provided ping table entries |
numPingEntries | Number of ping entries in table |
watchDogCode | Value that is sent to watchdog |
Definition at line 45 of file HealthComponentImpl.cpp.