10 #if FW_ENABLE_TEXT_LOGGING 21 CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE,
22 CONTROLIN_ENABLESECTION,
29 CMD_CONFIGURE_GROUP_RATES,
44 class ComponentIpcSerializableBuffer :
54 MAX_DATA_SIZE =
sizeof(BuffUnion),
56 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
59 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
65 U8 m_buff[SERIALIZATION_SIZE];
83 #if !FW_DIRECT_PORT_CALLS 90 this->m_cmdIn_InputPort[port].
init();
95 this->m_cmdIn_InputPort[port].
setPortNum(port);
97 #if FW_OBJECT_NAMES == 1 101 this->m_objName.toChar(),
104 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
109 #if !FW_DIRECT_PORT_CALLS 116 this->m_Run_InputPort[port].
init();
123 #if FW_OBJECT_NAMES == 1 127 this->m_objName.toChar(),
130 this->m_Run_InputPort[port].setObjName(portName.
toChar());
135 #if !FW_DIRECT_PORT_CALLS 142 this->m_TlmGet_InputPort[port].
init();
147 this->m_TlmGet_InputPort[port].
setPortNum(port);
149 #if FW_OBJECT_NAMES == 1 153 this->m_objName.toChar(),
156 this->m_TlmGet_InputPort[port].setObjName(portName.
toChar());
161 #if !FW_DIRECT_PORT_CALLS 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());
187 #if !FW_DIRECT_PORT_CALLS 194 this->m_configureSectionGroupRate_InputPort[port].
init();
195 this->m_configureSectionGroupRate_InputPort[port].
addCallComp(
197 m_p_configureSectionGroupRate_in
199 this->m_configureSectionGroupRate_InputPort[port].
setPortNum(port);
201 #if FW_OBJECT_NAMES == 1 205 this->m_objName.toChar(),
208 this->m_configureSectionGroupRate_InputPort[port].setObjName(portName.
toChar());
213 #if !FW_DIRECT_PORT_CALLS 220 this->m_controlIn_InputPort[port].
init();
225 this->m_controlIn_InputPort[port].
setPortNum(port);
227 #if FW_OBJECT_NAMES == 1 231 this->m_objName.toChar(),
234 this->m_controlIn_InputPort[port].setObjName(portName.
toChar());
239 #if !FW_DIRECT_PORT_CALLS 246 this->m_pingIn_InputPort[port].
init();
251 this->m_pingIn_InputPort[port].
setPortNum(port);
253 #if FW_OBJECT_NAMES == 1 257 this->m_objName.toChar(),
260 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
265 #if !FW_DIRECT_PORT_CALLS 272 this->m_cmdRegOut_OutputPort[port].
init();
274 #if FW_OBJECT_NAMES == 1 278 this->m_objName.toChar(),
281 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
286 #if !FW_DIRECT_PORT_CALLS 293 this->m_cmdResponseOut_OutputPort[port].
init();
295 #if FW_OBJECT_NAMES == 1 299 this->m_objName.toChar(),
302 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
307 #if !FW_DIRECT_PORT_CALLS 314 this->m_eventOut_OutputPort[port].
init();
316 #if FW_OBJECT_NAMES == 1 320 this->m_objName.toChar(),
323 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
328 #if !FW_DIRECT_PORT_CALLS 335 this->m_paramGetOut_OutputPort[port].
init();
337 #if FW_OBJECT_NAMES == 1 341 this->m_objName.toChar(),
344 this->m_paramGetOut_OutputPort[port].setObjName(portName.
toChar());
349 #if !FW_DIRECT_PORT_CALLS 356 this->m_paramSetOut_OutputPort[port].
init();
358 #if FW_OBJECT_NAMES == 1 362 this->m_objName.toChar(),
365 this->m_paramSetOut_OutputPort[port].setObjName(portName.
toChar());
370 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 374 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
377 this->m_textEventOut_OutputPort[port].
init();
379 #if FW_OBJECT_NAMES == 1 383 this->m_objName.toChar(),
386 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
391 #if !FW_DIRECT_PORT_CALLS 398 this->m_timeGetOut_OutputPort[port].
init();
400 #if FW_OBJECT_NAMES == 1 404 this->m_objName.toChar(),
407 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
412 #if !FW_DIRECT_PORT_CALLS 419 this->m_tlmOut_OutputPort[port].
init();
421 #if FW_OBJECT_NAMES == 1 425 this->m_objName.toChar(),
428 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
433 #if !FW_DIRECT_PORT_CALLS 440 this->m_PktSend_OutputPort[port].
init();
442 #if FW_OBJECT_NAMES == 1 446 this->m_objName.toChar(),
449 this->m_PktSend_OutputPort[port].setObjName(portName.
toChar());
454 #if !FW_DIRECT_PORT_CALLS 461 this->m_pingOut_OutputPort[port].
init();
463 #if FW_OBJECT_NAMES == 1 467 this->m_objName.toChar(),
470 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
478 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
482 static_cast<FwAssertArgType>(qStat)
486 #if !FW_DIRECT_PORT_CALLS 497 static_cast<FwAssertArgType>(portNum)
500 return &this->m_cmdIn_InputPort[portNum];
505 #if !FW_DIRECT_PORT_CALLS 516 static_cast<FwAssertArgType>(portNum)
519 return &this->m_Run_InputPort[portNum];
527 static_cast<FwAssertArgType>(portNum)
530 return &this->m_TlmGet_InputPort[portNum];
538 static_cast<FwAssertArgType>(portNum)
541 return &this->m_TlmRecv_InputPort[portNum];
549 static_cast<FwAssertArgType>(portNum)
552 return &this->m_configureSectionGroupRate_InputPort[portNum];
560 static_cast<FwAssertArgType>(portNum)
563 return &this->m_controlIn_InputPort[portNum];
571 static_cast<FwAssertArgType>(portNum)
574 return &this->m_pingIn_InputPort[portNum];
579 #if !FW_DIRECT_PORT_CALLS 593 static_cast<FwAssertArgType>(portNum)
596 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
607 static_cast<FwAssertArgType>(portNum)
610 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
621 static_cast<FwAssertArgType>(portNum)
624 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
635 static_cast<FwAssertArgType>(portNum)
638 this->m_paramGetOut_OutputPort[portNum].
addCallPort(port);
649 static_cast<FwAssertArgType>(portNum)
652 this->m_paramSetOut_OutputPort[portNum].
addCallPort(port);
655 #if FW_ENABLE_TEXT_LOGGING == 1 657 void TlmPacketizerComponentBase ::
658 set_textEventOut_OutputPort(
664 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
665 static_cast<FwAssertArgType>(portNum)
668 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
681 static_cast<FwAssertArgType>(portNum)
684 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
695 static_cast<FwAssertArgType>(portNum)
698 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
703 #if !FW_DIRECT_PORT_CALLS 717 static_cast<FwAssertArgType>(portNum)
720 this->m_PktSend_OutputPort[portNum].
addCallPort(port);
731 static_cast<FwAssertArgType>(portNum)
734 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
739 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 748 Fw::InputSerializePort* port
753 static_cast<FwAssertArgType>(portNum)
756 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
762 Fw::InputSerializePort* port
767 static_cast<FwAssertArgType>(portNum)
770 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
776 Fw::InputSerializePort* port
781 static_cast<FwAssertArgType>(portNum)
784 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
790 Fw::InputSerializePort* port
795 static_cast<FwAssertArgType>(portNum)
798 this->m_paramSetOut_OutputPort[portNum].registerSerialPort(port);
801 #if FW_ENABLE_TEXT_LOGGING == 1 803 void TlmPacketizerComponentBase ::
804 set_textEventOut_OutputPort(
806 Fw::InputSerializePort* port
810 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
811 static_cast<FwAssertArgType>(portNum)
814 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
822 Fw::InputSerializePort* port
827 static_cast<FwAssertArgType>(portNum)
830 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
836 Fw::InputSerializePort* port
841 static_cast<FwAssertArgType>(portNum)
844 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
849 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 858 Fw::InputSerializePort* port
863 static_cast<FwAssertArgType>(portNum)
866 this->m_PktSend_OutputPort[portNum].registerSerialPort(port);
872 Fw::InputSerializePort* port
877 static_cast<FwAssertArgType>(portNum)
880 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
962 this->m_param_SECTION_ENABLED_valid = this->paramGetOut_out(
968 this->m_paramLock.
lock();
972 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
976 this->m_param_SECTION_ENABLED_valid,
991 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
995 this->m_param_SECTION_ENABLED_valid,
1003 this->m_paramLock.
unlock();
1004 this->
parameterLoaded(PARAMID_SECTION_ENABLED, this->m_param_SECTION_ENABLED_valid);
1009 this->m_param_SECTION_CONFIGS_valid = this->paramGetOut_out(
1015 this->m_paramLock.
lock();
1019 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
1023 this->m_param_SECTION_CONFIGS_valid,
1038 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
1042 this->m_param_SECTION_CONFIGS_valid,
1050 this->m_paramLock.
unlock();
1051 this->
parameterLoaded(PARAMID_SECTION_CONFIGS, this->m_param_SECTION_CONFIGS_valid);
1063 Fw::ActiveComponentBase(compName)
1065 this->m_OversizedChannelThrottle = 0;
1074 #if !FW_DIRECT_PORT_CALLS 1085 static_cast<FwAssertArgType>(portNum)
1088 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
1096 static_cast<FwAssertArgType>(portNum)
1099 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
1107 static_cast<FwAssertArgType>(portNum)
1110 return this->m_eventOut_OutputPort[portNum].
isConnected();
1118 static_cast<FwAssertArgType>(portNum)
1121 return this->m_paramGetOut_OutputPort[portNum].
isConnected();
1129 static_cast<FwAssertArgType>(portNum)
1132 return this->m_paramSetOut_OutputPort[portNum].
isConnected();
1135 #if FW_ENABLE_TEXT_LOGGING == 1 1137 bool TlmPacketizerComponentBase ::
1138 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
const 1141 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
1142 static_cast<FwAssertArgType>(portNum)
1145 return this->m_textEventOut_OutputPort[portNum].isConnected();
1155 static_cast<FwAssertArgType>(portNum)
1158 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
1166 static_cast<FwAssertArgType>(portNum)
1169 return this->m_tlmOut_OutputPort[portNum].
isConnected();
1174 #if !FW_DIRECT_PORT_CALLS 1185 static_cast<FwAssertArgType>(portNum)
1188 return this->m_PktSend_OutputPort[portNum].
isConnected();
1196 static_cast<FwAssertArgType>(portNum)
1199 return this->m_pingOut_OutputPort[portNum].
isConnected();
1220 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1223 switch (opCode - idBase) {
1338 static_cast<FwAssertArgType>(portNum)
1346 ComponentIpcSerializableBuffer msg;
1350 _status = msg.serializeFrom(
1351 static_cast<FwEnumStoreType>(RUN_SCHED)
1355 static_cast<FwAssertArgType>(_status)
1359 _status = msg.serializeFrom(portNum);
1362 static_cast<FwAssertArgType>(_status)
1366 _status = msg.serializeFrom(context);
1369 static_cast<FwAssertArgType>(_status)
1378 static_cast<FwAssertArgType>(qStatus)
1393 static_cast<FwAssertArgType>(portNum)
1420 static_cast<FwAssertArgType>(portNum)
1445 static_cast<FwAssertArgType>(portNum)
1457 ComponentIpcSerializableBuffer msg;
1461 _status = msg.serializeFrom(
1462 static_cast<FwEnumStoreType>(CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE)
1466 static_cast<FwAssertArgType>(_status)
1470 _status = msg.serializeFrom(portNum);
1473 static_cast<FwAssertArgType>(_status)
1477 _status = msg.serializeFrom(section);
1480 static_cast<FwAssertArgType>(_status)
1484 _status = msg.serializeFrom(tlmGroup);
1487 static_cast<FwAssertArgType>(_status)
1491 _status = msg.serializeFrom(rateLogic);
1494 static_cast<FwAssertArgType>(_status)
1498 _status = msg.serializeFrom(minDelta);
1501 static_cast<FwAssertArgType>(_status)
1505 _status = msg.serializeFrom(maxDelta);
1508 static_cast<FwAssertArgType>(_status)
1517 static_cast<FwAssertArgType>(qStatus)
1531 static_cast<FwAssertArgType>(portNum)
1540 ComponentIpcSerializableBuffer msg;
1544 _status = msg.serializeFrom(
1545 static_cast<FwEnumStoreType>(CONTROLIN_ENABLESECTION)
1549 static_cast<FwAssertArgType>(_status)
1553 _status = msg.serializeFrom(portNum);
1556 static_cast<FwAssertArgType>(_status)
1560 _status = msg.serializeFrom(section);
1563 static_cast<FwAssertArgType>(_status)
1567 _status = msg.serializeFrom(enabled);
1570 static_cast<FwAssertArgType>(_status)
1579 static_cast<FwAssertArgType>(qStatus)
1592 static_cast<FwAssertArgType>(portNum)
1600 ComponentIpcSerializableBuffer msg;
1604 _status = msg.serializeFrom(
1605 static_cast<FwEnumStoreType>(PINGIN_PING)
1609 static_cast<FwAssertArgType>(_status)
1613 _status = msg.serializeFrom(portNum);
1616 static_cast<FwAssertArgType>(_status)
1620 _status = msg.serializeFrom(key);
1623 static_cast<FwAssertArgType>(_status)
1630 if (qStatus == Os::Queue::Status::FULL) {
1637 static_cast<FwAssertArgType>(qStatus)
1690 #if !FW_DIRECT_PORT_CALLS 1705 static_cast<FwAssertArgType>(portNum)
1709 this->m_PktSend_OutputPort[portNum].isConnected(),
1710 static_cast<FwAssertArgType>(portNum)
1712 this->m_PktSend_OutputPort[portNum].
invoke(
1726 static_cast<FwAssertArgType>(portNum)
1730 this->m_pingOut_OutputPort[portNum].isConnected(),
1731 static_cast<FwAssertArgType>(portNum)
1733 this->m_pingOut_OutputPort[portNum].
invoke(
1752 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
1773 ComponentIpcSerializableBuffer msg;
1777 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SET_LEVEL));
1780 static_cast<FwAssertArgType>(_status)
1786 _status = msg.serializeFrom(port);
1789 static_cast<FwAssertArgType>(_status)
1792 _status = msg.serializeFrom(opCode);
1795 static_cast<FwAssertArgType>(_status)
1798 _status = msg.serializeFrom(cmdSeq);
1801 static_cast<FwAssertArgType>(_status)
1804 _status = msg.serializeFrom(args);
1807 static_cast<FwAssertArgType>(_status)
1816 static_cast<FwAssertArgType>(qStatus)
1832 ComponentIpcSerializableBuffer msg;
1836 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SEND_PKT));
1839 static_cast<FwAssertArgType>(_status)
1845 _status = msg.serializeFrom(port);
1848 static_cast<FwAssertArgType>(_status)
1851 _status = msg.serializeFrom(opCode);
1854 static_cast<FwAssertArgType>(_status)
1857 _status = msg.serializeFrom(cmdSeq);
1860 static_cast<FwAssertArgType>(_status)
1863 _status = msg.serializeFrom(args);
1866 static_cast<FwAssertArgType>(_status)
1875 static_cast<FwAssertArgType>(qStatus)
1891 ComponentIpcSerializableBuffer msg;
1895 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_SECTION));
1898 static_cast<FwAssertArgType>(_status)
1904 _status = msg.serializeFrom(port);
1907 static_cast<FwAssertArgType>(_status)
1910 _status = msg.serializeFrom(opCode);
1913 static_cast<FwAssertArgType>(_status)
1916 _status = msg.serializeFrom(cmdSeq);
1919 static_cast<FwAssertArgType>(_status)
1922 _status = msg.serializeFrom(args);
1925 static_cast<FwAssertArgType>(_status)
1934 static_cast<FwAssertArgType>(qStatus)
1950 ComponentIpcSerializableBuffer msg;
1954 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_ENABLE_GROUP));
1957 static_cast<FwAssertArgType>(_status)
1963 _status = msg.serializeFrom(port);
1966 static_cast<FwAssertArgType>(_status)
1969 _status = msg.serializeFrom(opCode);
1972 static_cast<FwAssertArgType>(_status)
1975 _status = msg.serializeFrom(cmdSeq);
1978 static_cast<FwAssertArgType>(_status)
1981 _status = msg.serializeFrom(args);
1984 static_cast<FwAssertArgType>(_status)
1993 static_cast<FwAssertArgType>(qStatus)
2009 ComponentIpcSerializableBuffer msg;
2013 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FORCE_GROUP));
2016 static_cast<FwAssertArgType>(_status)
2022 _status = msg.serializeFrom(port);
2025 static_cast<FwAssertArgType>(_status)
2028 _status = msg.serializeFrom(opCode);
2031 static_cast<FwAssertArgType>(_status)
2034 _status = msg.serializeFrom(cmdSeq);
2037 static_cast<FwAssertArgType>(_status)
2040 _status = msg.serializeFrom(args);
2043 static_cast<FwAssertArgType>(_status)
2052 static_cast<FwAssertArgType>(qStatus)
2068 ComponentIpcSerializableBuffer msg;
2072 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CONFIGURE_GROUP_RATES));
2075 static_cast<FwAssertArgType>(_status)
2081 _status = msg.serializeFrom(port);
2084 static_cast<FwAssertArgType>(_status)
2087 _status = msg.serializeFrom(opCode);
2090 static_cast<FwAssertArgType>(_status)
2093 _status = msg.serializeFrom(cmdSeq);
2096 static_cast<FwAssertArgType>(_status)
2099 _status = msg.serializeFrom(args);
2102 static_cast<FwAssertArgType>(_status)
2111 static_cast<FwAssertArgType>(qStatus)
2199 this->timeGetOut_out(0, _logTime);
2209 #if FW_AMPCS_COMPATIBLE 2214 static_cast<FwAssertArgType>(_status)
2218 #if FW_AMPCS_COMPATIBLE 2225 static_cast<FwAssertArgType>(_status)
2231 static_cast<FwAssertArgType>(_status)
2244 #if FW_ENABLE_TEXT_LOGGING 2245 if (this->isConnected_textEventOut_OutputPort(0)) {
2246 #if FW_OBJECT_NAMES == 1 2247 const char* _formatString =
2248 "(%s) %s: Telemetry ID 0x%" PRIx32
" not packetized";
2250 const char* _formatString =
2251 "%s: Telemetry ID 0x%" PRIx32
" not packetized";
2255 (void) _logString.
format(
2258 this->m_objName.toChar(),
2264 this->textEventOut_out(
2281 this->timeGetOut_out(0, _logTime);
2291 #if FW_AMPCS_COMPATIBLE 2296 static_cast<FwAssertArgType>(_status)
2300 #if FW_AMPCS_COMPATIBLE 2307 static_cast<FwAssertArgType>(_status)
2313 static_cast<FwAssertArgType>(_status)
2326 #if FW_ENABLE_TEXT_LOGGING 2327 if (this->isConnected_textEventOut_OutputPort(0)) {
2328 #if FW_OBJECT_NAMES == 1 2329 const char* _formatString =
2330 "(%s) %s: Telemetry send level to %" PRIu32
"";
2332 const char* _formatString =
2333 "%s: Telemetry send level to %" PRIu32
"";
2337 (void) _logString.
format(
2340 this->m_objName.toChar(),
2346 this->textEventOut_out(
2366 this->timeGetOut_out(0, _logTime);
2376 #if FW_AMPCS_COMPATIBLE 2381 static_cast<FwAssertArgType>(_status)
2385 #if FW_AMPCS_COMPATIBLE 2392 static_cast<FwAssertArgType>(_status)
2398 static_cast<FwAssertArgType>(_status)
2401 #if FW_AMPCS_COMPATIBLE 2408 static_cast<FwAssertArgType>(_status)
2414 static_cast<FwAssertArgType>(_status)
2427 #if FW_ENABLE_TEXT_LOGGING 2428 if (this->isConnected_textEventOut_OutputPort(0)) {
2429 #if FW_OBJECT_NAMES == 1 2430 const char* _formatString =
2431 "(%s) %s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2433 const char* _formatString =
2434 "%s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
2438 (void) _logString.
format(
2441 this->m_objName.toChar(),
2448 this->textEventOut_out(
2465 this->timeGetOut_out(0, _logTime);
2475 #if FW_AMPCS_COMPATIBLE 2480 static_cast<FwAssertArgType>(_status)
2484 #if FW_AMPCS_COMPATIBLE 2487 static_cast<U8>(
sizeof(U32))
2491 static_cast<FwAssertArgType>(_status)
2497 static_cast<FwAssertArgType>(_status)
2510 #if FW_ENABLE_TEXT_LOGGING 2511 if (this->isConnected_textEventOut_OutputPort(0)) {
2512 #if FW_OBJECT_NAMES == 1 2513 const char* _formatString =
2514 "(%s) %s: Sent packet ID %" PRIu32
"";
2516 const char* _formatString =
2517 "%s: Sent packet ID %" PRIu32
"";
2521 (void) _logString.
format(
2524 this->m_objName.toChar(),
2530 this->textEventOut_out(
2547 this->timeGetOut_out(0, _logTime);
2557 #if FW_AMPCS_COMPATIBLE 2562 static_cast<FwAssertArgType>(_status)
2566 #if FW_AMPCS_COMPATIBLE 2569 static_cast<U8>(
sizeof(U32))
2573 static_cast<FwAssertArgType>(_status)
2579 static_cast<FwAssertArgType>(_status)
2592 #if FW_ENABLE_TEXT_LOGGING 2593 if (this->isConnected_textEventOut_OutputPort(0)) {
2594 #if FW_OBJECT_NAMES == 1 2595 const char* _formatString =
2596 "(%s) %s: Could not find packet ID %" PRIu32
"";
2598 const char* _formatString =
2599 "%s: Could not find packet ID %" PRIu32
"";
2603 (void) _logString.
format(
2606 this->m_objName.toChar(),
2612 this->textEventOut_out(
2632 this->timeGetOut_out(0, _logTime);
2642 #if FW_AMPCS_COMPATIBLE 2647 static_cast<FwAssertArgType>(_status)
2651 #if FW_AMPCS_COMPATIBLE 2658 static_cast<FwAssertArgType>(_status)
2664 static_cast<FwAssertArgType>(_status)
2667 #if FW_AMPCS_COMPATIBLE 2674 static_cast<FwAssertArgType>(_status)
2680 static_cast<FwAssertArgType>(_status)
2693 #if FW_ENABLE_TEXT_LOGGING 2694 if (this->isConnected_textEventOut_OutputPort(0)) {
2695 #if FW_OBJECT_NAMES == 1 2696 const char* _formatString =
2697 "(%s) %s: Section %s is unconfigurable and cannot be set to %s";
2699 const char* _formatString =
2700 "%s: Section %s is unconfigurable and cannot be set to %s";
2704 section.toString(sectionStr);
2706 enable.toString(enableStr);
2709 (void) _logString.
format(
2712 this->m_objName.toChar(),
2714 "SectionUnconfigurable ",
2719 this->textEventOut_out(
2742 this->m_OversizedChannelThrottle++;
2748 this->timeGetOut_out(0, _logTime);
2758 #if FW_AMPCS_COMPATIBLE 2763 static_cast<FwAssertArgType>(_status)
2767 #if FW_AMPCS_COMPATIBLE 2774 static_cast<FwAssertArgType>(_status)
2780 static_cast<FwAssertArgType>(_status)
2783 #if FW_AMPCS_COMPATIBLE 2790 static_cast<FwAssertArgType>(_status)
2796 static_cast<FwAssertArgType>(_status)
2799 #if FW_AMPCS_COMPATIBLE 2806 static_cast<FwAssertArgType>(_status)
2812 static_cast<FwAssertArgType>(_status)
2825 #if FW_ENABLE_TEXT_LOGGING 2826 if (this->isConnected_textEventOut_OutputPort(0)) {
2827 #if FW_OBJECT_NAMES == 1 2828 const char* _formatString =
2829 "(%s) %s: Telemetry ID 0x%" PRIx32
" update of size %" PRIu64
" exceeds configured size %" PRIu64
"";
2831 const char* _formatString =
2832 "%s: Telemetry ID 0x%" PRIx32
" update of size %" PRIu64
" exceeds configured size %" PRIu64
"";
2836 (void) _logString.
format(
2839 this->m_objName.toChar(),
2841 "OversizedChannel ",
2847 this->textEventOut_out(
2866 this->m_OversizedChannelThrottle = 0;
2885 this->timeGetOut_out(0, _tlmTime);
2915 static_cast<FwAssertArgType>(_stat)
2937 static_cast<FwAssertArgType>(_stat)
2983 this->m_paramLock.
lock();
2984 valid = this->m_param_SECTION_ENABLED_valid;
2987 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
2989 static_cast<FwPrmIdType>(this->
getIdBase()),
3000 this->m_paramLock.
unlock();
3008 this->m_paramLock.
lock();
3009 valid = this->m_param_SECTION_CONFIGS_valid;
3012 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
3014 static_cast<FwPrmIdType>(this->
getIdBase()),
3025 this->m_paramLock.
unlock();
3036 FW_ASSERT(paramExternalDelegatePtr !=
nullptr);
3037 this->paramDelegatePtr = paramExternalDelegatePtr;
3049 this->timeGetOut_out(0, _time);
3064 ComponentIpcSerializableBuffer _msg;
3074 static_cast<FwAssertArgType>(_msgStatus)
3084 static_cast<FwAssertArgType>(_deserStatus)
3087 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
3089 if (_msgType == TLMPACKETIZER_COMPONENT_EXIT) {
3094 _deserStatus = _msg.deserializeTo(portNum);
3097 static_cast<FwAssertArgType>(_deserStatus)
3105 _deserStatus = _msg.deserializeTo(context);
3108 static_cast<FwAssertArgType>(_deserStatus)
3120 case CONFIGURESECTIONGROUPRATE_CONFIGUREGROUPRATE: {
3123 _deserStatus = _msg.deserializeTo(section);
3126 static_cast<FwAssertArgType>(_deserStatus)
3131 _deserStatus = _msg.deserializeTo(tlmGroup);
3134 static_cast<FwAssertArgType>(_deserStatus)
3139 _deserStatus = _msg.deserializeTo(rateLogic);
3142 static_cast<FwAssertArgType>(_deserStatus)
3147 _deserStatus = _msg.deserializeTo(minDelta);
3150 static_cast<FwAssertArgType>(_deserStatus)
3155 _deserStatus = _msg.deserializeTo(maxDelta);
3158 static_cast<FwAssertArgType>(_deserStatus)
3174 case CONTROLIN_ENABLESECTION: {
3177 _deserStatus = _msg.deserializeTo(section);
3180 static_cast<FwAssertArgType>(_deserStatus)
3185 _deserStatus = _msg.deserializeTo(enabled);
3188 static_cast<FwAssertArgType>(_deserStatus)
3204 _deserStatus = _msg.deserializeTo(key);
3207 static_cast<FwAssertArgType>(_deserStatus)
3219 case CMD_SET_LEVEL: {
3222 _deserStatus = _msg.deserializeTo(_opCode);
3225 static_cast<FwAssertArgType>(_deserStatus)
3230 _deserStatus = _msg.deserializeTo(_cmdSeq);
3233 static_cast<FwAssertArgType>(_deserStatus)
3238 _deserStatus = _msg.deserializeTo(args);
3241 static_cast<FwAssertArgType>(_deserStatus)
3264 #if FW_CMD_CHECK_RESIDUAL 3284 case CMD_SEND_PKT: {
3287 _deserStatus = _msg.deserializeTo(_opCode);
3290 static_cast<FwAssertArgType>(_deserStatus)
3295 _deserStatus = _msg.deserializeTo(_cmdSeq);
3298 static_cast<FwAssertArgType>(_deserStatus)
3303 _deserStatus = _msg.deserializeTo(args);
3306 static_cast<FwAssertArgType>(_deserStatus)
3344 #if FW_CMD_CHECK_RESIDUAL 3365 case CMD_ENABLE_SECTION: {
3368 _deserStatus = _msg.deserializeTo(_opCode);
3371 static_cast<FwAssertArgType>(_deserStatus)
3376 _deserStatus = _msg.deserializeTo(_cmdSeq);
3379 static_cast<FwAssertArgType>(_deserStatus)
3384 _deserStatus = _msg.deserializeTo(args);
3387 static_cast<FwAssertArgType>(_deserStatus)
3425 #if FW_CMD_CHECK_RESIDUAL 3446 case CMD_ENABLE_GROUP: {
3449 _deserStatus = _msg.deserializeTo(_opCode);
3452 static_cast<FwAssertArgType>(_deserStatus)
3457 _deserStatus = _msg.deserializeTo(_cmdSeq);
3460 static_cast<FwAssertArgType>(_deserStatus)
3465 _deserStatus = _msg.deserializeTo(args);
3468 static_cast<FwAssertArgType>(_deserStatus)
3521 #if FW_CMD_CHECK_RESIDUAL 3543 case CMD_FORCE_GROUP: {
3546 _deserStatus = _msg.deserializeTo(_opCode);
3549 static_cast<FwAssertArgType>(_deserStatus)
3554 _deserStatus = _msg.deserializeTo(_cmdSeq);
3557 static_cast<FwAssertArgType>(_deserStatus)
3562 _deserStatus = _msg.deserializeTo(args);
3565 static_cast<FwAssertArgType>(_deserStatus)
3618 #if FW_CMD_CHECK_RESIDUAL 3640 case CMD_CONFIGURE_GROUP_RATES: {
3643 _deserStatus = _msg.deserializeTo(_opCode);
3646 static_cast<FwAssertArgType>(_deserStatus)
3651 _deserStatus = _msg.deserializeTo(_cmdSeq);
3654 static_cast<FwAssertArgType>(_deserStatus)
3659 _deserStatus = _msg.deserializeTo(args);
3662 static_cast<FwAssertArgType>(_deserStatus)
3745 #if FW_CMD_CHECK_RESIDUAL 3779 void TlmPacketizerComponentBase ::
3790 compPtr->cmdIn_handlerBase(
3802 void TlmPacketizerComponentBase ::
3811 compPtr->Run_handlerBase(
3828 return compPtr->TlmGet_handlerBase(
3836 void TlmPacketizerComponentBase ::
3847 compPtr->TlmRecv_handlerBase(
3855 void TlmPacketizerComponentBase ::
3856 m_p_configureSectionGroupRate_in(
3868 compPtr->configureSectionGroupRate_handlerBase(
3878 void TlmPacketizerComponentBase ::
3888 compPtr->controlIn_handlerBase(
3895 void TlmPacketizerComponentBase ::
3904 compPtr->pingIn_handlerBase(
3910 #if !FW_DIRECT_PORT_CALLS 3916 void TlmPacketizerComponentBase ::
3924 static_cast<FwAssertArgType>(portNum)
3928 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
3929 static_cast<FwAssertArgType>(portNum)
3931 this->m_cmdRegOut_OutputPort[portNum].
invoke(
3936 void TlmPacketizerComponentBase ::
3946 static_cast<FwAssertArgType>(portNum)
3950 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
3951 static_cast<FwAssertArgType>(portNum)
3953 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
3960 void TlmPacketizerComponentBase ::
3971 static_cast<FwAssertArgType>(portNum)
3975 this->m_eventOut_OutputPort[portNum].isConnected(),
3976 static_cast<FwAssertArgType>(portNum)
3978 this->m_eventOut_OutputPort[portNum].
invoke(
3995 static_cast<FwAssertArgType>(portNum)
3999 this->m_paramGetOut_OutputPort[portNum].isConnected(),
4000 static_cast<FwAssertArgType>(portNum)
4002 return this->m_paramGetOut_OutputPort[portNum].
invoke(
4008 void TlmPacketizerComponentBase ::
4017 static_cast<FwAssertArgType>(portNum)
4021 this->m_paramSetOut_OutputPort[portNum].isConnected(),
4022 static_cast<FwAssertArgType>(portNum)
4024 this->m_paramSetOut_OutputPort[portNum].
invoke(
4030 #if FW_ENABLE_TEXT_LOGGING 4032 void TlmPacketizerComponentBase ::
4042 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
4043 static_cast<FwAssertArgType>(portNum)
4047 this->m_textEventOut_OutputPort[portNum].isConnected(),
4048 static_cast<FwAssertArgType>(portNum)
4050 this->m_textEventOut_OutputPort[portNum].invoke(
4060 void TlmPacketizerComponentBase ::
4068 static_cast<FwAssertArgType>(portNum)
4072 this->m_timeGetOut_OutputPort[portNum].isConnected(),
4073 static_cast<FwAssertArgType>(portNum)
4075 this->m_timeGetOut_OutputPort[portNum].
invoke(
4080 void TlmPacketizerComponentBase ::
4090 static_cast<FwAssertArgType>(portNum)
4094 this->m_tlmOut_OutputPort[portNum].isConnected(),
4095 static_cast<FwAssertArgType>(portNum)
4097 this->m_tlmOut_OutputPort[portNum].
invoke(
4115 this->m_paramLock.
lock();
4117 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4119 static_cast<FwPrmIdType>(this->
getIdBase()),
4133 this->m_paramLock.
unlock();
4147 this->m_paramLock.
lock();
4149 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4151 static_cast<FwPrmIdType>(this->
getIdBase()),
4165 this->m_paramLock.
unlock();
4179 paramSave_SECTION_ENABLED()
4188 this->m_paramLock.
lock();
4190 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4192 static_cast<FwPrmIdType>(idBase),
4197 this->m_paramLock.
unlock();
4202 this->paramSetOut_out(
4212 paramSave_SECTION_CONFIGS()
4221 this->m_paramLock.
lock();
4223 FW_ASSERT(this->paramDelegatePtr !=
nullptr);
4225 static_cast<FwPrmIdType>(idBase),
4230 this->m_paramLock.
unlock();
4235 this->paramSetOut_out(
bool isConnected_PktSend_OutputPort(FwIndexType portNum) const
Force telemetering a group on a section, even if disabled.
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
Telemetry channel is not part of a telemetry packet.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
#define FW_PARAM_OK(paramValid)
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
The size of the serial representation.
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
virtual void parameterLoaded(FwPrmIdType id, Fw::ParamValid valid)
Called for each parameter when parameters are loaded.
Status
status returned from the queue send function
static constexpr FwIndexType getNum_PktSend_OutputPorts()
Set Min and Max Deltas between successive packets.
Enable / disable a telemetry section.
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
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.
Parameter to control section enable flags.
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
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.
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
Opcode to save parameter SECTION_CONFIGS.
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.
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.
Opcode to set parameter SECTION_ENABLED.
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
The size of the serial representation.
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.
Opcode to set parameter SECTION_CONFIGS.
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.
Telemetry send level set.
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()
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.
Enable / disable telemetry of a group on a section.
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
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
void resetSer() override
Reset serialization pointer to beginning of buffer.
Force a packet to be sent.
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.
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].
Enum representing event severity.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
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.
Set telemetry send level.
uint8_t U8
8-bit unsigned integer
Parameter to control section configuration.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
Telemetry value larger than the configured channel size.
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
Throttle reset count for OversizedChannel.
Command failed to deserialize.
void lock()
lock the mutex and assert success
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Command had execution error.
Couldn't find the packet to send.
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()
message to exit active component task
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.
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.
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.
void incNumMsgDropped()
increment the number of messages dropped
void unlock()
alias for unLock to meet BasicLockable requirements
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.
Telemetry send level set.
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
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_TlmGet_InputPorts()
void invoke(FwPrmIdType id, Fw::ParamBuffer &val) const
Invoke a port connection.
Channel ID for GroupConfigs.
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].
static constexpr FwIndexType getNum_Run_InputPorts()
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
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()
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()