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
58 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
64 U8 m_buff[SERIALIZATION_SIZE];
82 #if !FW_DIRECT_PORT_CALLS 89 this->m_cmdIn_InputPort[port].
init();
94 this->m_cmdIn_InputPort[port].
setPortNum(port);
96 #if FW_OBJECT_NAMES == 1 100 this->m_objName.toChar(),
103 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
108 #if !FW_DIRECT_PORT_CALLS 115 this->m_Run_InputPort[port].
init();
122 #if FW_OBJECT_NAMES == 1 126 this->m_objName.toChar(),
129 this->m_Run_InputPort[port].setObjName(portName.
toChar());
134 #if !FW_DIRECT_PORT_CALLS 141 this->m_TlmGet_InputPort[port].
init();
146 this->m_TlmGet_InputPort[port].
setPortNum(port);
148 #if FW_OBJECT_NAMES == 1 152 this->m_objName.toChar(),
155 this->m_TlmGet_InputPort[port].setObjName(portName.
toChar());
160 #if !FW_DIRECT_PORT_CALLS 167 this->m_TlmRecv_InputPort[port].
init();
172 this->m_TlmRecv_InputPort[port].
setPortNum(port);
174 #if FW_OBJECT_NAMES == 1 178 this->m_objName.toChar(),
181 this->m_TlmRecv_InputPort[port].setObjName(portName.
toChar());
186 #if !FW_DIRECT_PORT_CALLS 193 this->m_configureSectionGroupRate_InputPort[port].
init();
194 this->m_configureSectionGroupRate_InputPort[port].
addCallComp(
196 m_p_configureSectionGroupRate_in
198 this->m_configureSectionGroupRate_InputPort[port].
setPortNum(port);
200 #if FW_OBJECT_NAMES == 1 204 this->m_objName.toChar(),
207 this->m_configureSectionGroupRate_InputPort[port].setObjName(portName.
toChar());
212 #if !FW_DIRECT_PORT_CALLS 219 this->m_controlIn_InputPort[port].
init();
224 this->m_controlIn_InputPort[port].
setPortNum(port);
226 #if FW_OBJECT_NAMES == 1 230 this->m_objName.toChar(),
233 this->m_controlIn_InputPort[port].setObjName(portName.
toChar());
238 #if !FW_DIRECT_PORT_CALLS 245 this->m_pingIn_InputPort[port].
init();
250 this->m_pingIn_InputPort[port].
setPortNum(port);
252 #if FW_OBJECT_NAMES == 1 256 this->m_objName.toChar(),
259 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
264 #if !FW_DIRECT_PORT_CALLS 271 this->m_cmdRegOut_OutputPort[port].
init();
273 #if FW_OBJECT_NAMES == 1 277 this->m_objName.toChar(),
280 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
285 #if !FW_DIRECT_PORT_CALLS 292 this->m_cmdResponseOut_OutputPort[port].
init();
294 #if FW_OBJECT_NAMES == 1 298 this->m_objName.toChar(),
301 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
306 #if !FW_DIRECT_PORT_CALLS 313 this->m_eventOut_OutputPort[port].
init();
315 #if FW_OBJECT_NAMES == 1 319 this->m_objName.toChar(),
322 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
327 #if !FW_DIRECT_PORT_CALLS 334 this->m_paramGetOut_OutputPort[port].
init();
336 #if FW_OBJECT_NAMES == 1 340 this->m_objName.toChar(),
343 this->m_paramGetOut_OutputPort[port].setObjName(portName.
toChar());
348 #if !FW_DIRECT_PORT_CALLS 355 this->m_paramSetOut_OutputPort[port].
init();
357 #if FW_OBJECT_NAMES == 1 361 this->m_objName.toChar(),
364 this->m_paramSetOut_OutputPort[port].setObjName(portName.
toChar());
369 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 373 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
376 this->m_textEventOut_OutputPort[port].
init();
378 #if FW_OBJECT_NAMES == 1 382 this->m_objName.toChar(),
385 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
390 #if !FW_DIRECT_PORT_CALLS 397 this->m_timeGetOut_OutputPort[port].
init();
399 #if FW_OBJECT_NAMES == 1 403 this->m_objName.toChar(),
406 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
411 #if !FW_DIRECT_PORT_CALLS 418 this->m_tlmOut_OutputPort[port].
init();
420 #if FW_OBJECT_NAMES == 1 424 this->m_objName.toChar(),
427 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
432 #if !FW_DIRECT_PORT_CALLS 439 this->m_PktSend_OutputPort[port].
init();
441 #if FW_OBJECT_NAMES == 1 445 this->m_objName.toChar(),
448 this->m_PktSend_OutputPort[port].setObjName(portName.
toChar());
453 #if !FW_DIRECT_PORT_CALLS 460 this->m_pingOut_OutputPort[port].
init();
462 #if FW_OBJECT_NAMES == 1 466 this->m_objName.toChar(),
469 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
477 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
481 static_cast<FwAssertArgType>(qStat)
485 #if !FW_DIRECT_PORT_CALLS 496 static_cast<FwAssertArgType>(portNum)
499 return &this->m_cmdIn_InputPort[portNum];
504 #if !FW_DIRECT_PORT_CALLS 515 static_cast<FwAssertArgType>(portNum)
518 return &this->m_Run_InputPort[portNum];
526 static_cast<FwAssertArgType>(portNum)
529 return &this->m_TlmGet_InputPort[portNum];
537 static_cast<FwAssertArgType>(portNum)
540 return &this->m_TlmRecv_InputPort[portNum];
548 static_cast<FwAssertArgType>(portNum)
551 return &this->m_configureSectionGroupRate_InputPort[portNum];
559 static_cast<FwAssertArgType>(portNum)
562 return &this->m_controlIn_InputPort[portNum];
570 static_cast<FwAssertArgType>(portNum)
573 return &this->m_pingIn_InputPort[portNum];
578 #if !FW_DIRECT_PORT_CALLS 592 static_cast<FwAssertArgType>(portNum)
595 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
606 static_cast<FwAssertArgType>(portNum)
609 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
620 static_cast<FwAssertArgType>(portNum)
623 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
634 static_cast<FwAssertArgType>(portNum)
637 this->m_paramGetOut_OutputPort[portNum].
addCallPort(port);
648 static_cast<FwAssertArgType>(portNum)
651 this->m_paramSetOut_OutputPort[portNum].
addCallPort(port);
654 #if FW_ENABLE_TEXT_LOGGING == 1 656 void TlmPacketizerComponentBase ::
657 set_textEventOut_OutputPort(
663 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
664 static_cast<FwAssertArgType>(portNum)
667 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
680 static_cast<FwAssertArgType>(portNum)
683 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
694 static_cast<FwAssertArgType>(portNum)
697 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
702 #if !FW_DIRECT_PORT_CALLS 716 static_cast<FwAssertArgType>(portNum)
719 this->m_PktSend_OutputPort[portNum].
addCallPort(port);
730 static_cast<FwAssertArgType>(portNum)
733 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
738 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 747 Fw::InputSerializePort* port
752 static_cast<FwAssertArgType>(portNum)
755 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
761 Fw::InputSerializePort* port
766 static_cast<FwAssertArgType>(portNum)
769 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
775 Fw::InputSerializePort* port
780 static_cast<FwAssertArgType>(portNum)
783 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
789 Fw::InputSerializePort* port
794 static_cast<FwAssertArgType>(portNum)
797 this->m_paramSetOut_OutputPort[portNum].registerSerialPort(port);
800 #if FW_ENABLE_TEXT_LOGGING == 1 802 void TlmPacketizerComponentBase ::
803 set_textEventOut_OutputPort(
805 Fw::InputSerializePort* port
809 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
810 static_cast<FwAssertArgType>(portNum)
813 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
821 Fw::InputSerializePort* port
826 static_cast<FwAssertArgType>(portNum)
829 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
835 Fw::InputSerializePort* port
840 static_cast<FwAssertArgType>(portNum)
843 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
848 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 857 Fw::InputSerializePort* port
862 static_cast<FwAssertArgType>(portNum)
865 this->m_PktSend_OutputPort[portNum].registerSerialPort(port);
871 Fw::InputSerializePort* port
876 static_cast<FwAssertArgType>(portNum)
879 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
961 this->m_param_SECTION_ENABLED_valid = this->paramGetOut_out(
967 this->m_paramLock.
lock();
971 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
975 this->m_param_SECTION_ENABLED_valid,
990 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
994 this->m_param_SECTION_ENABLED_valid,
1002 this->m_paramLock.
unlock();
1007 this->m_param_SECTION_CONFIGS_valid = this->paramGetOut_out(
1013 this->m_paramLock.
lock();
1017 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
1021 this->m_param_SECTION_CONFIGS_valid,
1036 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
1040 this->m_param_SECTION_CONFIGS_valid,
1048 this->m_paramLock.
unlock();
1060 Fw::ActiveComponentBase(compName)
1062 this->m_OversizedChannelThrottle = 0;
1071 #if !FW_DIRECT_PORT_CALLS 1082 static_cast<FwAssertArgType>(portNum)
1085 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
1093 static_cast<FwAssertArgType>(portNum)
1096 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
1104 static_cast<FwAssertArgType>(portNum)
1107 return this->m_eventOut_OutputPort[portNum].
isConnected();
1115 static_cast<FwAssertArgType>(portNum)
1118 return this->m_paramGetOut_OutputPort[portNum].
isConnected();
1126 static_cast<FwAssertArgType>(portNum)
1129 return this->m_paramSetOut_OutputPort[portNum].
isConnected();
1132 #if FW_ENABLE_TEXT_LOGGING == 1 1134 bool TlmPacketizerComponentBase ::
1135 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
const 1138 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
1139 static_cast<FwAssertArgType>(portNum)
1142 return this->m_textEventOut_OutputPort[portNum].isConnected();
1152 static_cast<FwAssertArgType>(portNum)
1155 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
1163 static_cast<FwAssertArgType>(portNum)
1166 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1171 #if !FW_DIRECT_PORT_CALLS 1182 static_cast<FwAssertArgType>(portNum)
1185 return this->m_PktSend_OutputPort[portNum].
isConnected();
1193 static_cast<FwAssertArgType>(portNum)
1196 return this->m_pingOut_OutputPort[portNum].
isConnected();
1217 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1220 switch (opCode - idBase) {
1335 static_cast<FwAssertArgType>(portNum)
1343 ComponentIpcSerializableBuffer msg;
1347 _status = msg.serializeFrom(
1348 static_cast<FwEnumStoreType>(RUN_SCHED)
1352 static_cast<FwAssertArgType>(_status)
1356 _status = msg.serializeFrom(portNum);
1359 static_cast<FwAssertArgType>(_status)
1363 _status = msg.serializeFrom(context);
1366 static_cast<FwAssertArgType>(_status)
1375 static_cast<FwAssertArgType>(qStatus)
1390 static_cast<FwAssertArgType>(portNum)
1417 static_cast<FwAssertArgType>(portNum)
1442 static_cast<FwAssertArgType>(portNum)
1454 ComponentIpcSerializableBuffer msg;
1458 _status = msg.serializeFrom(
1459 static_cast<FwEnumStoreType>(CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE)
1463 static_cast<FwAssertArgType>(_status)
1467 _status = msg.serializeFrom(portNum);
1470 static_cast<FwAssertArgType>(_status)
1474 _status = msg.serializeFrom(section);
1477 static_cast<FwAssertArgType>(_status)
1481 _status = msg.serializeFrom(tlmGroup);
1484 static_cast<FwAssertArgType>(_status)
1488 _status = msg.serializeFrom(rateLogic);
1491 static_cast<FwAssertArgType>(_status)
1495 _status = msg.serializeFrom(minDelta);
1498 static_cast<FwAssertArgType>(_status)
1502 _status = msg.serializeFrom(maxDelta);
1505 static_cast<FwAssertArgType>(_status)
1514 static_cast<FwAssertArgType>(qStatus)
1528 static_cast<FwAssertArgType>(portNum)
1537 ComponentIpcSerializableBuffer msg;
1541 _status = msg.serializeFrom(
1542 static_cast<FwEnumStoreType>(CONTROLIN_ENABLESECTION)
1546 static_cast<FwAssertArgType>(_status)
1550 _status = msg.serializeFrom(portNum);
1553 static_cast<FwAssertArgType>(_status)
1557 _status = msg.serializeFrom(section);
1560 static_cast<FwAssertArgType>(_status)
1564 _status = msg.serializeFrom(enabled);
1567 static_cast<FwAssertArgType>(_status)
1576 static_cast<FwAssertArgType>(qStatus)
1589 static_cast<FwAssertArgType>(portNum)
1597 ComponentIpcSerializableBuffer msg;
1601 _status = msg.serializeFrom(
1602 static_cast<FwEnumStoreType>(PINGIN_PING)
1606 static_cast<FwAssertArgType>(_status)
1610 _status = msg.serializeFrom(portNum);
1613 static_cast<FwAssertArgType>(_status)
1617 _status = msg.serializeFrom(key);
1620 static_cast<FwAssertArgType>(_status)
1629 static_cast<FwAssertArgType>(qStatus)
1682 #if !FW_DIRECT_PORT_CALLS 1697 static_cast<FwAssertArgType>(portNum)
1701 this->m_PktSend_OutputPort[portNum].isConnected(),
1702 static_cast<FwAssertArgType>(portNum)
1704 this->m_PktSend_OutputPort[portNum].
invoke(
1718 static_cast<FwAssertArgType>(portNum)
1722 this->m_pingOut_OutputPort[portNum].isConnected(),
1723 static_cast<FwAssertArgType>(portNum)
1725 this->m_pingOut_OutputPort[portNum].
invoke(
1744 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
1765 ComponentIpcSerializableBuffer msg;
1769 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SET_LEVEL));
1772 static_cast<FwAssertArgType>(_status)
1778 _status = msg.serializeFrom(port);
1781 static_cast<FwAssertArgType>(_status)
1784 _status = msg.serializeFrom(opCode);
1787 static_cast<FwAssertArgType>(_status)
1790 _status = msg.serializeFrom(cmdSeq);
1793 static_cast<FwAssertArgType>(_status)
1796 _status = msg.serializeFrom(args);
1799 static_cast<FwAssertArgType>(_status)
1808 static_cast<FwAssertArgType>(qStatus)
1824 ComponentIpcSerializableBuffer msg;
1828 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SEND_PKT));
1831 static_cast<FwAssertArgType>(_status)
1837 _status = msg.serializeFrom(port);
1840 static_cast<FwAssertArgType>(_status)
1843 _status = msg.serializeFrom(opCode);
1846 static_cast<FwAssertArgType>(_status)
1849 _status = msg.serializeFrom(cmdSeq);
1852 static_cast<FwAssertArgType>(_status)
1855 _status = msg.serializeFrom(args);
1858 static_cast<FwAssertArgType>(_status)
1867 static_cast<FwAssertArgType>(qStatus)
1883 ComponentIpcSerializableBuffer msg;
1887 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_SECTION));
1890 static_cast<FwAssertArgType>(_status)
1896 _status = msg.serializeFrom(port);
1899 static_cast<FwAssertArgType>(_status)
1902 _status = msg.serializeFrom(opCode);
1905 static_cast<FwAssertArgType>(_status)
1908 _status = msg.serializeFrom(cmdSeq);
1911 static_cast<FwAssertArgType>(_status)
1914 _status = msg.serializeFrom(args);
1917 static_cast<FwAssertArgType>(_status)
1926 static_cast<FwAssertArgType>(qStatus)
1942 ComponentIpcSerializableBuffer msg;
1946 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_GROUP));
1949 static_cast<FwAssertArgType>(_status)
1955 _status = msg.serializeFrom(port);
1958 static_cast<FwAssertArgType>(_status)
1961 _status = msg.serializeFrom(opCode);
1964 static_cast<FwAssertArgType>(_status)
1967 _status = msg.serializeFrom(cmdSeq);
1970 static_cast<FwAssertArgType>(_status)
1973 _status = msg.serializeFrom(args);
1976 static_cast<FwAssertArgType>(_status)
1985 static_cast<FwAssertArgType>(qStatus)
2001 ComponentIpcSerializableBuffer msg;
2005 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FORCE_GROUP));
2008 static_cast<FwAssertArgType>(_status)
2014 _status = msg.serializeFrom(port);
2017 static_cast<FwAssertArgType>(_status)
2020 _status = msg.serializeFrom(opCode);
2023 static_cast<FwAssertArgType>(_status)
2026 _status = msg.serializeFrom(cmdSeq);
2029 static_cast<FwAssertArgType>(_status)
2032 _status = msg.serializeFrom(args);
2035 static_cast<FwAssertArgType>(_status)
2044 static_cast<FwAssertArgType>(qStatus)
2060 ComponentIpcSerializableBuffer msg;
2064 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CONFIGURE_GROUP_RATES));
2067 static_cast<FwAssertArgType>(_status)
2073 _status = msg.serializeFrom(port);
2076 static_cast<FwAssertArgType>(_status)
2079 _status = msg.serializeFrom(opCode);
2082 static_cast<FwAssertArgType>(_status)
2085 _status = msg.serializeFrom(cmdSeq);
2088 static_cast<FwAssertArgType>(_status)
2091 _status = msg.serializeFrom(args);
2094 static_cast<FwAssertArgType>(_status)
2103 static_cast<FwAssertArgType>(qStatus)
2191 this->timeGetOut_out(0, _logTime);
2201 #if FW_AMPCS_COMPATIBLE 2206 static_cast<FwAssertArgType>(_status)
2210 #if FW_AMPCS_COMPATIBLE 2217 static_cast<FwAssertArgType>(_status)
2223 static_cast<FwAssertArgType>(_status)
2236 #if FW_ENABLE_TEXT_LOGGING 2237 if (this->isConnected_textEventOut_OutputPort(0)) {
2238 #if FW_OBJECT_NAMES == 1 2239 const char* _formatString =
2240 "(%s) %s: Telemetry ID 0x%" PRIx32
" not packetized";
2242 const char* _formatString =
2243 "%s: Telemetry ID 0x%" PRIx32
" not packetized";
2247 (void) _logString.
format(
2250 this->m_objName.toChar(),
2256 this->textEventOut_out(
2273 this->timeGetOut_out(0, _logTime);
2283 #if FW_AMPCS_COMPATIBLE 2288 static_cast<FwAssertArgType>(_status)
2292 #if FW_AMPCS_COMPATIBLE 2299 static_cast<FwAssertArgType>(_status)
2305 static_cast<FwAssertArgType>(_status)
2318 #if FW_ENABLE_TEXT_LOGGING 2319 if (this->isConnected_textEventOut_OutputPort(0)) {
2320 #if FW_OBJECT_NAMES == 1 2321 const char* _formatString =
2322 "(%s) %s: Telemetry send level to %" PRIu32
"";
2324 const char* _formatString =
2325 "%s: Telemetry send level to %" PRIu32
"";
2329 (void) _logString.
format(
2332 this->m_objName.toChar(),
2338 this->textEventOut_out(
2358 this->timeGetOut_out(0, _logTime);
2368 #if FW_AMPCS_COMPATIBLE 2373 static_cast<FwAssertArgType>(_status)
2377 #if FW_AMPCS_COMPATIBLE 2384 static_cast<FwAssertArgType>(_status)
2390 static_cast<FwAssertArgType>(_status)
2393 #if FW_AMPCS_COMPATIBLE 2400 static_cast<FwAssertArgType>(_status)
2406 static_cast<FwAssertArgType>(_status)
2419 #if FW_ENABLE_TEXT_LOGGING 2420 if (this->isConnected_textEventOut_OutputPort(0)) {
2421 #if FW_OBJECT_NAMES == 1 2422 const char* _formatString =
2423 "(%s) %s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2425 const char* _formatString =
2426 "%s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2430 (void) _logString.
format(
2433 this->m_objName.toChar(),
2440 this->textEventOut_out(
2457 this->timeGetOut_out(0, _logTime);
2467 #if FW_AMPCS_COMPATIBLE 2472 static_cast<FwAssertArgType>(_status)
2476 #if FW_AMPCS_COMPATIBLE 2479 static_cast<U8>(
sizeof(U32))
2483 static_cast<FwAssertArgType>(_status)
2489 static_cast<FwAssertArgType>(_status)
2502 #if FW_ENABLE_TEXT_LOGGING 2503 if (this->isConnected_textEventOut_OutputPort(0)) {
2504 #if FW_OBJECT_NAMES == 1 2505 const char* _formatString =
2506 "(%s) %s: Sent packet ID %" PRIu32
"";
2508 const char* _formatString =
2509 "%s: Sent packet ID %" PRIu32
"";
2513 (void) _logString.
format(
2516 this->m_objName.toChar(),
2522 this->textEventOut_out(
2539 this->timeGetOut_out(0, _logTime);
2549 #if FW_AMPCS_COMPATIBLE 2554 static_cast<FwAssertArgType>(_status)
2558 #if FW_AMPCS_COMPATIBLE 2561 static_cast<U8>(
sizeof(U32))
2565 static_cast<FwAssertArgType>(_status)
2571 static_cast<FwAssertArgType>(_status)
2584 #if FW_ENABLE_TEXT_LOGGING 2585 if (this->isConnected_textEventOut_OutputPort(0)) {
2586 #if FW_OBJECT_NAMES == 1 2587 const char* _formatString =
2588 "(%s) %s: Could not find packet ID %" PRIu32
"";
2590 const char* _formatString =
2591 "%s: Could not find packet ID %" PRIu32
"";
2595 (void) _logString.
format(
2598 this->m_objName.toChar(),
2604 this->textEventOut_out(
2624 this->timeGetOut_out(0, _logTime);
2634 #if FW_AMPCS_COMPATIBLE 2639 static_cast<FwAssertArgType>(_status)
2643 #if FW_AMPCS_COMPATIBLE 2650 static_cast<FwAssertArgType>(_status)
2656 static_cast<FwAssertArgType>(_status)
2659 #if FW_AMPCS_COMPATIBLE 2666 static_cast<FwAssertArgType>(_status)
2672 static_cast<FwAssertArgType>(_status)
2685 #if FW_ENABLE_TEXT_LOGGING 2686 if (this->isConnected_textEventOut_OutputPort(0)) {
2687 #if FW_OBJECT_NAMES == 1 2688 const char* _formatString =
2689 "(%s) %s: Section %s is unconfigurable and cannot be set to %s";
2691 const char* _formatString =
2692 "%s: Section %s is unconfigurable and cannot be set to %s";
2696 section.toString(sectionStr);
2698 enable.toString(enableStr);
2701 (void) _logString.
format(
2704 this->m_objName.toChar(),
2706 "SectionUnconfigurable ",
2711 this->textEventOut_out(
2734 this->m_OversizedChannelThrottle++;
2740 this->timeGetOut_out(0, _logTime);
2750 #if FW_AMPCS_COMPATIBLE 2755 static_cast<FwAssertArgType>(_status)
2759 #if FW_AMPCS_COMPATIBLE 2766 static_cast<FwAssertArgType>(_status)
2772 static_cast<FwAssertArgType>(_status)
2775 #if FW_AMPCS_COMPATIBLE 2782 static_cast<FwAssertArgType>(_status)
2788 static_cast<FwAssertArgType>(_status)
2791 #if FW_AMPCS_COMPATIBLE 2798 static_cast<FwAssertArgType>(_status)
2804 static_cast<FwAssertArgType>(_status)
2817 #if FW_ENABLE_TEXT_LOGGING 2818 if (this->isConnected_textEventOut_OutputPort(0)) {
2819 #if FW_OBJECT_NAMES == 1 2820 const char* _formatString =
2821 "(%s) %s: Telemetry ID 0x%" PRIx32
" update of size %" PRIu64
" exceeds configured size %" PRIu64
"";
2823 const char* _formatString =
2824 "%s: Telemetry ID 0x%" PRIx32
" update of size %" PRIu64
" exceeds configured size %" PRIu64
"";
2828 (void) _logString.
format(
2831 this->m_objName.toChar(),
2833 "OversizedChannel ",
2839 this->textEventOut_out(
2858 this->m_OversizedChannelThrottle = 0;
2877 this->timeGetOut_out(0, _tlmTime);
2907 static_cast<FwAssertArgType>(_stat)
2929 static_cast<FwAssertArgType>(_stat)
2964 this->m_paramLock.
lock();
2965 valid = this->m_param_SECTION_ENABLED_valid;
2968 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
2970 static_cast<FwPrmIdType>(this->
getIdBase()),
2981 this->m_paramLock.
unlock();
2989 this->m_paramLock.
lock();
2990 valid = this->m_param_SECTION_CONFIGS_valid;
2993 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
2995 static_cast<FwPrmIdType>(this->
getIdBase()),
3006 this->m_paramLock.
unlock();
3017 FW_ASSERT(paramExternalDelegatePtr !=
nullptr);
3018 this->paramDelegatePtr = paramExternalDelegatePtr;
3030 this->timeGetOut_out(0, _time);
3045 ComponentIpcSerializableBuffer _msg;
3055 static_cast<FwAssertArgType>(_msgStatus)
3065 static_cast<FwAssertArgType>(_deserStatus)
3068 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
3070 if (_msgType == TLMPACKETIZER_COMPONENT_EXIT) {
3075 _deserStatus = _msg.deserializeTo(portNum);
3078 static_cast<FwAssertArgType>(_deserStatus)
3086 _deserStatus = _msg.deserializeTo(context);
3089 static_cast<FwAssertArgType>(_deserStatus)
3101 case CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE: {
3104 _deserStatus = _msg.deserializeTo(section);
3107 static_cast<FwAssertArgType>(_deserStatus)
3112 _deserStatus = _msg.deserializeTo(tlmGroup);
3115 static_cast<FwAssertArgType>(_deserStatus)
3120 _deserStatus = _msg.deserializeTo(rateLogic);
3123 static_cast<FwAssertArgType>(_deserStatus)
3128 _deserStatus = _msg.deserializeTo(minDelta);
3131 static_cast<FwAssertArgType>(_deserStatus)
3136 _deserStatus = _msg.deserializeTo(maxDelta);
3139 static_cast<FwAssertArgType>(_deserStatus)
3155 case CONTROLIN_ENABLESECTION: {
3158 _deserStatus = _msg.deserializeTo(section);
3161 static_cast<FwAssertArgType>(_deserStatus)
3166 _deserStatus = _msg.deserializeTo(enabled);
3169 static_cast<FwAssertArgType>(_deserStatus)
3185 _deserStatus = _msg.deserializeTo(key);
3188 static_cast<FwAssertArgType>(_deserStatus)
3200 case CMD_SET_LEVEL: {
3203 _deserStatus = _msg.deserializeTo(_opCode);
3206 static_cast<FwAssertArgType>(_deserStatus)
3211 _deserStatus = _msg.deserializeTo(_cmdSeq);
3214 static_cast<FwAssertArgType>(_deserStatus)
3219 _deserStatus = _msg.deserializeTo(args);
3222 static_cast<FwAssertArgType>(_deserStatus)
3245 #if FW_CMD_CHECK_RESIDUAL 3265 case CMD_SEND_PKT: {
3268 _deserStatus = _msg.deserializeTo(_opCode);
3271 static_cast<FwAssertArgType>(_deserStatus)
3276 _deserStatus = _msg.deserializeTo(_cmdSeq);
3279 static_cast<FwAssertArgType>(_deserStatus)
3284 _deserStatus = _msg.deserializeTo(args);
3287 static_cast<FwAssertArgType>(_deserStatus)
3325 #if FW_CMD_CHECK_RESIDUAL 3346 case CMD_ENABLE_SECTION: {
3349 _deserStatus = _msg.deserializeTo(_opCode);
3352 static_cast<FwAssertArgType>(_deserStatus)
3357 _deserStatus = _msg.deserializeTo(_cmdSeq);
3360 static_cast<FwAssertArgType>(_deserStatus)
3365 _deserStatus = _msg.deserializeTo(args);
3368 static_cast<FwAssertArgType>(_deserStatus)
3406 #if FW_CMD_CHECK_RESIDUAL 3427 case CMD_ENABLE_GROUP: {
3430 _deserStatus = _msg.deserializeTo(_opCode);
3433 static_cast<FwAssertArgType>(_deserStatus)
3438 _deserStatus = _msg.deserializeTo(_cmdSeq);
3441 static_cast<FwAssertArgType>(_deserStatus)
3446 _deserStatus = _msg.deserializeTo(args);
3449 static_cast<FwAssertArgType>(_deserStatus)
3502 #if FW_CMD_CHECK_RESIDUAL 3524 case CMD_FORCE_GROUP: {
3527 _deserStatus = _msg.deserializeTo(_opCode);
3530 static_cast<FwAssertArgType>(_deserStatus)
3535 _deserStatus = _msg.deserializeTo(_cmdSeq);
3538 static_cast<FwAssertArgType>(_deserStatus)
3543 _deserStatus = _msg.deserializeTo(args);
3546 static_cast<FwAssertArgType>(_deserStatus)
3599 #if FW_CMD_CHECK_RESIDUAL 3621 case CMD_CONFIGURE_GROUP_RATES: {
3624 _deserStatus = _msg.deserializeTo(_opCode);
3627 static_cast<FwAssertArgType>(_deserStatus)
3632 _deserStatus = _msg.deserializeTo(_cmdSeq);
3635 static_cast<FwAssertArgType>(_deserStatus)
3640 _deserStatus = _msg.deserializeTo(args);
3643 static_cast<FwAssertArgType>(_deserStatus)
3726 #if FW_CMD_CHECK_RESIDUAL 3760 void TlmPacketizerComponentBase ::
3771 compPtr->cmdIn_handlerBase(
3783 void TlmPacketizerComponentBase ::
3792 compPtr->Run_handlerBase(
3809 return compPtr->TlmGet_handlerBase(
3817 void TlmPacketizerComponentBase ::
3828 compPtr->TlmRecv_handlerBase(
3836 void TlmPacketizerComponentBase ::
3837 m_p_configureSectionGroupRate_in(
3849 compPtr->configureSectionGroupRate_handlerBase(
3859 void TlmPacketizerComponentBase ::
3869 compPtr->controlIn_handlerBase(
3876 void TlmPacketizerComponentBase ::
3885 compPtr->pingIn_handlerBase(
3891 #if !FW_DIRECT_PORT_CALLS 3897 void TlmPacketizerComponentBase ::
3905 static_cast<FwAssertArgType>(portNum)
3909 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
3910 static_cast<FwAssertArgType>(portNum)
3912 this->m_cmdRegOut_OutputPort[portNum].
invoke(
3917 void TlmPacketizerComponentBase ::
3927 static_cast<FwAssertArgType>(portNum)
3931 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
3932 static_cast<FwAssertArgType>(portNum)
3934 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
3941 void TlmPacketizerComponentBase ::
3952 static_cast<FwAssertArgType>(portNum)
3956 this->m_eventOut_OutputPort[portNum].isConnected(),
3957 static_cast<FwAssertArgType>(portNum)
3959 this->m_eventOut_OutputPort[portNum].
invoke(
3976 static_cast<FwAssertArgType>(portNum)
3980 this->m_paramGetOut_OutputPort[portNum].isConnected(),
3981 static_cast<FwAssertArgType>(portNum)
3983 return this->m_paramGetOut_OutputPort[portNum].
invoke(
3989 void TlmPacketizerComponentBase ::
3998 static_cast<FwAssertArgType>(portNum)
4002 this->m_paramSetOut_OutputPort[portNum].isConnected(),
4003 static_cast<FwAssertArgType>(portNum)
4005 this->m_paramSetOut_OutputPort[portNum].
invoke(
4011 #if FW_ENABLE_TEXT_LOGGING 4013 void TlmPacketizerComponentBase ::
4023 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
4024 static_cast<FwAssertArgType>(portNum)
4028 this->m_textEventOut_OutputPort[portNum].isConnected(),
4029 static_cast<FwAssertArgType>(portNum)
4031 this->m_textEventOut_OutputPort[portNum].invoke(
4041 void TlmPacketizerComponentBase ::
4049 static_cast<FwAssertArgType>(portNum)
4053 this->m_timeGetOut_OutputPort[portNum].isConnected(),
4054 static_cast<FwAssertArgType>(portNum)
4056 this->m_timeGetOut_OutputPort[portNum].
invoke(
4061 void TlmPacketizerComponentBase ::
4071 static_cast<FwAssertArgType>(portNum)
4075 this->m_tlmOut_OutputPort[portNum].isConnected(),
4076 static_cast<FwAssertArgType>(portNum)
4078 this->m_tlmOut_OutputPort[portNum].
invoke(
4096 this->m_paramLock.
lock();
4098 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4100 static_cast<FwPrmIdType>(this->
getIdBase()),
4114 this->m_paramLock.
unlock();
4128 this->m_paramLock.
lock();
4130 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4132 static_cast<FwPrmIdType>(this->
getIdBase()),
4146 this->m_paramLock.
unlock();
4160 paramSave_SECTION_ENABLED()
4169 this->m_paramLock.
lock();
4171 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4173 static_cast<FwPrmIdType>(idBase),
4178 this->m_paramLock.
unlock();
4183 this->paramSetOut_out(
4193 paramSave_SECTION_CONFIGS()
4202 this->m_paramLock.
lock();
4204 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4206 static_cast<FwPrmIdType>(idBase),
4211 this->m_paramLock.
unlock();
4216 this->paramSetOut_out(
bool isConnected_PktSend_OutputPort(FwIndexType portNum) const
static constexpr FwSizeType CAPACITY
Serialization/Deserialization operation was successful.
void SEND_PKT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
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 connection.
void init()
Initialization function.
static constexpr FwSizeType CAPACITY
void set_PktSend_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to PktSend[portNum].
FwIdType FwOpcodeType
The type of a command opcode.
bool isConnected_eventOut_OutputPort(FwIndexType portNum) const
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
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) 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()
bool isConnected_paramGetOut_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_LevelSet(FwChanIdType level) const
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.
void log_ACTIVITY_LO_PacketSent(U32 packetId) const
Status
status returned from the queue send function
static constexpr FwIndexType getNum_PktSend_OutputPorts()
message to exit active component task
BYTE pingInPortSize[Svc::PingPortBuffer::CAPACITY]
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
virtual SerializeStatus deserializeParam(const FwPrmIdType base_id, const FwPrmIdType local_id, const ParamValid prmStat, SerialBufferBase &buff)=0
Enable / disable telemetry of a group on a section.
FwIdType FwPrmIdType
The type of a parameter identifier.
void log_WARNING_LO_NoChan(FwChanIdType Id) const
static constexpr FwIndexType getNum_pingIn_InputPorts()
void addCallPort(InputPrmSetPort *callPort)
Register an input port.
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 SerializeStatus serializeParam(const FwPrmIdType base_id, const FwPrmIdType local_id, SerialBufferBase &buff) const =0
void invoke(U32 key) const
Invoke a port connection.
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.
virtual void SEND_PKT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 id, const Svc::TelemetrySection §ion)=0
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
Couldn't find the packet to send.
virtual void controlIn_handler(FwIndexType portNum, const Svc::TelemetrySection §ion, const Fw::Enabled &enabled)=0
Handler for input port controlIn.
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)
bool isConnected_paramSetOut_OutputPort(FwIndexType portNum) const
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
Send on updates after MIN ticks since last send.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
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
void log_WARNING_LO_PacketNotFound(U32 packetId) const
void init()
Initialization function.
Parameter to control section enable flags.
Os::Queue m_queue
queue object for active component
void loadParameters()
Load the parameters from a parameter source.
void set_paramSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to paramSetOut[portNum].
void addCallPort(InputTlmPort *callPort)
Register an input port.
virtual ~TlmPacketizerComponentBase()
Destroy TlmPacketizerComponentBase object.
void addCallPort(InputPrmGetPort *callPort)
Register an input port.
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.
SerializeStatus
forward declaration for string
void registerExternalParameters(Fw::ParamExternalDelegate *paramExternalDelegatePtr)
Initialize the external parameter delegate.
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.
void unlock()
alias for unLock to meet BasicLockable requirements
Parameter to control section configuration.
Opcode to save parameter SECTION_ENABLED.
FwIdType FwEventIdType
The type of an event identifier.
virtual void FORCE_GROUP_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FORCE_GROUP.
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
static constexpr FwSizeType CAPACITY
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
virtual void ENABLE_SECTION_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::TelemetrySection §ion, const Fw::Enabled &enable)=0
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Data was the wrong format (e.g. wrong packet type)
Fw::InputTlmGetPort * get_TlmGet_InputPort(FwIndexType portNum)
void log_WARNING_LO_SectionUnconfigurable(const Svc::TelemetrySection §ion, const Fw::Enabled &enable) const
Log event SectionUnconfigurable.
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum) const
virtual void CONFIGURE_GROUP_RATES_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CONFIGURE_GROUP_RATES.
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void log_WARNING_HI_OversizedChannel_ThrottleClear()
Reset throttle value for OversizedChannel.
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.
Fw::ParamValid invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void init()
Initialization function.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
Telemetry send level set.
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_paramGetOut_OutputPorts()
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port connection.
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
Telemetry channel is not part of a telemetry packet.
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
void resetSer() override
Reset serialization 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.
A serious but recoverable event.
Errors dispatching messages.
Throttle reset count for OversizedChannel.
Opcode to set parameter SECTION_ENABLED.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port connection.
const char * toChar() const
Convert to a C-style char*.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
Set telemetry send level.
Enum representing event severity.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
The size of the serial representation.
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.
Command successfully executed.
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)
virtual void ENABLE_GROUP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Fw::Enabled &enable)=0
Opcode to set parameter SECTION_CONFIGS.
Command failed to deserialize.
Telemetry send level set.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Command had execution error.
Important informational events.
Svc::TlmPacketizer_SectionEnabled paramGet_SECTION_ENABLED(Fw::ParamValid &valid)
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
void PktSend_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context) const
Invoke output port PktSend.
static constexpr FwIndexType getNum_paramSetOut_OutputPorts()
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.
Force a packet to be sent.
PlatformIndexType FwIndexType
TlmPacketizerComponentBase(const char *compName="")
Construct TlmPacketizerComponentBase object.
static constexpr FwIndexType getNum_configureSectionGroupRate_InputPorts()
virtual void parametersLoaded()
Called whenever parameters are loaded.
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
void addCallPort(InputLogPort *callPort)
Register an input port.
The size of the serial representation.
void log_WARNING_HI_OversizedChannel(FwChanIdType Id, FwSizeType valSize, FwSizeType expected)
void ENABLE_SECTION_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void init()
Initialization function.
virtual void SEND_PKT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SEND_PKT.
Channel ID for GroupConfigs.
Command failed validation.
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.
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
message sent/received okay
Enum representing parameter validity.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
Force telemetering a group on a section, even if disabled.
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_TlmGet_InputPorts()
Opcode to save parameter SECTION_CONFIGS.
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port connection.
void addCallPort(InputComPort *callPort)
Register an input port.
Fw::InputTlmPort * get_TlmRecv_InputPort(FwIndexType portNum)
virtual void CONFIGURE_GROUP_RATES_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Svc::RateLogic &rateLogic, U32 minDelta, U32 maxDelta)=0
Svc::TlmPacketizer_SectionConfigs paramGet_SECTION_CONFIGS(Fw::ParamValid &valid)
static constexpr FwIndexType getNum_controlIn_InputPorts()
virtual void ENABLE_SECTION_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command ENABLE_SECTION.
void regCommands()
Register commands with the Command Dispatcher.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
void init()
Initialization function.
void init()
Initialization function.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
void CONFIGURE_GROUP_RATES_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void SET_LEVEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Channel ID for SectionEnabled.
virtual void FORCE_GROUP_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::TelemetrySection §ion, FwChanIdType tlmGroup, const Fw::Enabled &enable)=0
virtual void SET_LEVEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_LEVEL.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwSizeType CAPACITY
void set_paramGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to paramGetOut[portNum].
Telemetry value larger than the configured channel size.
static constexpr FwIndexType getNum_Run_InputPorts()
Set Min and Max Deltas between successive packets.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
Enable / disable a telemetry section.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void lock()
lock the mutex and assert success
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()
BYTE cmdPortSize[Fw::CmdPortBuffer::CAPACITY]
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
static constexpr FwIndexType getNum_cmdIn_InputPorts()