10 #if FW_ENABLE_TEXT_LOGGING 
   34     class ComponentIpcSerializableBuffer :
 
   49           return sizeof(m_buff);
 
   56         const U8* getBuffAddr()
 const {
 
   62         U8 m_buff[SERIALIZATION_SIZE];
 
   86       this->m_CmdDisp_InputPort[port].
init();
 
   91       this->m_CmdDisp_InputPort[port].
setPortNum(port);
 
   93 #if FW_OBJECT_NAMES == 1 
   97         this->m_objName.toChar(),
 
  100       this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
 
  110       this->m_PingReturn_InputPort[port].
init();
 
  115       this->m_PingReturn_InputPort[port].
setPortNum(port);
 
  117 #if FW_OBJECT_NAMES == 1 
  121         this->m_objName.toChar(),
 
  124       this->m_PingReturn_InputPort[port].setObjName(portName.
toChar());
 
  134       this->m_Run_InputPort[port].
init();
 
  141 #if FW_OBJECT_NAMES == 1 
  145         this->m_objName.toChar(),
 
  148       this->m_Run_InputPort[port].setObjName(portName.
toChar());
 
  158       this->m_CmdReg_OutputPort[port].
init();
 
  160 #if FW_OBJECT_NAMES == 1 
  164         this->m_objName.toChar(),
 
  167       this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
 
  177       this->m_CmdStatus_OutputPort[port].
init();
 
  179 #if FW_OBJECT_NAMES == 1 
  183         this->m_objName.toChar(),
 
  186       this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
 
  196       this->m_Log_OutputPort[port].
init();
 
  198 #if FW_OBJECT_NAMES == 1 
  202         this->m_objName.toChar(),
 
  205       this->m_Log_OutputPort[port].setObjName(portName.
toChar());
 
  209 #if FW_ENABLE_TEXT_LOGGING == 1 
  213       port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
 
  216       this->m_LogText_OutputPort[port].
init();
 
  218 #if FW_OBJECT_NAMES == 1 
  222         this->m_objName.toChar(),
 
  225       this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
 
  236       this->m_Time_OutputPort[port].
init();
 
  238 #if FW_OBJECT_NAMES == 1 
  242         this->m_objName.toChar(),
 
  245       this->m_Time_OutputPort[port].setObjName(portName.
toChar());
 
  255       this->m_Tlm_OutputPort[port].
init();
 
  257 #if FW_OBJECT_NAMES == 1 
  261         this->m_objName.toChar(),
 
  264       this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
 
  274       this->m_PingSend_OutputPort[port].
init();
 
  276 #if FW_OBJECT_NAMES == 1 
  280         this->m_objName.toChar(),
 
  283       this->m_PingSend_OutputPort[port].setObjName(portName.
toChar());
 
  293       this->m_WdogStroke_OutputPort[port].
init();
 
  295 #if FW_OBJECT_NAMES == 1 
  299         this->m_objName.toChar(),
 
  302       this->m_WdogStroke_OutputPort[port].setObjName(portName.
toChar());
 
  308       static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
 
  328     return &this->m_CmdDisp_InputPort[portNum];
 
  343     return &this->m_PingReturn_InputPort[portNum];
 
  354     return &this->m_Run_InputPort[portNum];
 
  372     this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
 
  386     this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
 
  403 #if FW_ENABLE_TEXT_LOGGING == 1 
  405   void HealthComponentBase ::
 
  406     set_LogText_OutputPort(
 
  412       portNum < this->getNum_LogText_OutputPorts(),
 
  416     this->m_LogText_OutputPort[portNum].addCallPort(port);
 
  432     this->m_Time_OutputPort[portNum].
addCallPort(port);
 
  464     this->m_PingSend_OutputPort[portNum].
addCallPort(port);
 
  478     this->m_WdogStroke_OutputPort[portNum].
addCallPort(port);
 
  481 #if FW_PORT_SERIALIZATION 
  490         Fw::InputSerializePort* port
 
  498     this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
 
  504         Fw::InputSerializePort* port
 
  512     this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
 
  518         Fw::InputSerializePort* port
 
  526     this->m_Log_OutputPort[portNum].registerSerialPort(port);
 
  529 #if FW_ENABLE_TEXT_LOGGING == 1 
  531   void HealthComponentBase ::
 
  532     set_LogText_OutputPort(
 
  534         Fw::InputSerializePort* port
 
  538       portNum < this->getNum_LogText_OutputPorts(),
 
  542     this->m_LogText_OutputPort[portNum].registerSerialPort(port);
 
  550         Fw::InputSerializePort* port
 
  558     this->m_Time_OutputPort[portNum].registerSerialPort(port);
 
  564         Fw::InputSerializePort* port
 
  572     this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
 
  577 #if FW_PORT_SERIALIZATION 
  586         Fw::InputSerializePort* port
 
  594     this->m_PingSend_OutputPort[portNum].registerSerialPort(port);
 
  600         Fw::InputSerializePort* port
 
  608     this->m_WdogStroke_OutputPort[portNum].registerSerialPort(port);
 
  620     FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
 
  622     this->m_CmdReg_OutputPort[0].
invoke(
 
  626     this->m_CmdReg_OutputPort[0].
invoke(
 
  630     this->m_CmdReg_OutputPort[0].
invoke(
 
  641       Fw::QueuedComponentBase(compName)
 
  700 #if FW_ENABLE_TEXT_LOGGING == 1 
  703     getNum_LogText_OutputPorts()
 const 
  750     return this->m_CmdReg_OutputPort[portNum].
isConnected();
 
  761     return this->m_CmdStatus_OutputPort[portNum].
isConnected();
 
  772     return this->m_Log_OutputPort[portNum].
isConnected();
 
  775 #if FW_ENABLE_TEXT_LOGGING == 1 
  777   bool HealthComponentBase ::
 
  778     isConnected_LogText_OutputPort(
FwIndexType portNum)
 
  781       portNum < this->getNum_LogText_OutputPorts(),
 
  785     return this->m_LogText_OutputPort[portNum].isConnected();
 
  798     return this->m_Time_OutputPort[portNum].
isConnected();
 
  809     return this->m_Tlm_OutputPort[portNum].
isConnected();
 
  824     return this->m_PingSend_OutputPort[portNum].
isConnected();
 
  835     return this->m_WdogStroke_OutputPort[portNum].
isConnected();
 
  861     ComponentIpcSerializableBuffer msg;
 
  865     _status = msg.serialize(
 
  874     _status = msg.serialize(portNum);
 
  881     _status = msg.serialize(key);
 
  947     this->m_PingSend_OutputPort[portNum].
invoke(
 
  962     this->m_WdogStroke_OutputPort[portNum].
invoke(
 
  978     FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
 
  979     this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
 
 1000     ComponentIpcSerializableBuffer msg;
 
 1004     _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_ENABLE));
 
 1013     _status = msg.serialize(port);
 
 1019     _status = msg.serialize(opCode);
 
 1025     _status = msg.serialize(cmdSeq);
 
 1031     _status = msg.serialize(args);
 
 1059     ComponentIpcSerializableBuffer msg;
 
 1063     _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_PING_ENABLE));
 
 1072     _status = msg.serialize(port);
 
 1078     _status = msg.serialize(opCode);
 
 1084     _status = msg.serialize(cmdSeq);
 
 1090     _status = msg.serialize(args);
 
 1118     ComponentIpcSerializableBuffer msg;
 
 1122     _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_CHNG_PING));
 
 1131     _status = msg.serialize(port);
 
 1137     _status = msg.serialize(opCode);
 
 1143     _status = msg.serialize(cmdSeq);
 
 1149     _status = msg.serialize(args);
 
 1215     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1216       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1224     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1228 #if FW_AMPCS_COMPATIBLE 
 1243       this->m_Log_OutputPort[0].
invoke(
 
 1252 #if FW_ENABLE_TEXT_LOGGING 
 1253     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1254 #if FW_OBJECT_NAMES == 1 
 1255       const char* _formatString =
 
 1256         "(%s) %s: Ping entry %s late warning";
 
 1258       const char* _formatString =
 
 1259         "%s: Ping entry %s late warning";
 
 1266         this->m_objName.toChar(),
 
 1272       this->m_LogText_OutputPort[0].invoke(
 
 1287     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1288       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1296     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1300 #if FW_AMPCS_COMPATIBLE 
 1302       _status = _logBuff.
serialize(
static_cast<U8>(1 + 1));
 
 1315       _status = _logBuff.
serialize(
static_cast<U32
>(0));
 
 1328       this->m_Log_OutputPort[0].
invoke(
 
 1337 #if FW_ENABLE_TEXT_LOGGING 
 1338     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1339 #if FW_OBJECT_NAMES == 1 
 1340       const char* _formatString =
 
 1341         "(%s) %s: Ping entry %s did not respond";
 
 1343       const char* _formatString =
 
 1344         "%s: Ping entry %s did not respond";
 
 1351         this->m_objName.toChar(),
 
 1357       this->m_LogText_OutputPort[0].invoke(
 
 1375     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1376       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1384     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1388 #if FW_AMPCS_COMPATIBLE 
 1390       _status = _logBuff.
serialize(
static_cast<U8>(2 + 1));
 
 1403       _status = _logBuff.
serialize(
static_cast<U32
>(0));
 
 1416 #if FW_AMPCS_COMPATIBLE 
 1419         static_cast<U8>(
sizeof(U32))
 
 1432       this->m_Log_OutputPort[0].
invoke(
 
 1441 #if FW_ENABLE_TEXT_LOGGING 
 1442     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1443 #if FW_OBJECT_NAMES == 1 
 1444       const char* _formatString =
 
 1445         "(%s) %s: Ping entry %s responded with wrong key 0x%" PRIx32 
"";
 
 1447       const char* _formatString =
 
 1448         "%s: Ping entry %s responded with wrong key 0x%" PRIx32 
"";
 
 1455         this->m_objName.toChar(),
 
 1457         "HLTH_PING_WRONG_KEY ",
 
 1462       this->m_LogText_OutputPort[0].invoke(
 
 1477     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1478       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1486     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1490 #if FW_AMPCS_COMPATIBLE 
 1499 #if FW_AMPCS_COMPATIBLE 
 1515       this->m_Log_OutputPort[0].
invoke(
 
 1524 #if FW_ENABLE_TEXT_LOGGING 
 1525     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1526 #if FW_OBJECT_NAMES == 1 
 1527       const char* _formatString =
 
 1528         "(%s) %s: Health checking set to %s";
 
 1530       const char* _formatString =
 
 1531         "%s: Health checking set to %s";
 
 1535       enabled.toString(enabledStr);
 
 1541         this->m_objName.toChar(),
 
 1543         "HLTH_CHECK_ENABLE ",
 
 1547       this->m_LogText_OutputPort[0].invoke(
 
 1565     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1566       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1574     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1578 #if FW_AMPCS_COMPATIBLE 
 1587 #if FW_AMPCS_COMPATIBLE 
 1609       this->m_Log_OutputPort[0].
invoke(
 
 1618 #if FW_ENABLE_TEXT_LOGGING 
 1619     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1620 #if FW_OBJECT_NAMES == 1 
 1621       const char* _formatString =
 
 1622         "(%s) %s: Health checking set to %s for %s";
 
 1624       const char* _formatString =
 
 1625         "%s: Health checking set to %s for %s";
 
 1629       enabled.toString(enabledStr);
 
 1635         this->m_objName.toChar(),
 
 1642       this->m_LogText_OutputPort[0].invoke(
 
 1657     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1658       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1666     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1670 #if FW_AMPCS_COMPATIBLE 
 1685       this->m_Log_OutputPort[0].
invoke(
 
 1694 #if FW_ENABLE_TEXT_LOGGING 
 1695     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1696 #if FW_OBJECT_NAMES == 1 
 1697       const char* _formatString =
 
 1698         "(%s) %s: Couldn't find entry %s";
 
 1700       const char* _formatString =
 
 1701         "%s: Couldn't find entry %s";
 
 1708         this->m_objName.toChar(),
 
 1710         "HLTH_CHECK_LOOKUP_ERROR ",
 
 1714       this->m_LogText_OutputPort[0].invoke(
 
 1733     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1734       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1742     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1746 #if FW_AMPCS_COMPATIBLE 
 1761 #if FW_AMPCS_COMPATIBLE 
 1764         static_cast<U8>(
sizeof(U32))
 
 1777 #if FW_AMPCS_COMPATIBLE 
 1780         static_cast<U8>(
sizeof(U32))
 
 1793       this->m_Log_OutputPort[0].
invoke(
 
 1802 #if FW_ENABLE_TEXT_LOGGING 
 1803     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1804 #if FW_OBJECT_NAMES == 1 
 1805       const char* _formatString =
 
 1806         "(%s) %s: Health ping for %s changed to WARN %" PRIu32 
" FATAL %" PRIu32 
"";
 
 1808       const char* _formatString =
 
 1809         "%s: Health ping for %s changed to WARN %" PRIu32 
" FATAL %" PRIu32 
"";
 
 1816         this->m_objName.toChar(),
 
 1818         "HLTH_PING_UPDATED ",
 
 1824       this->m_LogText_OutputPort[0].invoke(
 
 1843     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1844       this->m_Time_OutputPort[0].
invoke(_logTime);
 
 1852     if (this->m_Log_OutputPort[0].isConnected()) {
 
 1856 #if FW_AMPCS_COMPATIBLE 
 1871 #if FW_AMPCS_COMPATIBLE 
 1874         static_cast<U8>(
sizeof(U32))
 
 1887 #if FW_AMPCS_COMPATIBLE 
 1890         static_cast<U8>(
sizeof(U32))
 
 1903       this->m_Log_OutputPort[0].
invoke(
 
 1912 #if FW_ENABLE_TEXT_LOGGING 
 1913     if (this->m_LogText_OutputPort[0].isConnected()) {
 
 1914 #if FW_OBJECT_NAMES == 1 
 1915       const char* _formatString =
 
 1916         "(%s) %s: Health ping for %s invalid values: WARN %" PRIu32 
" FATAL %" PRIu32 
"";
 
 1918       const char* _formatString =
 
 1919         "%s: Health ping for %s invalid values: WARN %" PRIu32 
" FATAL %" PRIu32 
"";
 
 1926         this->m_objName.toChar(),
 
 1928         "HLTH_PING_INVALID_VALUES ",
 
 1934       this->m_LogText_OutputPort[0].invoke(
 
 1954     if (this->m_Tlm_OutputPort[0].isConnected()) {
 
 1956         this->m_Time_OutputPort[0].isConnected() &&
 
 1959         this->m_Time_OutputPort[0].
invoke(_tlmTime);
 
 1973       this->m_Tlm_OutputPort[0].
invoke(
 
 1988     if (this->m_Time_OutputPort[0].isConnected()) {
 
 1990       this->m_Time_OutputPort[0].
invoke(_time);
 
 2005     ComponentIpcSerializableBuffer msg;
 
 2013     if (Os::Queue::Status::EMPTY == msgStatus) {
 
 2033     MsgTypeEnum msgType = 
static_cast<MsgTypeEnum
>(desMsg);
 
 2035     if (msgType == HEALTH_COMPONENT_EXIT) {
 
 2040     deserStatus = msg.deserialize(portNum);
 
 2048       case PINGRETURN_PING: {
 
 2051         deserStatus = msg.deserialize(key);
 
 2066       case CMD_HLTH_ENABLE: {
 
 2069         deserStatus = msg.deserialize(opCode);
 
 2077         deserStatus = msg.deserialize(cmdSeq);
 
 2098           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2111 #if FW_CMD_CHECK_RESIDUAL 
 2113           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2131       case CMD_HLTH_PING_ENABLE: {
 
 2134         deserStatus = msg.deserialize(opCode);
 
 2142         deserStatus = msg.deserialize(cmdSeq);
 
 2163           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2178           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2191 #if FW_CMD_CHECK_RESIDUAL 
 2193           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2212       case CMD_HLTH_CHNG_PING: {
 
 2215         deserStatus = msg.deserialize(opCode);
 
 2223         deserStatus = msg.deserialize(cmdSeq);
 
 2244           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2259           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2274           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2287 #if FW_CMD_CHECK_RESIDUAL 
 2289           if (this->m_CmdStatus_OutputPort[0].isConnected()) {
 
 2319   void HealthComponentBase ::
 
 2331     const U32 idBase = callComp->
getIdBase();
 
 2335     switch (opCode - idBase) {
 
 2369   void HealthComponentBase ::
 
 2378     compPtr->PingReturn_handlerBase(
 
 2384   void HealthComponentBase ::
 
 2393     compPtr->Run_handlerBase(
 
#define FW_MIN(a, b)
MIN macro.
 
uint8_t U8
8-bit unsigned integer
 
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
 
#define PRI_PlatformIntType
 
@ TB_NONE
No time base has been established.
 
PlatformAssertArgType FwAssertArgType
 
PlatformSizeType FwSizeType
 
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
 
PlatformQueuePriorityType FwQueuePriorityType
 
PlatformIndexType FwIndexType
 
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
 
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
 
Enum representing a command response.
 
@ FORMAT_ERROR
Command failed to deserialize.
 
Enabled and disabled states.
 
@ SERIALIZED_SIZE
The size of the serial representation.
 
@ WARNING_HI
A serious but recoverable event.
 
@ ACTIVITY_HI
Important informational events.
 
@ FATAL
A fatal non-recoverable event.
 
@ WARNING_LO
A less serious but recoverable event.
 
void init()
Object initializer.
 
const char * toChar() const
 
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
 
void invoke(FwOpcodeType opCode)
Invoke a port interface.
 
void init()
Initialization function.
 
void init()
Initialization function.
 
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
 
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke a port interface.
 
void init()
Initialization function.
 
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Invoke a port interface.
 
void addCallPort(InputLogPort *callPort)
Register an input port.
 
void addCallPort(InputTimePort *callPort)
Register an input port.
 
void invoke(Fw::Time &time)
Invoke a port interface.
 
void init()
Initialization function.
 
void addCallPort(InputTlmPort *callPort)
Register an input port.
 
void init()
Initialization function.
 
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
 
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
 
Os::Queue m_queue
queue object for active component
 
@ MSG_DISPATCH_EMPTY
No more messages in the queue.
 
@ MSG_DISPATCH_OK
Dispatch was normal.
 
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
 
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
 
NATIVE_UINT_TYPE SizeType
 
void resetDeser()
reset deserialization to beginning
 
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
 
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
 
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
 
virtual const CHAR * toChar() const =0
 
void format(const CHAR *formatString,...)
write formatted string to buffer
 
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
 
const char * toChar() const
 
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
 
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
 
@ NONBLOCKING
Message will return with status when space is unavailable.
 
Status
status returned from the queue send function
 
@ OP_OK
message sent/received okay
 
Auto-generated base for Health component.
 
bool isConnected_WdogStroke_OutputPort(FwIndexType portNum)
 
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
 
Svc::InputPingPort * get_PingReturn_InputPort(FwIndexType portNum)
 
void log_FATAL_HLTH_PING_WRONG_KEY(const Fw::StringBase &entry, U32 badKey)
 
FwIndexType getNum_WdogStroke_OutputPorts() const
 
void WdogStroke_out(FwIndexType portNum, U32 code)
Invoke output port WdogStroke.
 
void tlmWrite_PingLateWarnings(U32 arg, Fw::Time _tlmTime=Fw::Time())
 
FwIndexType getNum_CmdStatus_OutputPorts() const
 
void set_PingSend_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to PingSend[portNum].
 
bool isConnected_Time_OutputPort(FwIndexType portNum)
 
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
 
bool isConnected_PingSend_OutputPort(FwIndexType portNum)
 
virtual MsgDispatchStatus doDispatch()
Called in the message loop to dispatch a message from the queue.
 
virtual void HLTH_PING_ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &entry, Fw::Enabled enable)=0
 
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 PingReturn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port PingReturn.
 
bool isConnected_CmdReg_OutputPort(FwIndexType portNum)
 
void log_ACTIVITY_HI_HLTH_CHECK_PING(Fw::Enabled enabled, const Fw::StringBase &entry)
 
void PingReturn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port PingReturn.
 
virtual ~HealthComponentBase()
Destroy HealthComponentBase object.
 
virtual void PingReturn_handler(FwIndexType portNum, U32 key)=0
Handler for input port PingReturn.
 
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
 
void log_ACTIVITY_HI_HLTH_PING_UPDATED(const Fw::StringBase &entry, U32 warn, U32 fatal)
 
bool isConnected_Log_OutputPort(FwIndexType portNum)
 
FwIndexType getNum_CmdReg_OutputPorts() const
 
virtual void HLTH_ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Fw::Enabled enable)=0
 
FwIndexType getNum_Time_OutputPorts() const
 
void HLTH_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void log_WARNING_LO_HLTH_CHECK_LOOKUP_ERROR(const Fw::StringBase &entry)
 
@ CHANNELID_PINGLATEWARNINGS
Channel ID for PingLateWarnings.
 
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
 
FwIndexType getNum_PingReturn_InputPorts() const
 
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
 
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
 
void log_ACTIVITY_HI_HLTH_CHECK_ENABLE(Fw::Enabled enabled)
 
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
 
FwIndexType getNum_CmdDisp_InputPorts() const
 
FwIndexType getNum_Tlm_OutputPorts() const
 
@ OPCODE_HLTH_CHNG_PING
Change ping value.
 
@ OPCODE_HLTH_ENABLE
A command to enable or disable health checks.
 
@ OPCODE_HLTH_PING_ENABLE
Ignore a particular ping entry.
 
void regCommands()
Register commands with the Command Dispatcher.
 
bool isConnected_Tlm_OutputPort(FwIndexType portNum)
 
virtual void HLTH_CHNG_PING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_CHNG_PING.
 
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
 
FwIndexType getNum_Run_InputPorts() const
 
FwIndexType getNum_Log_OutputPorts() const
 
virtual void HLTH_PING_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_PING_ENABLE.
 
void set_WdogStroke_OutputPort(FwIndexType portNum, Svc::InputWatchDogPort *port)
Connect port to WdogStroke[portNum].
 
void log_WARNING_HI_HLTH_PING_INVALID_VALUES(const Fw::StringBase &entry, U32 warn, U32 fatal)
 
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
 
FwIndexType getNum_PingSend_OutputPorts() const
 
void PingSend_out(FwIndexType portNum, U32 key)
Invoke output port PingSend.
 
HealthComponentBase(const char *compName="")
Construct HealthComponentBase object.
 
@ EVENTID_HLTH_PING_UPDATED
Report changed ping.
 
@ EVENTID_HLTH_CHECK_LOOKUP_ERROR
Entry was not found.
 
@ EVENTID_HLTH_CHECK_PING
Report a particular entry on or off.
 
@ EVENTID_HLTH_CHECK_ENABLE
Report checking turned on or off.
 
@ EVENTID_HLTH_PING_LATE
Declare FATAL since task is no longer responding.
 
@ EVENTID_HLTH_PING_INVALID_VALUES
Report changed ping.
 
@ EVENTID_HLTH_PING_WRONG_KEY
Declare FATAL since task is no longer responding.
 
@ EVENTID_HLTH_PING_WARN
Warn that a ping target is longer than the warning value.
 
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
 
virtual void Run_handler(FwIndexType portNum, U32 context)=0
Handler for input port Run.
 
virtual void HLTH_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_ENABLE.
 
void log_WARNING_HI_HLTH_PING_WARN(const Fw::StringBase &entry)
 
void log_FATAL_HLTH_PING_LATE(const Fw::StringBase &entry)
 
virtual void HLTH_CHNG_PING_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &entry, U32 warningValue, U32 fatalValue)=0
 
void invoke(U32 key)
Invoke a port interface.
 
void init()
Initialization function.
 
void addCallPort(InputPingPort *callPort)
Register an input port.
 
void invoke(U32 code)
Invoke a port interface.
 
void init()
Initialization function.
 
void addCallPort(InputWatchDogPort *callPort)
Register an input port.
 
SerializeStatus
forward declaration for string
 
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
 
@ OP_OK
Operation succeeded.