10 #if FW_ENABLE_TEXT_LOGGING 34 class ComponentIpcSerializableBuffer :
44 MAX_DATA_SIZE =
sizeof(BuffUnion),
46 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
50 return sizeof(m_buff);
57 const U8* getBuffAddr()
const {
63 U8 m_buff[SERIALIZATION_SIZE];
87 this->m_CmdDisp_InputPort[port].
init();
92 this->m_CmdDisp_InputPort[port].
setPortNum(port);
94 #if FW_OBJECT_NAMES == 1 98 this->m_objName.toChar(),
101 this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
111 this->m_PingReturn_InputPort[port].
init();
116 this->m_PingReturn_InputPort[port].
setPortNum(port);
118 #if FW_OBJECT_NAMES == 1 122 this->m_objName.toChar(),
125 this->m_PingReturn_InputPort[port].setObjName(portName.
toChar());
135 this->m_Run_InputPort[port].
init();
142 #if FW_OBJECT_NAMES == 1 146 this->m_objName.toChar(),
149 this->m_Run_InputPort[port].setObjName(portName.
toChar());
159 this->m_CmdReg_OutputPort[port].
init();
161 #if FW_OBJECT_NAMES == 1 165 this->m_objName.toChar(),
168 this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
178 this->m_CmdStatus_OutputPort[port].
init();
180 #if FW_OBJECT_NAMES == 1 184 this->m_objName.toChar(),
187 this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
197 this->m_Log_OutputPort[port].
init();
199 #if FW_OBJECT_NAMES == 1 203 this->m_objName.toChar(),
206 this->m_Log_OutputPort[port].setObjName(portName.
toChar());
210 #if FW_ENABLE_TEXT_LOGGING == 1 214 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
217 this->m_LogText_OutputPort[port].
init();
219 #if FW_OBJECT_NAMES == 1 223 this->m_objName.toChar(),
226 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
237 this->m_Time_OutputPort[port].
init();
239 #if FW_OBJECT_NAMES == 1 243 this->m_objName.toChar(),
246 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
256 this->m_Tlm_OutputPort[port].
init();
258 #if FW_OBJECT_NAMES == 1 262 this->m_objName.toChar(),
265 this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
275 this->m_PingSend_OutputPort[port].
init();
277 #if FW_OBJECT_NAMES == 1 281 this->m_objName.toChar(),
284 this->m_PingSend_OutputPort[port].setObjName(portName.
toChar());
294 this->m_WdogStroke_OutputPort[port].
init();
296 #if FW_OBJECT_NAMES == 1 300 this->m_objName.toChar(),
303 this->m_WdogStroke_OutputPort[port].setObjName(portName.
toChar());
310 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
314 static_cast<FwAssertArgType>(qStat)
327 static_cast<FwAssertArgType>(portNum)
330 return &this->m_CmdDisp_InputPort[portNum];
342 static_cast<FwAssertArgType>(portNum)
345 return &this->m_PingReturn_InputPort[portNum];
353 static_cast<FwAssertArgType>(portNum)
356 return &this->m_Run_InputPort[portNum];
371 static_cast<FwAssertArgType>(portNum)
374 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
385 static_cast<FwAssertArgType>(portNum)
388 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
399 static_cast<FwAssertArgType>(portNum)
405 #if FW_ENABLE_TEXT_LOGGING == 1 407 void HealthComponentBase ::
408 set_LogText_OutputPort(
414 portNum < this->getNum_LogText_OutputPorts(),
415 static_cast<FwAssertArgType>(portNum)
418 this->m_LogText_OutputPort[portNum].addCallPort(port);
431 static_cast<FwAssertArgType>(portNum)
434 this->m_Time_OutputPort[portNum].
addCallPort(port);
445 static_cast<FwAssertArgType>(portNum)
463 static_cast<FwAssertArgType>(portNum)
466 this->m_PingSend_OutputPort[portNum].
addCallPort(port);
477 static_cast<FwAssertArgType>(portNum)
480 this->m_WdogStroke_OutputPort[portNum].
addCallPort(port);
483 #if FW_PORT_SERIALIZATION 492 Fw::InputSerializePort* port
497 static_cast<FwAssertArgType>(portNum)
500 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
506 Fw::InputSerializePort* port
511 static_cast<FwAssertArgType>(portNum)
514 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
520 Fw::InputSerializePort* port
525 static_cast<FwAssertArgType>(portNum)
528 this->m_Log_OutputPort[portNum].registerSerialPort(port);
531 #if FW_ENABLE_TEXT_LOGGING == 1 533 void HealthComponentBase ::
534 set_LogText_OutputPort(
536 Fw::InputSerializePort* port
540 portNum < this->getNum_LogText_OutputPorts(),
541 static_cast<FwAssertArgType>(portNum)
544 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
552 Fw::InputSerializePort* port
557 static_cast<FwAssertArgType>(portNum)
560 this->m_Time_OutputPort[portNum].registerSerialPort(port);
566 Fw::InputSerializePort* port
571 static_cast<FwAssertArgType>(portNum)
574 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
579 #if FW_PORT_SERIALIZATION 588 Fw::InputSerializePort* port
593 static_cast<FwAssertArgType>(portNum)
596 this->m_PingSend_OutputPort[portNum].registerSerialPort(port);
602 Fw::InputSerializePort* port
607 static_cast<FwAssertArgType>(portNum)
610 this->m_WdogStroke_OutputPort[portNum].registerSerialPort(port);
622 FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
624 this->m_CmdReg_OutputPort[0].
invoke(
628 this->m_CmdReg_OutputPort[0].
invoke(
632 this->m_CmdReg_OutputPort[0].
invoke(
643 Fw::QueuedComponentBase(compName)
702 #if FW_ENABLE_TEXT_LOGGING == 1 705 getNum_LogText_OutputPorts()
const 749 static_cast<FwAssertArgType>(portNum)
752 return this->m_CmdReg_OutputPort[portNum].
isConnected();
760 static_cast<FwAssertArgType>(portNum)
763 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
771 static_cast<FwAssertArgType>(portNum)
774 return this->m_Log_OutputPort[portNum].
isConnected();
777 #if FW_ENABLE_TEXT_LOGGING == 1 779 bool HealthComponentBase ::
780 isConnected_LogText_OutputPort(
FwIndexType portNum)
783 portNum < this->getNum_LogText_OutputPorts(),
784 static_cast<FwAssertArgType>(portNum)
787 return this->m_LogText_OutputPort[portNum].isConnected();
797 static_cast<FwAssertArgType>(portNum)
800 return this->m_Time_OutputPort[portNum].
isConnected();
808 static_cast<FwAssertArgType>(portNum)
811 return this->m_Tlm_OutputPort[portNum].
isConnected();
823 static_cast<FwAssertArgType>(portNum)
826 return this->m_PingSend_OutputPort[portNum].
isConnected();
834 static_cast<FwAssertArgType>(portNum)
837 return this->m_WdogStroke_OutputPort[portNum].
isConnected();
855 static_cast<FwAssertArgType>(portNum)
863 ComponentIpcSerializableBuffer msg;
867 _status = msg.serialize(
868 static_cast<FwEnumStoreType>(PINGRETURN_PING)
872 static_cast<FwAssertArgType>(_status)
876 _status = msg.serialize(portNum);
879 static_cast<FwAssertArgType>(_status)
883 _status = msg.serialize(key);
886 static_cast<FwAssertArgType>(_status)
895 static_cast<FwAssertArgType>(qStatus)
908 static_cast<FwAssertArgType>(portNum)
947 static_cast<FwAssertArgType>(portNum)
949 this->m_PingSend_OutputPort[portNum].
invoke(
962 static_cast<FwAssertArgType>(portNum)
964 this->m_WdogStroke_OutputPort[portNum].
invoke(
980 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
981 this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
1002 ComponentIpcSerializableBuffer msg;
1006 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_HLTH_ENABLE));
1009 static_cast<FwAssertArgType>(_status)
1015 _status = msg.serialize(port);
1018 static_cast<FwAssertArgType>(_status)
1021 _status = msg.serialize(opCode);
1024 static_cast<FwAssertArgType>(_status)
1027 _status = msg.serialize(cmdSeq);
1030 static_cast<FwAssertArgType>(_status)
1033 _status = msg.serialize(args);
1036 static_cast<FwAssertArgType>(_status)
1045 static_cast<FwAssertArgType>(qStatus)
1061 ComponentIpcSerializableBuffer msg;
1065 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_HLTH_PING_ENABLE));
1068 static_cast<FwAssertArgType>(_status)
1074 _status = msg.serialize(port);
1077 static_cast<FwAssertArgType>(_status)
1080 _status = msg.serialize(opCode);
1083 static_cast<FwAssertArgType>(_status)
1086 _status = msg.serialize(cmdSeq);
1089 static_cast<FwAssertArgType>(_status)
1092 _status = msg.serialize(args);
1095 static_cast<FwAssertArgType>(_status)
1104 static_cast<FwAssertArgType>(qStatus)
1120 ComponentIpcSerializableBuffer msg;
1124 _status = msg.serialize(static_cast<FwEnumStoreType>(CMD_HLTH_CHNG_PING));
1127 static_cast<FwAssertArgType>(_status)
1133 _status = msg.serialize(port);
1136 static_cast<FwAssertArgType>(_status)
1139 _status = msg.serialize(opCode);
1142 static_cast<FwAssertArgType>(_status)
1145 _status = msg.serialize(cmdSeq);
1148 static_cast<FwAssertArgType>(_status)
1151 _status = msg.serialize(args);
1154 static_cast<FwAssertArgType>(_status)
1163 static_cast<FwAssertArgType>(qStatus)
1217 if (this->m_Time_OutputPort[0].isConnected()) {
1218 this->m_Time_OutputPort[0].
invoke(_logTime);
1226 if (this->m_Log_OutputPort[0].isConnected()) {
1230 #if FW_AMPCS_COMPATIBLE 1232 _status = _logBuff.
serialize(static_cast<U8>(1));
1235 static_cast<FwAssertArgType>(_status)
1242 static_cast<FwAssertArgType>(_status)
1245 this->m_Log_OutputPort[0].
invoke(
1254 #if FW_ENABLE_TEXT_LOGGING 1255 if (this->m_LogText_OutputPort[0].isConnected()) {
1256 #if FW_OBJECT_NAMES == 1 1257 const char* _formatString =
1258 "(%s) %s: Ping entry %s late warning";
1260 const char* _formatString =
1261 "%s: Ping entry %s late warning";
1268 this->m_objName.toChar(),
1274 this->m_LogText_OutputPort[0].invoke(
1289 if (this->m_Time_OutputPort[0].isConnected()) {
1290 this->m_Time_OutputPort[0].
invoke(_logTime);
1298 if (this->m_Log_OutputPort[0].isConnected()) {
1302 #if FW_AMPCS_COMPATIBLE 1304 _status = _logBuff.
serialize(static_cast<U8>(1 + 1));
1307 static_cast<FwAssertArgType>(_status)
1311 _status = _logBuff.
serialize(static_cast<U8>(4));
1314 static_cast<FwAssertArgType>(_status)
1317 _status = _logBuff.
serialize(static_cast<U32>(0));
1320 static_cast<FwAssertArgType>(_status)
1327 static_cast<FwAssertArgType>(_status)
1330 this->m_Log_OutputPort[0].
invoke(
1339 #if FW_ENABLE_TEXT_LOGGING 1340 if (this->m_LogText_OutputPort[0].isConnected()) {
1341 #if FW_OBJECT_NAMES == 1 1342 const char* _formatString =
1343 "(%s) %s: Ping entry %s did not respond";
1345 const char* _formatString =
1346 "%s: Ping entry %s did not respond";
1353 this->m_objName.toChar(),
1359 this->m_LogText_OutputPort[0].invoke(
1377 if (this->m_Time_OutputPort[0].isConnected()) {
1378 this->m_Time_OutputPort[0].
invoke(_logTime);
1386 if (this->m_Log_OutputPort[0].isConnected()) {
1390 #if FW_AMPCS_COMPATIBLE 1392 _status = _logBuff.
serialize(static_cast<U8>(2 + 1));
1395 static_cast<FwAssertArgType>(_status)
1399 _status = _logBuff.
serialize(static_cast<U8>(4));
1402 static_cast<FwAssertArgType>(_status)
1405 _status = _logBuff.
serialize(static_cast<U32>(0));
1408 static_cast<FwAssertArgType>(_status)
1415 static_cast<FwAssertArgType>(_status)
1418 #if FW_AMPCS_COMPATIBLE 1421 static_cast<U8>(
sizeof(U32))
1425 static_cast<FwAssertArgType>(_status)
1431 static_cast<FwAssertArgType>(_status)
1434 this->m_Log_OutputPort[0].
invoke(
1443 #if FW_ENABLE_TEXT_LOGGING 1444 if (this->m_LogText_OutputPort[0].isConnected()) {
1445 #if FW_OBJECT_NAMES == 1 1446 const char* _formatString =
1447 "(%s) %s: Ping entry %s responded with wrong key 0x%" PRIx32
"";
1449 const char* _formatString =
1450 "%s: Ping entry %s responded with wrong key 0x%" PRIx32
"";
1457 this->m_objName.toChar(),
1459 "HLTH_PING_WRONG_KEY ",
1464 this->m_LogText_OutputPort[0].invoke(
1479 if (this->m_Time_OutputPort[0].isConnected()) {
1480 this->m_Time_OutputPort[0].
invoke(_logTime);
1488 if (this->m_Log_OutputPort[0].isConnected()) {
1492 #if FW_AMPCS_COMPATIBLE 1494 _status = _logBuff.
serialize(static_cast<U8>(1));
1497 static_cast<FwAssertArgType>(_status)
1501 #if FW_AMPCS_COMPATIBLE 1508 static_cast<FwAssertArgType>(_status)
1514 static_cast<FwAssertArgType>(_status)
1517 this->m_Log_OutputPort[0].
invoke(
1526 #if FW_ENABLE_TEXT_LOGGING 1527 if (this->m_LogText_OutputPort[0].isConnected()) {
1528 #if FW_OBJECT_NAMES == 1 1529 const char* _formatString =
1530 "(%s) %s: Health checking set to %s";
1532 const char* _formatString =
1533 "%s: Health checking set to %s";
1537 enabled.toString(enabledStr);
1543 this->m_objName.toChar(),
1545 "HLTH_CHECK_ENABLE ",
1549 this->m_LogText_OutputPort[0].invoke(
1567 if (this->m_Time_OutputPort[0].isConnected()) {
1568 this->m_Time_OutputPort[0].
invoke(_logTime);
1576 if (this->m_Log_OutputPort[0].isConnected()) {
1580 #if FW_AMPCS_COMPATIBLE 1582 _status = _logBuff.
serialize(static_cast<U8>(2));
1585 static_cast<FwAssertArgType>(_status)
1589 #if FW_AMPCS_COMPATIBLE 1596 static_cast<FwAssertArgType>(_status)
1602 static_cast<FwAssertArgType>(_status)
1608 static_cast<FwAssertArgType>(_status)
1611 this->m_Log_OutputPort[0].
invoke(
1620 #if FW_ENABLE_TEXT_LOGGING 1621 if (this->m_LogText_OutputPort[0].isConnected()) {
1622 #if FW_OBJECT_NAMES == 1 1623 const char* _formatString =
1624 "(%s) %s: Health checking set to %s for %s";
1626 const char* _formatString =
1627 "%s: Health checking set to %s for %s";
1631 enabled.toString(enabledStr);
1637 this->m_objName.toChar(),
1644 this->m_LogText_OutputPort[0].invoke(
1659 if (this->m_Time_OutputPort[0].isConnected()) {
1660 this->m_Time_OutputPort[0].
invoke(_logTime);
1668 if (this->m_Log_OutputPort[0].isConnected()) {
1672 #if FW_AMPCS_COMPATIBLE 1674 _status = _logBuff.
serialize(static_cast<U8>(1));
1677 static_cast<FwAssertArgType>(_status)
1684 static_cast<FwAssertArgType>(_status)
1687 this->m_Log_OutputPort[0].
invoke(
1696 #if FW_ENABLE_TEXT_LOGGING 1697 if (this->m_LogText_OutputPort[0].isConnected()) {
1698 #if FW_OBJECT_NAMES == 1 1699 const char* _formatString =
1700 "(%s) %s: Couldn't find entry %s";
1702 const char* _formatString =
1703 "%s: Couldn't find entry %s";
1710 this->m_objName.toChar(),
1712 "HLTH_CHECK_LOOKUP_ERROR ",
1716 this->m_LogText_OutputPort[0].invoke(
1735 if (this->m_Time_OutputPort[0].isConnected()) {
1736 this->m_Time_OutputPort[0].
invoke(_logTime);
1744 if (this->m_Log_OutputPort[0].isConnected()) {
1748 #if FW_AMPCS_COMPATIBLE 1750 _status = _logBuff.
serialize(static_cast<U8>(3));
1753 static_cast<FwAssertArgType>(_status)
1760 static_cast<FwAssertArgType>(_status)
1763 #if FW_AMPCS_COMPATIBLE 1766 static_cast<U8>(
sizeof(U32))
1770 static_cast<FwAssertArgType>(_status)
1776 static_cast<FwAssertArgType>(_status)
1779 #if FW_AMPCS_COMPATIBLE 1782 static_cast<U8>(
sizeof(U32))
1786 static_cast<FwAssertArgType>(_status)
1792 static_cast<FwAssertArgType>(_status)
1795 this->m_Log_OutputPort[0].
invoke(
1804 #if FW_ENABLE_TEXT_LOGGING 1805 if (this->m_LogText_OutputPort[0].isConnected()) {
1806 #if FW_OBJECT_NAMES == 1 1807 const char* _formatString =
1808 "(%s) %s: Health ping for %s changed to WARN %" PRIu32
" FATAL %" PRIu32
"";
1810 const char* _formatString =
1811 "%s: Health ping for %s changed to WARN %" PRIu32
" FATAL %" PRIu32
"";
1818 this->m_objName.toChar(),
1820 "HLTH_PING_UPDATED ",
1826 this->m_LogText_OutputPort[0].invoke(
1845 if (this->m_Time_OutputPort[0].isConnected()) {
1846 this->m_Time_OutputPort[0].
invoke(_logTime);
1854 if (this->m_Log_OutputPort[0].isConnected()) {
1858 #if FW_AMPCS_COMPATIBLE 1860 _status = _logBuff.
serialize(static_cast<U8>(3));
1863 static_cast<FwAssertArgType>(_status)
1870 static_cast<FwAssertArgType>(_status)
1873 #if FW_AMPCS_COMPATIBLE 1876 static_cast<U8>(
sizeof(U32))
1880 static_cast<FwAssertArgType>(_status)
1886 static_cast<FwAssertArgType>(_status)
1889 #if FW_AMPCS_COMPATIBLE 1892 static_cast<U8>(
sizeof(U32))
1896 static_cast<FwAssertArgType>(_status)
1902 static_cast<FwAssertArgType>(_status)
1905 this->m_Log_OutputPort[0].
invoke(
1914 #if FW_ENABLE_TEXT_LOGGING 1915 if (this->m_LogText_OutputPort[0].isConnected()) {
1916 #if FW_OBJECT_NAMES == 1 1917 const char* _formatString =
1918 "(%s) %s: Health ping for %s invalid values: WARN %" PRIu32
" FATAL %" PRIu32
"";
1920 const char* _formatString =
1921 "%s: Health ping for %s invalid values: WARN %" PRIu32
" FATAL %" PRIu32
"";
1928 this->m_objName.toChar(),
1930 "HLTH_PING_INVALID_VALUES ",
1936 this->m_LogText_OutputPort[0].invoke(
1956 if (this->m_Tlm_OutputPort[0].isConnected()) {
1958 this->m_Time_OutputPort[0].isConnected() &&
1961 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1968 static_cast<FwAssertArgType>(_stat)
1975 this->m_Tlm_OutputPort[0].
invoke(
1990 if (this->m_Time_OutputPort[0].isConnected()) {
1992 this->m_Time_OutputPort[0].
invoke(_time);
2007 ComponentIpcSerializableBuffer msg;
2015 if (Os::Queue::Status::EMPTY == msgStatus) {
2021 static_cast<FwAssertArgType>(msgStatus)
2032 static_cast<FwAssertArgType>(deserStatus)
2035 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
2037 if (msgType == HEALTH_COMPONENT_EXIT) {
2042 deserStatus = msg.deserialize(portNum);
2045 static_cast<FwAssertArgType>(deserStatus)
2050 case PINGRETURN_PING: {
2053 deserStatus = msg.deserialize(key);
2056 static_cast<FwAssertArgType>(deserStatus)
2068 case CMD_HLTH_ENABLE: {
2071 deserStatus = msg.deserialize(opCode);
2074 static_cast<FwAssertArgType>(deserStatus)
2079 deserStatus = msg.deserialize(cmdSeq);
2082 static_cast<FwAssertArgType>(deserStatus)
2087 deserStatus = msg.deserialize(args);
2090 static_cast<FwAssertArgType>(deserStatus)
2100 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2113 #if FW_CMD_CHECK_RESIDUAL 2115 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2133 case CMD_HLTH_PING_ENABLE: {
2136 deserStatus = msg.deserialize(opCode);
2139 static_cast<FwAssertArgType>(deserStatus)
2144 deserStatus = msg.deserialize(cmdSeq);
2147 static_cast<FwAssertArgType>(deserStatus)
2152 deserStatus = msg.deserialize(args);
2155 static_cast<FwAssertArgType>(deserStatus)
2165 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2180 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2193 #if FW_CMD_CHECK_RESIDUAL 2195 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2214 case CMD_HLTH_CHNG_PING: {
2217 deserStatus = msg.deserialize(opCode);
2220 static_cast<FwAssertArgType>(deserStatus)
2225 deserStatus = msg.deserialize(cmdSeq);
2228 static_cast<FwAssertArgType>(deserStatus)
2233 deserStatus = msg.deserialize(args);
2236 static_cast<FwAssertArgType>(deserStatus)
2246 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2261 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2276 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2289 #if FW_CMD_CHECK_RESIDUAL 2291 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2321 void HealthComponentBase ::
2333 const U32 idBase = callComp->
getIdBase();
2334 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2337 switch (opCode - idBase) {
2371 void HealthComponentBase ::
2380 compPtr->PingReturn_handlerBase(
2386 void HealthComponentBase ::
2395 compPtr->Run_handlerBase(
Serialization/Deserialization operation was successful.
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.
void addCallPort(InputTimePort *callPort)
Register an input port.
Auto-generated base for Health component.
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.
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
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
NATIVE_UINT_TYPE SizeType
Status
status returned from the queue send function
virtual MsgDispatchStatus doDispatch()
Called in the message loop to dispatch a message from the queue.
FwIndexType getNum_PingSend_OutputPorts() const
FwIndexType getNum_Time_OutputPorts() const
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
const char * toChar() const
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
PlatformSizeType FwSizeType
void log_WARNING_HI_HLTH_PING_INVALID_VALUES(const Fw::StringBase &entry, U32 warn, U32 fatal) const
void invoke(U32 key) const
Invoke a port interface.
bool isConnected_Log_OutputPort(FwIndexType portNum)
Ignore a particular ping entry.
bool isConnected_CmdReg_OutputPort(FwIndexType portNum)
void init()
Initialization function.
Enum representing a command response.
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
void addCallPort(InputWatchDogPort *callPort)
Register an input port.
void set_WdogStroke_OutputPort(FwIndexType portNum, Svc::InputWatchDogPort *port)
Connect port to WdogStroke[portNum].
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
PlatformIndexType FwIndexType
Warn that a ping target is longer than the warning value.
virtual void HLTH_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_ENABLE.
Os::Queue m_queue
queue object for active component
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
SerializeStatus
forward declaration for string
FwIndexType getNum_Log_OutputPorts() const
FwIndexType getNum_WdogStroke_OutputPorts() const
Svc::InputPingPort * get_PingReturn_InputPort(FwIndexType portNum)
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
void PingReturn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port PingReturn.
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
void init()
Initialization function.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
#define FW_MIN(a, b)
MIN macro.
A less serious but recoverable event.
void init()
Initialization function.
FwIndexType getNum_CmdReg_OutputPorts() const
FwIndexType getNum_PingReturn_InputPorts() const
FwIndexType getNum_CmdStatus_OutputPorts() const
void invoke(Fw::Time &time) const
Invoke a port interface.
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].
Channel ID for PingLateWarnings.
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
No time base has been established.
void addCallPort(InputPingPort *callPort)
Register an input port.
Declare FATAL since task is no longer responding.
bool isConnected_Time_OutputPort(FwIndexType portNum)
void WdogStroke_out(FwIndexType portNum, U32 code)
Invoke output port WdogStroke.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void HLTH_PING_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Report a particular entry on or off.
void resetDeser()
reset deserialization to beginning
FwIndexType getNum_Run_InputPorts() const
A serious but recoverable event.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
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.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
bool isConnected_WdogStroke_OutputPort(FwIndexType portNum)
uint8_t U8
8-bit unsigned integer
The size of the serial representation.
#define PRI_PlatformIntType
bool isConnected_PingSend_OutputPort(FwIndexType portNum)
A command to enable or disable health checks.
Command failed to deserialize.
void log_FATAL_HLTH_PING_LATE(const Fw::StringBase &entry) const
Important informational events.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
bool isConnected_Tlm_OutputPort(FwIndexType portNum)
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
HealthComponentBase(const char *compName="")
Construct HealthComponentBase object.
void invoke(U32 code) const
Invoke a port interface.
PlatformQueuePriorityType FwQueuePriorityType
virtual void HLTH_PING_ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &entry, Fw::Enabled enable)=0
message to exit active component task
virtual void HLTH_CHNG_PING_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_CHNG_PING.
A message was sent requesting an exit of the loop.
void init()
Initialization function.
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
virtual void PingReturn_handler(FwIndexType portNum, U32 key)=0
Handler for input port PingReturn.
A fatal non-recoverable event.
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
void addCallPort(InputLogPort *callPort)
Register an input port.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
void init()
Initialization function.
message sent/received okay
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
Message will return with status when space is unavailable.
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
FwIndexType getNum_Tlm_OutputPorts() const
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
void init()
Initialization function.
Report checking turned on or off.
void log_ACTIVITY_HI_HLTH_CHECK_ENABLE(Fw::Enabled enabled) const
FwIndexType getNum_CmdDisp_InputPorts() const
No more messages in the queue.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void HLTH_CHNG_PING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_WARNING_HI_HLTH_PING_WARN(const Fw::StringBase &entry) const
void HLTH_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
virtual const CHAR * toChar() const =0
virtual void HLTH_PING_ENABLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command HLTH_PING_ENABLE.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
Declare FATAL since task is no longer responding.
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
void PingSend_out(FwIndexType portNum, U32 key)
Invoke output port PingSend.
void log_ACTIVITY_HI_HLTH_PING_UPDATED(const Fw::StringBase &entry, U32 warn, U32 fatal) const