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];
72 void HealthComponentBase ::
84 port < static_cast<FwIndexType>(this->getNum_CmdDisp_InputPorts());
87 this->m_CmdDisp_InputPort[port].init();
88 this->m_CmdDisp_InputPort[port].addCallComp(
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());
108 port < static_cast<FwIndexType>(this->getNum_PingReturn_InputPorts());
111 this->m_PingReturn_InputPort[port].init();
112 this->m_PingReturn_InputPort[port].addCallComp(
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());
132 port < static_cast<FwIndexType>(this->getNum_Run_InputPorts());
135 this->m_Run_InputPort[port].init();
136 this->m_Run_InputPort[port].addCallComp(
140 this->m_Run_InputPort[port].setPortNum(port);
142#if FW_OBJECT_NAMES == 1
146 this->m_objName.toChar(),
149 this->m_Run_InputPort[port].setObjName(portName.
toChar());
156 port < static_cast<FwIndexType>(this->getNum_CmdReg_OutputPorts());
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());
175 port < static_cast<FwIndexType>(this->getNum_CmdStatus_OutputPorts());
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());
194 port < static_cast<FwIndexType>(this->getNum_Log_OutputPorts());
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());
234 port < static_cast<FwIndexType>(this->getNum_Time_OutputPorts());
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());
253 port < static_cast<FwIndexType>(this->getNum_Tlm_OutputPorts());
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());
272 port < static_cast<FwIndexType>(this->getNum_PingSend_OutputPorts());
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());
291 port < static_cast<FwIndexType>(this->getNum_WdogStroke_OutputPorts());
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)
326 portNum < this->getNum_CmdDisp_InputPorts(),
330 return &this->m_CmdDisp_InputPort[portNum];
341 portNum < this->getNum_PingReturn_InputPorts(),
345 return &this->m_PingReturn_InputPort[portNum];
352 portNum < this->getNum_Run_InputPorts(),
356 return &this->m_Run_InputPort[portNum];
363 void HealthComponentBase ::
364 set_CmdReg_OutputPort(
370 portNum < this->getNum_CmdReg_OutputPorts(),
374 this->m_CmdReg_OutputPort[portNum].addCallPort(port);
377 void HealthComponentBase ::
378 set_CmdStatus_OutputPort(
384 portNum < this->getNum_CmdStatus_OutputPorts(),
388 this->m_CmdStatus_OutputPort[portNum].addCallPort(port);
391 void HealthComponentBase ::
398 portNum < this->getNum_Log_OutputPorts(),
402 this->m_Log_OutputPort[portNum].addCallPort(port);
405#if FW_ENABLE_TEXT_LOGGING == 1
407 void HealthComponentBase ::
408 set_LogText_OutputPort(
414 portNum < this->getNum_LogText_OutputPorts(),
418 this->m_LogText_OutputPort[portNum].addCallPort(port);
423 void HealthComponentBase ::
430 portNum < this->getNum_Time_OutputPorts(),
434 this->m_Time_OutputPort[portNum].addCallPort(port);
437 void HealthComponentBase ::
444 portNum < this->getNum_Tlm_OutputPorts(),
448 this->m_Tlm_OutputPort[portNum].addCallPort(port);
455 void HealthComponentBase ::
456 set_PingSend_OutputPort(
462 portNum < this->getNum_PingSend_OutputPorts(),
466 this->m_PingSend_OutputPort[portNum].addCallPort(port);
469 void HealthComponentBase ::
470 set_WdogStroke_OutputPort(
476 portNum < this->getNum_WdogStroke_OutputPorts(),
480 this->m_WdogStroke_OutputPort[portNum].addCallPort(port);
483#if FW_PORT_SERIALIZATION
489 void HealthComponentBase ::
490 set_CmdReg_OutputPort(
492 Fw::InputSerializePort* port
496 portNum < this->getNum_CmdReg_OutputPorts(),
500 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
503 void HealthComponentBase ::
504 set_CmdStatus_OutputPort(
506 Fw::InputSerializePort* port
510 portNum < this->getNum_CmdStatus_OutputPorts(),
514 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
517 void HealthComponentBase ::
520 Fw::InputSerializePort* port
524 portNum < this->getNum_Log_OutputPorts(),
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(),
544 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
549 void HealthComponentBase ::
552 Fw::InputSerializePort* port
556 portNum < this->getNum_Time_OutputPorts(),
560 this->m_Time_OutputPort[portNum].registerSerialPort(port);
563 void HealthComponentBase ::
566 Fw::InputSerializePort* port
570 portNum < this->getNum_Tlm_OutputPorts(),
574 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
579#if FW_PORT_SERIALIZATION
585 void HealthComponentBase ::
586 set_PingSend_OutputPort(
588 Fw::InputSerializePort* port
592 portNum < this->getNum_PingSend_OutputPorts(),
596 this->m_PingSend_OutputPort[portNum].registerSerialPort(port);
599 void HealthComponentBase ::
600 set_WdogStroke_OutputPort(
602 Fw::InputSerializePort* port
606 portNum < this->getNum_WdogStroke_OutputPorts(),
610 this->m_WdogStroke_OutputPort[portNum].registerSerialPort(port);
619 void HealthComponentBase ::
622 FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
624 this->m_CmdReg_OutputPort[0].invoke(
625 this->getIdBase() + OPCODE_HLTH_ENABLE
628 this->m_CmdReg_OutputPort[0].invoke(
629 this->getIdBase() + OPCODE_HLTH_PING_ENABLE
632 this->m_CmdReg_OutputPort[0].invoke(
633 this->getIdBase() + OPCODE_HLTH_CHNG_PING
641 HealthComponentBase ::
642 HealthComponentBase(
const char* compName) :
643 Fw::QueuedComponentBase(compName)
648 HealthComponentBase ::
649 ~HealthComponentBase()
659 getNum_CmdDisp_InputPorts()
const
669 getNum_PingReturn_InputPorts()
const
675 getNum_Run_InputPorts()
const
685 getNum_CmdReg_OutputPorts()
const
691 getNum_CmdStatus_OutputPorts()
const
697 getNum_Log_OutputPorts()
const
702#if FW_ENABLE_TEXT_LOGGING == 1
705 getNum_LogText_OutputPorts()
const
713 getNum_Time_OutputPorts()
const
719 getNum_Tlm_OutputPorts()
const
729 getNum_PingSend_OutputPorts()
const
735 getNum_WdogStroke_OutputPorts()
const
744 bool HealthComponentBase ::
748 portNum < this->getNum_CmdReg_OutputPorts(),
752 return this->m_CmdReg_OutputPort[portNum].isConnected();
755 bool HealthComponentBase ::
756 isConnected_CmdStatus_OutputPort(
FwIndexType portNum)
759 portNum < this->getNum_CmdStatus_OutputPorts(),
763 return this->m_CmdStatus_OutputPort[portNum].isConnected();
766 bool HealthComponentBase ::
770 portNum < this->getNum_Log_OutputPorts(),
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(),
787 return this->m_LogText_OutputPort[portNum].isConnected();
792 bool HealthComponentBase ::
796 portNum < this->getNum_Time_OutputPorts(),
800 return this->m_Time_OutputPort[portNum].isConnected();
803 bool HealthComponentBase ::
807 portNum < this->getNum_Tlm_OutputPorts(),
811 return this->m_Tlm_OutputPort[portNum].isConnected();
818 bool HealthComponentBase ::
819 isConnected_PingSend_OutputPort(
FwIndexType portNum)
822 portNum < this->getNum_PingSend_OutputPorts(),
826 return this->m_PingSend_OutputPort[portNum].isConnected();
829 bool HealthComponentBase ::
830 isConnected_WdogStroke_OutputPort(
FwIndexType portNum)
833 portNum < this->getNum_WdogStroke_OutputPorts(),
837 return this->m_WdogStroke_OutputPort[portNum].isConnected();
846 void HealthComponentBase ::
847 PingReturn_handlerBase(
854 portNum < this->getNum_PingReturn_InputPorts(),
859 PingReturn_preMsgHook(
863 ComponentIpcSerializableBuffer msg;
867 _status = msg.serialize(
876 _status = msg.serialize(portNum);
883 _status = msg.serialize(key);
899 void HealthComponentBase ::
907 portNum < this->getNum_Run_InputPorts(),
926 void HealthComponentBase ::
927 PingReturn_preMsgHook(
939 void HealthComponentBase ::
946 portNum < this->getNum_PingSend_OutputPorts(),
949 this->m_PingSend_OutputPort[portNum].invoke(
954 void HealthComponentBase ::
961 portNum < this->getNum_WdogStroke_OutputPorts(),
964 this->m_WdogStroke_OutputPort[portNum].invoke(
973 void HealthComponentBase ::
980 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
981 this->m_CmdStatus_OutputPort[0].invoke(opCode, cmdSeq, response);
990 void HealthComponentBase ::
991 HLTH_ENABLE_cmdHandlerBase(
998 this->HLTH_ENABLE_preMsgHook(opCode,cmdSeq);
1002 ComponentIpcSerializableBuffer msg;
1006 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_ENABLE));
1015 _status = msg.serialize(port);
1021 _status = msg.serialize(opCode);
1027 _status = msg.serialize(cmdSeq);
1033 _status = msg.serialize(args);
1049 void HealthComponentBase ::
1050 HLTH_PING_ENABLE_cmdHandlerBase(
1057 this->HLTH_PING_ENABLE_preMsgHook(opCode,cmdSeq);
1061 ComponentIpcSerializableBuffer msg;
1065 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_PING_ENABLE));
1074 _status = msg.serialize(port);
1080 _status = msg.serialize(opCode);
1086 _status = msg.serialize(cmdSeq);
1092 _status = msg.serialize(args);
1108 void HealthComponentBase ::
1109 HLTH_CHNG_PING_cmdHandlerBase(
1116 this->HLTH_CHNG_PING_preMsgHook(opCode,cmdSeq);
1120 ComponentIpcSerializableBuffer msg;
1124 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_HLTH_CHNG_PING));
1133 _status = msg.serialize(port);
1139 _status = msg.serialize(opCode);
1145 _status = msg.serialize(cmdSeq);
1151 _status = msg.serialize(args);
1175 void HealthComponentBase ::
1176 HLTH_ENABLE_preMsgHook(
1186 void HealthComponentBase ::
1187 HLTH_PING_ENABLE_preMsgHook(
1197 void HealthComponentBase ::
1198 HLTH_CHNG_PING_preMsgHook(
1212 void HealthComponentBase ::
1217 if (this->m_Time_OutputPort[0].isConnected()) {
1218 this->m_Time_OutputPort[0].invoke(_logTime);
1223 _id = this->getIdBase() + EVENTID_HLTH_PING_WARN;
1226 if (this->m_Log_OutputPort[0].isConnected()) {
1230#if FW_AMPCS_COMPATIBLE
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(
1284 void HealthComponentBase ::
1289 if (this->m_Time_OutputPort[0].isConnected()) {
1290 this->m_Time_OutputPort[0].invoke(_logTime);
1295 _id = this->getIdBase() + EVENTID_HLTH_PING_LATE;
1298 if (this->m_Log_OutputPort[0].isConnected()) {
1302#if FW_AMPCS_COMPATIBLE
1304 _status = _logBuff.
serialize(
static_cast<U8>(1 + 1));
1317 _status = _logBuff.
serialize(
static_cast<U32
>(0));
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(
1369 void HealthComponentBase ::
1370 log_FATAL_HLTH_PING_WRONG_KEY(
1377 if (this->m_Time_OutputPort[0].isConnected()) {
1378 this->m_Time_OutputPort[0].invoke(_logTime);
1383 _id = this->getIdBase() + EVENTID_HLTH_PING_WRONG_KEY;
1386 if (this->m_Log_OutputPort[0].isConnected()) {
1390#if FW_AMPCS_COMPATIBLE
1392 _status = _logBuff.
serialize(
static_cast<U8>(2 + 1));
1405 _status = _logBuff.
serialize(
static_cast<U32
>(0));
1418#if FW_AMPCS_COMPATIBLE
1421 static_cast<U8>(
sizeof(U32))
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(
1474 void HealthComponentBase ::
1475 log_ACTIVITY_HI_HLTH_CHECK_ENABLE(
Fw::Enabled enabled)
const
1479 if (this->m_Time_OutputPort[0].isConnected()) {
1480 this->m_Time_OutputPort[0].invoke(_logTime);
1485 _id = this->getIdBase() + EVENTID_HLTH_CHECK_ENABLE;
1488 if (this->m_Log_OutputPort[0].isConnected()) {
1492#if FW_AMPCS_COMPATIBLE
1501#if FW_AMPCS_COMPATIBLE
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(
1559 void HealthComponentBase ::
1560 log_ACTIVITY_HI_HLTH_CHECK_PING(
1567 if (this->m_Time_OutputPort[0].isConnected()) {
1568 this->m_Time_OutputPort[0].invoke(_logTime);
1573 _id = this->getIdBase() + EVENTID_HLTH_CHECK_PING;
1576 if (this->m_Log_OutputPort[0].isConnected()) {
1580#if FW_AMPCS_COMPATIBLE
1589#if FW_AMPCS_COMPATIBLE
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(
1654 void HealthComponentBase ::
1655 log_WARNING_LO_HLTH_CHECK_LOOKUP_ERROR(
const Fw::StringBase& entry)
const
1659 if (this->m_Time_OutputPort[0].isConnected()) {
1660 this->m_Time_OutputPort[0].invoke(_logTime);
1665 _id = this->getIdBase() + EVENTID_HLTH_CHECK_LOOKUP_ERROR;
1668 if (this->m_Log_OutputPort[0].isConnected()) {
1672#if FW_AMPCS_COMPATIBLE
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(
1726 void HealthComponentBase ::
1727 log_ACTIVITY_HI_HLTH_PING_UPDATED(
1735 if (this->m_Time_OutputPort[0].isConnected()) {
1736 this->m_Time_OutputPort[0].invoke(_logTime);
1741 _id = this->getIdBase() + EVENTID_HLTH_PING_UPDATED;
1744 if (this->m_Log_OutputPort[0].isConnected()) {
1748#if FW_AMPCS_COMPATIBLE
1763#if FW_AMPCS_COMPATIBLE
1766 static_cast<U8>(
sizeof(U32))
1779#if FW_AMPCS_COMPATIBLE
1782 static_cast<U8>(
sizeof(U32))
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(
1836 void HealthComponentBase ::
1837 log_WARNING_HI_HLTH_PING_INVALID_VALUES(
1845 if (this->m_Time_OutputPort[0].isConnected()) {
1846 this->m_Time_OutputPort[0].invoke(_logTime);
1851 _id = this->getIdBase() + EVENTID_HLTH_PING_INVALID_VALUES;
1854 if (this->m_Log_OutputPort[0].isConnected()) {
1858#if FW_AMPCS_COMPATIBLE
1873#if FW_AMPCS_COMPATIBLE
1876 static_cast<U8>(
sizeof(U32))
1889#if FW_AMPCS_COMPATIBLE
1892 static_cast<U8>(
sizeof(U32))
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(
1950 void HealthComponentBase ::
1951 tlmWrite_PingLateWarnings(
1956 if (this->m_Tlm_OutputPort[0].isConnected()) {
1958 this->m_Time_OutputPort[0].isConnected() &&
1961 this->m_Time_OutputPort[0].invoke(_tlmTime);
1973 _id = this->getIdBase() + CHANNELID_PINGLATEWARNINGS;
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;
2035 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
2037 if (msgType == HEALTH_COMPONENT_EXIT) {
2038 return MSG_DISPATCH_EXIT;
2042 deserStatus = msg.deserialize(portNum);
2050 case PINGRETURN_PING: {
2053 deserStatus = msg.deserialize(key);
2059 this->PingReturn_handler(
2068 case CMD_HLTH_ENABLE: {
2071 deserStatus = msg.deserialize(opCode);
2079 deserStatus = msg.deserialize(cmdSeq);
2087 deserStatus = msg.deserialize(args);
2100 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2101 this->cmdResponse_out(
2113#if FW_CMD_CHECK_RESIDUAL
2115 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2124 this->HLTH_ENABLE_cmdHandler(
2133 case CMD_HLTH_PING_ENABLE: {
2136 deserStatus = msg.deserialize(opCode);
2144 deserStatus = msg.deserialize(cmdSeq);
2152 deserStatus = msg.deserialize(args);
2165 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2166 this->cmdResponse_out(
2180 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2181 this->cmdResponse_out(
2193#if FW_CMD_CHECK_RESIDUAL
2195 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2204 this->HLTH_PING_ENABLE_cmdHandler(
2214 case CMD_HLTH_CHNG_PING: {
2217 deserStatus = msg.deserialize(opCode);
2225 deserStatus = msg.deserialize(cmdSeq);
2233 deserStatus = msg.deserialize(args);
2246 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2247 this->cmdResponse_out(
2261 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2262 this->cmdResponse_out(
2276 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2277 this->cmdResponse_out(
2289#if FW_CMD_CHECK_RESIDUAL
2291 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
2300 this->HLTH_CHNG_PING_cmdHandler(
2311 return MSG_DISPATCH_ERROR;
2314 return MSG_DISPATCH_OK;
2321 void HealthComponentBase ::
2333 const U32 idBase = callComp->
getIdBase();
2337 switch (opCode - idBase) {
2338 case OPCODE_HLTH_ENABLE: {
2347 case OPCODE_HLTH_PING_ENABLE: {
2356 case OPCODE_HLTH_CHNG_PING: {
2371 void HealthComponentBase ::
2379 HealthComponentBase* compPtr =
static_cast<HealthComponentBase*
>(callComp);
2386 void HealthComponentBase ::
2394 HealthComponentBase* compPtr =
static_cast<HealthComponentBase*
>(callComp);
2395 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)/*#en...
@ 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
@ MSG_DISPATCH_EMPTY
No more messages in the queue.
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
void format(const CHAR *formatString,...)
write formatted string to buffer
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
virtual const CHAR * toChar() const =0
const char * toChar() const
@ NONBLOCKING
Message will return with status when space is unavailable.
Status
status returned from the queue send function
@ EMPTY
If non-blocking, all the messages have been drained.
@ OP_OK
message sent/received okay
Auto-generated base for Health component.
void HLTH_PING_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void HLTH_CHNG_PING_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void PingReturn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port PingReturn.
void HLTH_ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.