9 #if FW_ENABLE_TEXT_LOGGING 20 CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE,
21 CONTROLIN_ENABLESECTION,
28 CMD_CONFIGURE_GROUP_RATES,
43 class ComponentIpcSerializableBuffer :
53 MAX_DATA_SIZE =
sizeof(BuffUnion),
55 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
59 return sizeof(m_buff);
66 const U8* getBuffAddr()
const {
72 U8 m_buff[SERIALIZATION_SIZE];
96 this->m_cmdIn_InputPort[port].
init();
101 this->m_cmdIn_InputPort[port].
setPortNum(port);
103 #if FW_OBJECT_NAMES == 1 107 this->m_objName.toChar(),
110 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
120 this->m_Run_InputPort[port].
init();
127 #if FW_OBJECT_NAMES == 1 131 this->m_objName.toChar(),
134 this->m_Run_InputPort[port].setObjName(portName.
toChar());
144 this->m_TlmGet_InputPort[port].
init();
149 this->m_TlmGet_InputPort[port].
setPortNum(port);
151 #if FW_OBJECT_NAMES == 1 155 this->m_objName.toChar(),
158 this->m_TlmGet_InputPort[port].setObjName(portName.
toChar());
168 this->m_TlmRecv_InputPort[port].
init();
173 this->m_TlmRecv_InputPort[port].
setPortNum(port);
175 #if FW_OBJECT_NAMES == 1 179 this->m_objName.toChar(),
182 this->m_TlmRecv_InputPort[port].setObjName(portName.
toChar());
192 this->m_configureSectionGroupRate_InputPort[port].
init();
193 this->m_configureSectionGroupRate_InputPort[port].
addCallComp(
195 m_p_configureSectionGroupRate_in
197 this->m_configureSectionGroupRate_InputPort[port].
setPortNum(port);
199 #if FW_OBJECT_NAMES == 1 203 this->m_objName.toChar(),
206 this->m_configureSectionGroupRate_InputPort[port].setObjName(portName.
toChar());
216 this->m_controlIn_InputPort[port].
init();
221 this->m_controlIn_InputPort[port].
setPortNum(port);
223 #if FW_OBJECT_NAMES == 1 227 this->m_objName.toChar(),
230 this->m_controlIn_InputPort[port].setObjName(portName.
toChar());
240 this->m_pingIn_InputPort[port].
init();
245 this->m_pingIn_InputPort[port].
setPortNum(port);
247 #if FW_OBJECT_NAMES == 1 251 this->m_objName.toChar(),
254 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
264 this->m_cmdRegOut_OutputPort[port].
init();
266 #if FW_OBJECT_NAMES == 1 270 this->m_objName.toChar(),
273 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
283 this->m_cmdResponseOut_OutputPort[port].
init();
285 #if FW_OBJECT_NAMES == 1 289 this->m_objName.toChar(),
292 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
302 this->m_eventOut_OutputPort[port].
init();
304 #if FW_OBJECT_NAMES == 1 308 this->m_objName.toChar(),
311 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
315 #if FW_ENABLE_TEXT_LOGGING == 1 319 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
322 this->m_textEventOut_OutputPort[port].
init();
324 #if FW_OBJECT_NAMES == 1 328 this->m_objName.toChar(),
331 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
342 this->m_timeGetOut_OutputPort[port].
init();
344 #if FW_OBJECT_NAMES == 1 348 this->m_objName.toChar(),
351 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
361 this->m_tlmOut_OutputPort[port].
init();
363 #if FW_OBJECT_NAMES == 1 367 this->m_objName.toChar(),
370 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
380 this->m_PktSend_OutputPort[port].
init();
382 #if FW_OBJECT_NAMES == 1 386 this->m_objName.toChar(),
389 this->m_PktSend_OutputPort[port].setObjName(portName.
toChar());
399 this->m_pingOut_OutputPort[port].
init();
401 #if FW_OBJECT_NAMES == 1 405 this->m_objName.toChar(),
408 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
415 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
419 static_cast<FwAssertArgType>(qStat)
432 static_cast<FwAssertArgType>(portNum)
435 return &this->m_cmdIn_InputPort[portNum];
447 static_cast<FwAssertArgType>(portNum)
450 return &this->m_Run_InputPort[portNum];
458 static_cast<FwAssertArgType>(portNum)
461 return &this->m_TlmGet_InputPort[portNum];
469 static_cast<FwAssertArgType>(portNum)
472 return &this->m_TlmRecv_InputPort[portNum];
480 static_cast<FwAssertArgType>(portNum)
483 return &this->m_configureSectionGroupRate_InputPort[portNum];
491 static_cast<FwAssertArgType>(portNum)
494 return &this->m_controlIn_InputPort[portNum];
502 static_cast<FwAssertArgType>(portNum)
505 return &this->m_pingIn_InputPort[portNum];
520 static_cast<FwAssertArgType>(portNum)
523 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
534 static_cast<FwAssertArgType>(portNum)
537 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
548 static_cast<FwAssertArgType>(portNum)
551 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
554 #if FW_ENABLE_TEXT_LOGGING == 1 556 void TlmPacketizerComponentBase ::
557 set_textEventOut_OutputPort(
563 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
564 static_cast<FwAssertArgType>(portNum)
567 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
580 static_cast<FwAssertArgType>(portNum)
583 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
594 static_cast<FwAssertArgType>(portNum)
597 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
612 static_cast<FwAssertArgType>(portNum)
615 this->m_PktSend_OutputPort[portNum].
addCallPort(port);
626 static_cast<FwAssertArgType>(portNum)
629 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
632 #if FW_PORT_SERIALIZATION 641 Fw::InputSerializePort* port
646 static_cast<FwAssertArgType>(portNum)
649 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
655 Fw::InputSerializePort* port
660 static_cast<FwAssertArgType>(portNum)
663 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
669 Fw::InputSerializePort* port
674 static_cast<FwAssertArgType>(portNum)
677 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
680 #if FW_ENABLE_TEXT_LOGGING == 1 682 void TlmPacketizerComponentBase ::
683 set_textEventOut_OutputPort(
685 Fw::InputSerializePort* port
689 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
690 static_cast<FwAssertArgType>(portNum)
693 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
701 Fw::InputSerializePort* port
706 static_cast<FwAssertArgType>(portNum)
709 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
715 Fw::InputSerializePort* port
720 static_cast<FwAssertArgType>(portNum)
723 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
728 #if FW_PORT_SERIALIZATION 737 Fw::InputSerializePort* port
742 static_cast<FwAssertArgType>(portNum)
745 this->m_PktSend_OutputPort[portNum].registerSerialPort(port);
751 Fw::InputSerializePort* port
756 static_cast<FwAssertArgType>(portNum)
759 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
771 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
773 this->m_cmdRegOut_OutputPort[0].
invoke(
777 this->m_cmdRegOut_OutputPort[0].
invoke(
781 this->m_cmdRegOut_OutputPort[0].
invoke(
785 this->m_cmdRegOut_OutputPort[0].
invoke(
789 this->m_cmdRegOut_OutputPort[0].
invoke(
793 this->m_cmdRegOut_OutputPort[0].
invoke(
804 Fw::ActiveComponentBase(compName)
824 static_cast<FwAssertArgType>(portNum)
827 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
835 static_cast<FwAssertArgType>(portNum)
838 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
846 static_cast<FwAssertArgType>(portNum)
849 return this->m_eventOut_OutputPort[portNum].
isConnected();
852 #if FW_ENABLE_TEXT_LOGGING == 1 854 bool TlmPacketizerComponentBase ::
855 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
858 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
859 static_cast<FwAssertArgType>(portNum)
862 return this->m_textEventOut_OutputPort[portNum].isConnected();
872 static_cast<FwAssertArgType>(portNum)
875 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
883 static_cast<FwAssertArgType>(portNum)
886 return this->m_tlmOut_OutputPort[portNum].
isConnected();
898 static_cast<FwAssertArgType>(portNum)
901 return this->m_PktSend_OutputPort[portNum].
isConnected();
909 static_cast<FwAssertArgType>(portNum)
912 return this->m_pingOut_OutputPort[portNum].
isConnected();
930 static_cast<FwAssertArgType>(portNum)
938 ComponentIpcSerializableBuffer msg;
942 _status = msg.serializeFrom(
943 static_cast<FwEnumStoreType>(RUN_SCHED)
947 static_cast<FwAssertArgType>(_status)
951 _status = msg.serializeFrom(portNum);
954 static_cast<FwAssertArgType>(_status)
958 _status = msg.serializeFrom(context);
961 static_cast<FwAssertArgType>(_status)
970 static_cast<FwAssertArgType>(qStatus)
985 static_cast<FwAssertArgType>(portNum)
1012 static_cast<FwAssertArgType>(portNum)
1037 static_cast<FwAssertArgType>(portNum)
1049 ComponentIpcSerializableBuffer msg;
1053 _status = msg.serializeFrom(
1054 static_cast<FwEnumStoreType>(CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE)
1058 static_cast<FwAssertArgType>(_status)
1062 _status = msg.serializeFrom(portNum);
1065 static_cast<FwAssertArgType>(_status)
1069 _status = msg.serializeFrom(section);
1072 static_cast<FwAssertArgType>(_status)
1076 _status = msg.serializeFrom(tlmGroup);
1079 static_cast<FwAssertArgType>(_status)
1083 _status = msg.serializeFrom(rateLogic);
1086 static_cast<FwAssertArgType>(_status)
1090 _status = msg.serializeFrom(minDelta);
1093 static_cast<FwAssertArgType>(_status)
1097 _status = msg.serializeFrom(maxDelta);
1100 static_cast<FwAssertArgType>(_status)
1109 static_cast<FwAssertArgType>(qStatus)
1123 static_cast<FwAssertArgType>(portNum)
1132 ComponentIpcSerializableBuffer msg;
1136 _status = msg.serializeFrom(
1137 static_cast<FwEnumStoreType>(CONTROLIN_ENABLESECTION)
1141 static_cast<FwAssertArgType>(_status)
1145 _status = msg.serializeFrom(portNum);
1148 static_cast<FwAssertArgType>(_status)
1152 _status = msg.serializeFrom(section);
1155 static_cast<FwAssertArgType>(_status)
1159 _status = msg.serializeFrom(enabled);
1162 static_cast<FwAssertArgType>(_status)
1171 static_cast<FwAssertArgType>(qStatus)
1184 static_cast<FwAssertArgType>(portNum)
1192 ComponentIpcSerializableBuffer msg;
1196 _status = msg.serializeFrom(
1197 static_cast<FwEnumStoreType>(PINGIN_PING)
1201 static_cast<FwAssertArgType>(_status)
1205 _status = msg.serializeFrom(portNum);
1208 static_cast<FwAssertArgType>(_status)
1212 _status = msg.serializeFrom(key);
1215 static_cast<FwAssertArgType>(_status)
1224 static_cast<FwAssertArgType>(qStatus)
1290 static_cast<FwAssertArgType>(portNum)
1294 this->m_PktSend_OutputPort[portNum].isConnected(),
1295 static_cast<FwAssertArgType>(portNum)
1297 this->m_PktSend_OutputPort[portNum].
invoke(
1311 static_cast<FwAssertArgType>(portNum)
1315 this->m_pingOut_OutputPort[portNum].isConnected(),
1316 static_cast<FwAssertArgType>(portNum)
1318 this->m_pingOut_OutputPort[portNum].
invoke(
1334 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1335 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1356 ComponentIpcSerializableBuffer msg;
1360 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SET_LEVEL));
1363 static_cast<FwAssertArgType>(_status)
1369 _status = msg.serializeFrom(port);
1372 static_cast<FwAssertArgType>(_status)
1375 _status = msg.serializeFrom(opCode);
1378 static_cast<FwAssertArgType>(_status)
1381 _status = msg.serializeFrom(cmdSeq);
1384 static_cast<FwAssertArgType>(_status)
1387 _status = msg.serializeFrom(args);
1390 static_cast<FwAssertArgType>(_status)
1399 static_cast<FwAssertArgType>(qStatus)
1415 ComponentIpcSerializableBuffer msg;
1419 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SEND_PKT));
1422 static_cast<FwAssertArgType>(_status)
1428 _status = msg.serializeFrom(port);
1431 static_cast<FwAssertArgType>(_status)
1434 _status = msg.serializeFrom(opCode);
1437 static_cast<FwAssertArgType>(_status)
1440 _status = msg.serializeFrom(cmdSeq);
1443 static_cast<FwAssertArgType>(_status)
1446 _status = msg.serializeFrom(args);
1449 static_cast<FwAssertArgType>(_status)
1458 static_cast<FwAssertArgType>(qStatus)
1474 ComponentIpcSerializableBuffer msg;
1478 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_SECTION));
1481 static_cast<FwAssertArgType>(_status)
1487 _status = msg.serializeFrom(port);
1490 static_cast<FwAssertArgType>(_status)
1493 _status = msg.serializeFrom(opCode);
1496 static_cast<FwAssertArgType>(_status)
1499 _status = msg.serializeFrom(cmdSeq);
1502 static_cast<FwAssertArgType>(_status)
1505 _status = msg.serializeFrom(args);
1508 static_cast<FwAssertArgType>(_status)
1517 static_cast<FwAssertArgType>(qStatus)
1533 ComponentIpcSerializableBuffer msg;
1537 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_GROUP));
1540 static_cast<FwAssertArgType>(_status)
1546 _status = msg.serializeFrom(port);
1549 static_cast<FwAssertArgType>(_status)
1552 _status = msg.serializeFrom(opCode);
1555 static_cast<FwAssertArgType>(_status)
1558 _status = msg.serializeFrom(cmdSeq);
1561 static_cast<FwAssertArgType>(_status)
1564 _status = msg.serializeFrom(args);
1567 static_cast<FwAssertArgType>(_status)
1576 static_cast<FwAssertArgType>(qStatus)
1592 ComponentIpcSerializableBuffer msg;
1596 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FORCE_GROUP));
1599 static_cast<FwAssertArgType>(_status)
1605 _status = msg.serializeFrom(port);
1608 static_cast<FwAssertArgType>(_status)
1611 _status = msg.serializeFrom(opCode);
1614 static_cast<FwAssertArgType>(_status)
1617 _status = msg.serializeFrom(cmdSeq);
1620 static_cast<FwAssertArgType>(_status)
1623 _status = msg.serializeFrom(args);
1626 static_cast<FwAssertArgType>(_status)
1635 static_cast<FwAssertArgType>(qStatus)
1651 ComponentIpcSerializableBuffer msg;
1655 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CONFIGURE_GROUP_RATES));
1658 static_cast<FwAssertArgType>(_status)
1664 _status = msg.serializeFrom(port);
1667 static_cast<FwAssertArgType>(_status)
1670 _status = msg.serializeFrom(opCode);
1673 static_cast<FwAssertArgType>(_status)
1676 _status = msg.serializeFrom(cmdSeq);
1679 static_cast<FwAssertArgType>(_status)
1682 _status = msg.serializeFrom(args);
1685 static_cast<FwAssertArgType>(_status)
1694 static_cast<FwAssertArgType>(qStatus)
1781 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1782 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1790 if (this->m_eventOut_OutputPort[0].isConnected()) {
1794 #if FW_AMPCS_COMPATIBLE 1799 static_cast<FwAssertArgType>(_status)
1803 #if FW_AMPCS_COMPATIBLE 1810 static_cast<FwAssertArgType>(_status)
1816 static_cast<FwAssertArgType>(_status)
1819 this->m_eventOut_OutputPort[0].
invoke(
1828 #if FW_ENABLE_TEXT_LOGGING 1829 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1830 #if FW_OBJECT_NAMES == 1 1831 const char* _formatString =
1832 "(%s) %s: Telemetry ID 0x%" PRIx32
" not packetized";
1834 const char* _formatString =
1835 "%s: Telemetry ID 0x%" PRIx32
" not packetized";
1842 this->m_objName.toChar(),
1848 this->m_textEventOut_OutputPort[0].invoke(
1863 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1864 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1872 if (this->m_eventOut_OutputPort[0].isConnected()) {
1876 #if FW_AMPCS_COMPATIBLE 1881 static_cast<FwAssertArgType>(_status)
1885 #if FW_AMPCS_COMPATIBLE 1892 static_cast<FwAssertArgType>(_status)
1898 static_cast<FwAssertArgType>(_status)
1901 this->m_eventOut_OutputPort[0].
invoke(
1910 #if FW_ENABLE_TEXT_LOGGING 1911 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1912 #if FW_OBJECT_NAMES == 1 1913 const char* _formatString =
1914 "(%s) %s: Telemetry send level to %" PRIu32
"";
1916 const char* _formatString =
1917 "%s: Telemetry send level to %" PRIu32
"";
1924 this->m_objName.toChar(),
1930 this->m_textEventOut_OutputPort[0].invoke(
1948 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1949 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1957 if (this->m_eventOut_OutputPort[0].isConnected()) {
1961 #if FW_AMPCS_COMPATIBLE 1966 static_cast<FwAssertArgType>(_status)
1970 #if FW_AMPCS_COMPATIBLE 1977 static_cast<FwAssertArgType>(_status)
1983 static_cast<FwAssertArgType>(_status)
1986 #if FW_AMPCS_COMPATIBLE 1993 static_cast<FwAssertArgType>(_status)
1999 static_cast<FwAssertArgType>(_status)
2002 this->m_eventOut_OutputPort[0].
invoke(
2011 #if FW_ENABLE_TEXT_LOGGING 2012 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2013 #if FW_OBJECT_NAMES == 1 2014 const char* _formatString =
2015 "(%s) %s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2017 const char* _formatString =
2018 "%s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2025 this->m_objName.toChar(),
2032 this->m_textEventOut_OutputPort[0].invoke(
2047 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
2048 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
2056 if (this->m_eventOut_OutputPort[0].isConnected()) {
2060 #if FW_AMPCS_COMPATIBLE 2065 static_cast<FwAssertArgType>(_status)
2069 #if FW_AMPCS_COMPATIBLE 2072 static_cast<U8>(
sizeof(U32))
2076 static_cast<FwAssertArgType>(_status)
2082 static_cast<FwAssertArgType>(_status)
2085 this->m_eventOut_OutputPort[0].
invoke(
2094 #if FW_ENABLE_TEXT_LOGGING 2095 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2096 #if FW_OBJECT_NAMES == 1 2097 const char* _formatString =
2098 "(%s) %s: Sent packet ID %" PRIu32
"";
2100 const char* _formatString =
2101 "%s: Sent packet ID %" PRIu32
"";
2108 this->m_objName.toChar(),
2114 this->m_textEventOut_OutputPort[0].invoke(
2129 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
2130 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
2138 if (this->m_eventOut_OutputPort[0].isConnected()) {
2142 #if FW_AMPCS_COMPATIBLE 2147 static_cast<FwAssertArgType>(_status)
2151 #if FW_AMPCS_COMPATIBLE 2154 static_cast<U8>(
sizeof(U32))
2158 static_cast<FwAssertArgType>(_status)
2164 static_cast<FwAssertArgType>(_status)
2167 this->m_eventOut_OutputPort[0].
invoke(
2176 #if FW_ENABLE_TEXT_LOGGING 2177 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2178 #if FW_OBJECT_NAMES == 1 2179 const char* _formatString =
2180 "(%s) %s: Could not find packet ID %" PRIu32
"";
2182 const char* _formatString =
2183 "%s: Could not find packet ID %" PRIu32
"";
2190 this->m_objName.toChar(),
2196 this->m_textEventOut_OutputPort[0].invoke(
2214 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
2215 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
2223 if (this->m_eventOut_OutputPort[0].isConnected()) {
2227 #if FW_AMPCS_COMPATIBLE 2232 static_cast<FwAssertArgType>(_status)
2236 #if FW_AMPCS_COMPATIBLE 2243 static_cast<FwAssertArgType>(_status)
2249 static_cast<FwAssertArgType>(_status)
2252 #if FW_AMPCS_COMPATIBLE 2259 static_cast<FwAssertArgType>(_status)
2265 static_cast<FwAssertArgType>(_status)
2268 this->m_eventOut_OutputPort[0].
invoke(
2277 #if FW_ENABLE_TEXT_LOGGING 2278 if (this->m_textEventOut_OutputPort[0].isConnected()) {
2279 #if FW_OBJECT_NAMES == 1 2280 const char* _formatString =
2281 "(%s) %s: Section %s is unconfigurable and cannot be set to %s";
2283 const char* _formatString =
2284 "%s: Section %s is unconfigurable and cannot be set to %s";
2288 section.toString(sectionStr);
2290 enable.toString(enableStr);
2296 this->m_objName.toChar(),
2298 "SectionUnconfigurable ",
2303 this->m_textEventOut_OutputPort[0].invoke(
2323 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2325 this->m_timeGetOut_OutputPort[0].isConnected() &&
2328 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
2335 static_cast<FwAssertArgType>(_stat)
2342 this->m_tlmOut_OutputPort[0].
invoke(
2356 if (this->m_tlmOut_OutputPort[0].isConnected()) {
2358 this->m_timeGetOut_OutputPort[0].isConnected() &&
2361 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
2368 static_cast<FwAssertArgType>(_stat)
2375 this->m_tlmOut_OutputPort[0].
invoke(
2390 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
2392 this->m_timeGetOut_OutputPort[0].
invoke(_time);
2407 ComponentIpcSerializableBuffer _msg;
2417 static_cast<FwAssertArgType>(_msgStatus)
2427 static_cast<FwAssertArgType>(_deserStatus)
2430 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2432 if (_msgType == TLMPACKETIZER_COMPONENT_EXIT) {
2437 _deserStatus = _msg.deserializeTo(portNum);
2440 static_cast<FwAssertArgType>(_deserStatus)
2448 _deserStatus = _msg.deserializeTo(context);
2451 static_cast<FwAssertArgType>(_deserStatus)
2463 case CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE: {
2466 _deserStatus = _msg.deserializeTo(section);
2469 static_cast<FwAssertArgType>(_deserStatus)
2474 _deserStatus = _msg.deserializeTo(tlmGroup);
2477 static_cast<FwAssertArgType>(_deserStatus)
2482 _deserStatus = _msg.deserializeTo(rateLogic);
2485 static_cast<FwAssertArgType>(_deserStatus)
2490 _deserStatus = _msg.deserializeTo(minDelta);
2493 static_cast<FwAssertArgType>(_deserStatus)
2498 _deserStatus = _msg.deserializeTo(maxDelta);
2501 static_cast<FwAssertArgType>(_deserStatus)
2517 case CONTROLIN_ENABLESECTION: {
2520 _deserStatus = _msg.deserializeTo(section);
2523 static_cast<FwAssertArgType>(_deserStatus)
2528 _deserStatus = _msg.deserializeTo(enabled);
2531 static_cast<FwAssertArgType>(_deserStatus)
2547 _deserStatus = _msg.deserializeTo(key);
2550 static_cast<FwAssertArgType>(_deserStatus)
2562 case CMD_SET_LEVEL: {
2565 _deserStatus = _msg.deserializeTo(_opCode);
2568 static_cast<FwAssertArgType>(_deserStatus)
2573 _deserStatus = _msg.deserializeTo(_cmdSeq);
2576 static_cast<FwAssertArgType>(_deserStatus)
2581 _deserStatus = _msg.deserializeTo(args);
2584 static_cast<FwAssertArgType>(_deserStatus)
2594 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2607 #if FW_CMD_CHECK_RESIDUAL 2609 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2627 case CMD_SEND_PKT: {
2630 _deserStatus = _msg.deserializeTo(_opCode);
2633 static_cast<FwAssertArgType>(_deserStatus)
2638 _deserStatus = _msg.deserializeTo(_cmdSeq);
2641 static_cast<FwAssertArgType>(_deserStatus)
2646 _deserStatus = _msg.deserializeTo(args);
2649 static_cast<FwAssertArgType>(_deserStatus)
2659 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2674 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2687 #if FW_CMD_CHECK_RESIDUAL 2689 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2708 case CMD_ENABLE_SECTION: {
2711 _deserStatus = _msg.deserializeTo(_opCode);
2714 static_cast<FwAssertArgType>(_deserStatus)
2719 _deserStatus = _msg.deserializeTo(_cmdSeq);
2722 static_cast<FwAssertArgType>(_deserStatus)
2727 _deserStatus = _msg.deserializeTo(args);
2730 static_cast<FwAssertArgType>(_deserStatus)
2740 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2755 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2768 #if FW_CMD_CHECK_RESIDUAL 2770 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2789 case CMD_ENABLE_GROUP: {
2792 _deserStatus = _msg.deserializeTo(_opCode);
2795 static_cast<FwAssertArgType>(_deserStatus)
2800 _deserStatus = _msg.deserializeTo(_cmdSeq);
2803 static_cast<FwAssertArgType>(_deserStatus)
2808 _deserStatus = _msg.deserializeTo(args);
2811 static_cast<FwAssertArgType>(_deserStatus)
2821 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2836 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2851 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2864 #if FW_CMD_CHECK_RESIDUAL 2866 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2886 case CMD_FORCE_GROUP: {
2889 _deserStatus = _msg.deserializeTo(_opCode);
2892 static_cast<FwAssertArgType>(_deserStatus)
2897 _deserStatus = _msg.deserializeTo(_cmdSeq);
2900 static_cast<FwAssertArgType>(_deserStatus)
2905 _deserStatus = _msg.deserializeTo(args);
2908 static_cast<FwAssertArgType>(_deserStatus)
2918 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2933 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2948 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2961 #if FW_CMD_CHECK_RESIDUAL 2963 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2983 case CMD_CONFIGURE_GROUP_RATES: {
2986 _deserStatus = _msg.deserializeTo(_opCode);
2989 static_cast<FwAssertArgType>(_deserStatus)
2994 _deserStatus = _msg.deserializeTo(_cmdSeq);
2997 static_cast<FwAssertArgType>(_deserStatus)
3002 _deserStatus = _msg.deserializeTo(args);
3005 static_cast<FwAssertArgType>(_deserStatus)
3015 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3030 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3045 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3060 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3075 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3088 #if FW_CMD_CHECK_RESIDUAL 3090 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
3122 void TlmPacketizerComponentBase ::
3134 const U32 idBase = callComp->
getIdBase();
3135 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
3138 switch (opCode - idBase) {
3140 compPtr->SET_LEVEL_cmdHandlerBase(
3149 compPtr->SEND_PKT_cmdHandlerBase(
3158 compPtr->ENABLE_SECTION_cmdHandlerBase(
3167 compPtr->ENABLE_GROUP_cmdHandlerBase(
3176 compPtr->FORCE_GROUP_cmdHandlerBase(
3185 compPtr->CONFIGURE_GROUP_RATES_cmdHandlerBase(
3199 void TlmPacketizerComponentBase ::
3208 compPtr->Run_handlerBase(
3225 return compPtr->TlmGet_handlerBase(
3233 void TlmPacketizerComponentBase ::
3244 compPtr->TlmRecv_handlerBase(
3252 void TlmPacketizerComponentBase ::
3253 m_p_configureSectionGroupRate_in(
3265 compPtr->configureSectionGroupRate_handlerBase(
3275 void TlmPacketizerComponentBase ::
3285 compPtr->controlIn_handlerBase(
3292 void TlmPacketizerComponentBase ::
3301 compPtr->pingIn_handlerBase(
Serialization/Deserialization operation was successful.
void SEND_PKT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Set telemetry send level.
void addCallPort(InputTimePort *callPort)
Register an input port.
Svc::InputEnableSectionPort * get_controlIn_InputPort(FwIndexType portNum)
void invoke(Fw::ComBuffer &data, U32 context) const
Invoke a port interface.
void init()
Initialization function.
void set_PktSend_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to PktSend[portNum].
FwIdType FwOpcodeType
The type of a command opcode.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
void tlmWrite_GroupConfigs(const Svc::TlmPacketizer_SectionConfigs &arg, Fw::Time _tlmTime=Fw::Time()) const
void FORCE_GROUP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
Svc::InputConfigureGroupRatePort * get_configureSectionGroupRate_InputPort(FwIndexType portNum)
virtual void TlmRecv_handler(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)=0
Handler for input port TlmRecv.
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
Status
status returned from the queue send function
static constexpr FwIndexType getNum_PktSend_OutputPorts()
const char * toChar() const
Convert to a C-style char*.
void log_WARNING_LO_NoChan(FwChanIdType Id) const
static constexpr FwIndexType getNum_pingIn_InputPorts()
virtual void configureSectionGroupRate_handler(FwIndexType portNum, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Svc::RateLogic &rateLogic, U32 minDelta, U32 maxDelta)=0
Handler for input port configureSectionGroupRate.
virtual void FORCE_GROUP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::TelemetrySection section, FwChanIdType tlmGroup, Fw::Enabled enable)=0
void invoke(U32 key) const
Invoke a port interface.
void TlmRecv_handlerBase(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Handler base-class function for input port TlmRecv.
void controlIn_handlerBase(FwIndexType portNum, const Svc::TelemetrySection §ion, const Fw::Enabled &enabled)
Handler base-class function for input port controlIn.
Couldn't find the packet to send.
void PktSend_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port PktSend.
virtual void controlIn_handler(FwIndexType portNum, const Svc::TelemetrySection §ion, const Fw::Enabled &enabled)=0
Handler for input port controlIn.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
virtual void SEND_PKT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 id, Svc::TelemetrySection section)=0
void init()
Initialization function.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Enum representing a command response.
No time base has been established (Required)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
virtual void SET_LEVEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, FwChanIdType level)=0
Os::Queue m_queue
queue object for active component
Channel ID for GroupConfigs.
void addCallPort(InputTlmPort *callPort)
Register an input port.
virtual ~TlmPacketizerComponentBase()
Destroy TlmPacketizerComponentBase object.
void tlmWrite_SectionEnabled(const Svc::TlmPacketizer_SectionEnabled &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel SectionEnabled.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void init()
Object initializer.
virtual void CONFIGURE_GROUP_RATES_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::TelemetrySection section, FwChanIdType tlmGroup, Svc::RateLogic rateLogic, U32 minDelta, U32 maxDelta)=0
SerializeStatus
forward declaration for string
Message will block until space is available.
virtual void configureSectionGroupRate_preMsgHook(FwIndexType portNum, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Svc::RateLogic &rateLogic, U32 minDelta, U32 maxDelta)
Pre-message hook for async input port configureSectionGroupRate.
Enable / disable telemetry of a group on a section.
FwIdType FwEventIdType
The type of an event identifier.
virtual void FORCE_GROUP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FORCE_GROUP.
message to exit active component task
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
Force a packet to be sent.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Fw::InputTlmGetPort * get_TlmGet_InputPort(FwIndexType portNum)
Channel ID for SectionEnabled.
virtual void CONFIGURE_GROUP_RATES_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CONFIGURE_GROUP_RATES.
Set Min and Max Deltas between successive packets.
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
virtual void Run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port Run.
Enumeration for rate logic types for telemetry groups.
A less serious but recoverable event.
void init()
Initialization function.
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
void invoke(Fw::Time &time) const
Invoke a port interface.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
const char * toChar() const
Convert to a C-style char*.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
virtual void ENABLE_GROUP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::TelemetrySection section, FwChanIdType tlmGroup, Fw::Enabled enable)=0
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void addCallPort(InputPingPort *callPort)
Register an input port.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Enable / disable telemetry of a group on a section.
Telemetry send level set.
void log_WARNING_LO_PacketNotFound(U32 id) const
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
virtual void ENABLE_GROUP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command ENABLE_GROUP.
Errors dispatching messages.
The size of the serial representation.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
Telemetry channel is not part of a telemetry packet.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
virtual void ENABLE_SECTION_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::TelemetrySection section, Fw::Enabled enable)=0
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
Enabled and disabled states.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Fw::TlmValid TlmGet_handlerBase(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Handler base-class function for input port TlmGet.
void init()
Initialization function.
virtual void Run_handler(FwIndexType portNum, U32 context)=0
Handler for input port Run.
uint8_t U8
8-bit unsigned integer
static constexpr FwIndexType getNum_eventOut_OutputPorts()
void ENABLE_GROUP_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Important informational events.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
void log_WARNING_LO_SectionUnconfigurable(Svc::TelemetrySection section, Fw::Enabled enable) const
Log event SectionUnconfigurable.
Force telemetering a group on a section, even if disabled.
void log_WARNING_LO_MaxLevelExceed(FwChanIdType level, FwChanIdType max) const
virtual void controlIn_preMsgHook(FwIndexType portNum, const Svc::TelemetrySection §ion, const Fw::Enabled &enabled)
Pre-message hook for async input port controlIn.
A message was sent requesting an exit of the loop.
Telemetry send level set.
PlatformIndexType FwIndexType
TlmPacketizerComponentBase(const char *compName="")
Construct TlmPacketizerComponentBase object.
static constexpr FwIndexType getNum_configureSectionGroupRate_InputPorts()
void log_ACTIVITY_HI_LevelSet(FwChanIdType id) const
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
void addCallPort(InputLogPort *callPort)
Register an input port.
void ENABLE_SECTION_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void init()
Initialization function.
The size of the serial representation.
virtual void SEND_PKT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SEND_PKT.
void configureSectionGroupRate_handlerBase(FwIndexType portNum, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Svc::RateLogic &rateLogic, U32 minDelta, U32 maxDelta)
Handler base-class function for input port configureSectionGroupRate.
RateGroupDivider component implementation.
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
bool isConnected_PktSend_OutputPort(FwIndexType portNum)
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_TlmGet_InputPorts()
void addCallPort(InputComPort *callPort)
Register an input port.
Fw::InputTlmPort * get_TlmRecv_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_controlIn_InputPorts()
virtual void ENABLE_SECTION_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command ENABLE_SECTION.
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void regCommands()
Register commands with the Command Dispatcher.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
void CONFIGURE_GROUP_RATES_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void log_ACTIVITY_LO_PacketSent(U32 id) const
void SET_LEVEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void SET_LEVEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_LEVEL.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwIndexType getNum_Run_InputPorts()
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
virtual Fw::TlmValid TlmGet_handler(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)=0
Handler for input port TlmGet.
static constexpr FwIndexType getNum_TlmRecv_InputPorts()
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
static constexpr FwIndexType getNum_cmdIn_InputPorts()