9 #if FW_ENABLE_TEXT_LOGGING 19 BUFFERSENDINFILL_BUFFERSEND,
20 BUFFERSENDINRETURN_BUFFERSEND,
37 class ComponentIpcSerializableBuffer :
47 MAX_DATA_SIZE =
sizeof(BuffUnion),
49 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
53 return sizeof(m_buff);
60 const U8* getBuffAddr()
const {
66 U8 m_buff[SERIALIZATION_SIZE];
84 #if !FW_DIRECT_PORT_CALLS 91 this->m_cmdIn_InputPort[port].
init();
96 this->m_cmdIn_InputPort[port].
setPortNum(port);
98 #if FW_OBJECT_NAMES == 1 102 this->m_objName.toChar(),
105 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
110 #if !FW_DIRECT_PORT_CALLS 117 this->m_bufferSendInFill_InputPort[port].
init();
118 this->m_bufferSendInFill_InputPort[port].
addCallComp(
120 m_p_bufferSendInFill_in
122 this->m_bufferSendInFill_InputPort[port].
setPortNum(port);
124 #if FW_OBJECT_NAMES == 1 128 this->m_objName.toChar(),
131 this->m_bufferSendInFill_InputPort[port].setObjName(portName.
toChar());
136 #if !FW_DIRECT_PORT_CALLS 143 this->m_bufferSendInReturn_InputPort[port].
init();
144 this->m_bufferSendInReturn_InputPort[port].
addCallComp(
146 m_p_bufferSendInReturn_in
148 this->m_bufferSendInReturn_InputPort[port].
setPortNum(port);
150 #if FW_OBJECT_NAMES == 1 154 this->m_objName.toChar(),
157 this->m_bufferSendInReturn_InputPort[port].setObjName(portName.
toChar());
162 #if !FW_DIRECT_PORT_CALLS 169 this->m_pingIn_InputPort[port].
init();
174 this->m_pingIn_InputPort[port].
setPortNum(port);
176 #if FW_OBJECT_NAMES == 1 180 this->m_objName.toChar(),
183 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
188 #if !FW_DIRECT_PORT_CALLS 195 this->m_cmdRegOut_OutputPort[port].
init();
197 #if FW_OBJECT_NAMES == 1 201 this->m_objName.toChar(),
204 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
209 #if !FW_DIRECT_PORT_CALLS 216 this->m_cmdResponseOut_OutputPort[port].
init();
218 #if FW_OBJECT_NAMES == 1 222 this->m_objName.toChar(),
225 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
230 #if !FW_DIRECT_PORT_CALLS 237 this->m_eventOut_OutputPort[port].
init();
239 #if FW_OBJECT_NAMES == 1 243 this->m_objName.toChar(),
246 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
251 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 255 port < static_cast<FwIndexType>(this->getNum_eventOutText_OutputPorts());
258 this->m_eventOutText_OutputPort[port].
init();
260 #if FW_OBJECT_NAMES == 1 264 this->m_objName.toChar(),
267 this->m_eventOutText_OutputPort[port].setObjName(portName.
toChar());
272 #if !FW_DIRECT_PORT_CALLS 279 this->m_timeCaller_OutputPort[port].
init();
281 #if FW_OBJECT_NAMES == 1 285 this->m_objName.toChar(),
288 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
293 #if !FW_DIRECT_PORT_CALLS 300 this->m_tlmOut_OutputPort[port].
init();
302 #if FW_OBJECT_NAMES == 1 306 this->m_objName.toChar(),
309 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
314 #if !FW_DIRECT_PORT_CALLS 321 this->m_bufferSendOutDrain_OutputPort[port].
init();
323 #if FW_OBJECT_NAMES == 1 327 this->m_objName.toChar(),
330 this->m_bufferSendOutDrain_OutputPort[port].setObjName(portName.
toChar());
335 #if !FW_DIRECT_PORT_CALLS 342 this->m_bufferSendOutReturn_OutputPort[port].
init();
344 #if FW_OBJECT_NAMES == 1 348 this->m_objName.toChar(),
351 this->m_bufferSendOutReturn_OutputPort[port].setObjName(portName.
toChar());
356 #if !FW_DIRECT_PORT_CALLS 363 this->m_pingOut_OutputPort[port].
init();
365 #if FW_OBJECT_NAMES == 1 369 this->m_objName.toChar(),
372 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
380 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
384 static_cast<FwAssertArgType>(qStat)
388 #if !FW_DIRECT_PORT_CALLS 399 static_cast<FwAssertArgType>(portNum)
402 return &this->m_cmdIn_InputPort[portNum];
407 #if !FW_DIRECT_PORT_CALLS 418 static_cast<FwAssertArgType>(portNum)
421 return &this->m_bufferSendInFill_InputPort[portNum];
429 static_cast<FwAssertArgType>(portNum)
432 return &this->m_bufferSendInReturn_InputPort[portNum];
440 static_cast<FwAssertArgType>(portNum)
443 return &this->m_pingIn_InputPort[portNum];
448 #if !FW_DIRECT_PORT_CALLS 462 static_cast<FwAssertArgType>(portNum)
465 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
476 static_cast<FwAssertArgType>(portNum)
479 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
490 static_cast<FwAssertArgType>(portNum)
493 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
496 #if FW_ENABLE_TEXT_LOGGING == 1 498 void BufferAccumulatorComponentBase ::
499 set_eventOutText_OutputPort(
505 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
506 static_cast<FwAssertArgType>(portNum)
509 this->m_eventOutText_OutputPort[portNum].addCallPort(port);
522 static_cast<FwAssertArgType>(portNum)
525 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
536 static_cast<FwAssertArgType>(portNum)
539 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
544 #if !FW_DIRECT_PORT_CALLS 558 static_cast<FwAssertArgType>(portNum)
561 this->m_bufferSendOutDrain_OutputPort[portNum].
addCallPort(port);
572 static_cast<FwAssertArgType>(portNum)
575 this->m_bufferSendOutReturn_OutputPort[portNum].
addCallPort(port);
586 static_cast<FwAssertArgType>(portNum)
589 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
594 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 603 Fw::InputSerializePort* port
608 static_cast<FwAssertArgType>(portNum)
611 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
617 Fw::InputSerializePort* port
622 static_cast<FwAssertArgType>(portNum)
625 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
631 Fw::InputSerializePort* port
636 static_cast<FwAssertArgType>(portNum)
639 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
642 #if FW_ENABLE_TEXT_LOGGING == 1 644 void BufferAccumulatorComponentBase ::
645 set_eventOutText_OutputPort(
647 Fw::InputSerializePort* port
651 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
652 static_cast<FwAssertArgType>(portNum)
655 this->m_eventOutText_OutputPort[portNum].registerSerialPort(port);
663 Fw::InputSerializePort* port
668 static_cast<FwAssertArgType>(portNum)
671 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
677 Fw::InputSerializePort* port
682 static_cast<FwAssertArgType>(portNum)
685 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
690 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 699 Fw::InputSerializePort* port
704 static_cast<FwAssertArgType>(portNum)
707 this->m_bufferSendOutDrain_OutputPort[portNum].registerSerialPort(port);
713 Fw::InputSerializePort* port
718 static_cast<FwAssertArgType>(portNum)
721 this->m_bufferSendOutReturn_OutputPort[portNum].registerSerialPort(port);
727 Fw::InputSerializePort* port
732 static_cast<FwAssertArgType>(portNum)
735 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
766 Fw::ActiveComponentBase(compName)
777 #if !FW_DIRECT_PORT_CALLS 788 static_cast<FwAssertArgType>(portNum)
791 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
799 static_cast<FwAssertArgType>(portNum)
802 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
810 static_cast<FwAssertArgType>(portNum)
813 return this->m_eventOut_OutputPort[portNum].
isConnected();
816 #if FW_ENABLE_TEXT_LOGGING == 1 818 bool BufferAccumulatorComponentBase ::
819 isConnected_eventOutText_OutputPort(
FwIndexType portNum)
const 822 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
823 static_cast<FwAssertArgType>(portNum)
826 return this->m_eventOutText_OutputPort[portNum].isConnected();
836 static_cast<FwAssertArgType>(portNum)
839 return this->m_timeCaller_OutputPort[portNum].
isConnected();
847 static_cast<FwAssertArgType>(portNum)
850 return this->m_tlmOut_OutputPort[portNum].
isConnected();
855 #if !FW_DIRECT_PORT_CALLS 866 static_cast<FwAssertArgType>(portNum)
869 return this->m_bufferSendOutDrain_OutputPort[portNum].
isConnected();
877 static_cast<FwAssertArgType>(portNum)
880 return this->m_bufferSendOutReturn_OutputPort[portNum].
isConnected();
888 static_cast<FwAssertArgType>(portNum)
891 return this->m_pingOut_OutputPort[portNum].
isConnected();
912 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
915 switch (opCode - idBase) {
954 static_cast<FwAssertArgType>(portNum)
962 ComponentIpcSerializableBuffer msg;
966 _status = msg.serializeFrom(
967 static_cast<FwEnumStoreType>(BUFFERSENDINFILL_BUFFERSEND)
971 static_cast<FwAssertArgType>(_status)
975 _status = msg.serializeFrom(portNum);
978 static_cast<FwAssertArgType>(_status)
982 _status = msg.serializeFrom(fwBuffer);
985 static_cast<FwAssertArgType>(_status)
994 static_cast<FwAssertArgType>(qStatus)
1007 static_cast<FwAssertArgType>(portNum)
1015 ComponentIpcSerializableBuffer msg;
1019 _status = msg.serializeFrom(
1020 static_cast<FwEnumStoreType>(BUFFERSENDINRETURN_BUFFERSEND)
1024 static_cast<FwAssertArgType>(_status)
1028 _status = msg.serializeFrom(portNum);
1031 static_cast<FwAssertArgType>(_status)
1035 _status = msg.serializeFrom(fwBuffer);
1038 static_cast<FwAssertArgType>(_status)
1047 static_cast<FwAssertArgType>(qStatus)
1060 static_cast<FwAssertArgType>(portNum)
1068 ComponentIpcSerializableBuffer msg;
1072 _status = msg.serializeFrom(
1073 static_cast<FwEnumStoreType>(PINGIN_PING)
1077 static_cast<FwAssertArgType>(_status)
1081 _status = msg.serializeFrom(portNum);
1084 static_cast<FwAssertArgType>(_status)
1088 _status = msg.serializeFrom(key);
1091 static_cast<FwAssertArgType>(_status)
1100 static_cast<FwAssertArgType>(qStatus)
1139 #if !FW_DIRECT_PORT_CALLS 1153 static_cast<FwAssertArgType>(portNum)
1157 this->m_bufferSendOutDrain_OutputPort[portNum].isConnected(),
1158 static_cast<FwAssertArgType>(portNum)
1160 this->m_bufferSendOutDrain_OutputPort[portNum].
invoke(
1173 static_cast<FwAssertArgType>(portNum)
1177 this->m_bufferSendOutReturn_OutputPort[portNum].isConnected(),
1178 static_cast<FwAssertArgType>(portNum)
1180 this->m_bufferSendOutReturn_OutputPort[portNum].
invoke(
1193 static_cast<FwAssertArgType>(portNum)
1197 this->m_pingOut_OutputPort[portNum].isConnected(),
1198 static_cast<FwAssertArgType>(portNum)
1200 this->m_pingOut_OutputPort[portNum].
invoke(
1219 this->cmdResponseOut_out(0, opCode, cmdSeq, response);
1240 ComponentIpcSerializableBuffer msg;
1244 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BA_SETMODE));
1247 static_cast<FwAssertArgType>(_status)
1253 _status = msg.serializeFrom(port);
1256 static_cast<FwAssertArgType>(_status)
1259 _status = msg.serializeFrom(opCode);
1262 static_cast<FwAssertArgType>(_status)
1265 _status = msg.serializeFrom(cmdSeq);
1268 static_cast<FwAssertArgType>(_status)
1271 _status = msg.serializeFrom(args);
1274 static_cast<FwAssertArgType>(_status)
1283 static_cast<FwAssertArgType>(qStatus)
1299 ComponentIpcSerializableBuffer msg;
1303 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BA_DRAINBUFFERS));
1306 static_cast<FwAssertArgType>(_status)
1312 _status = msg.serializeFrom(port);
1315 static_cast<FwAssertArgType>(_status)
1318 _status = msg.serializeFrom(opCode);
1321 static_cast<FwAssertArgType>(_status)
1324 _status = msg.serializeFrom(cmdSeq);
1327 static_cast<FwAssertArgType>(_status)
1330 _status = msg.serializeFrom(args);
1333 static_cast<FwAssertArgType>(_status)
1342 static_cast<FwAssertArgType>(qStatus)
1386 this->timeCaller_out(0, _logTime);
1395 #if FW_AMPCS_COMPATIBLE 1401 static_cast<FwAssertArgType>(_status)
1415 #if FW_ENABLE_TEXT_LOGGING 1416 if (this->isConnected_eventOutText_OutputPort(0)) {
1417 #if FW_OBJECT_NAMES == 1 1418 const char* _formatString =
1419 "(%s) %s: Buffer accepted";
1421 const char* _formatString =
1422 "%s: Buffer accepted";
1429 this->m_objName.toChar(),
1431 "BA_BufferAccepted " 1434 this->eventOutText_out(
1451 this->timeCaller_out(0, _logTime);
1460 #if FW_AMPCS_COMPATIBLE 1466 static_cast<FwAssertArgType>(_status)
1480 #if FW_ENABLE_TEXT_LOGGING 1481 if (this->isConnected_eventOutText_OutputPort(0)) {
1482 #if FW_OBJECT_NAMES == 1 1483 const char* _formatString =
1484 "(%s) %s: Queue full";
1486 const char* _formatString =
1494 this->m_objName.toChar(),
1499 this->eventOutText_out(
1519 this->timeCaller_out(0, _logTime);
1529 #if FW_AMPCS_COMPATIBLE 1534 static_cast<FwAssertArgType>(_status)
1538 #if FW_AMPCS_COMPATIBLE 1541 static_cast<U8>(
sizeof(U32))
1545 static_cast<FwAssertArgType>(_status)
1551 static_cast<FwAssertArgType>(_status)
1554 #if FW_AMPCS_COMPATIBLE 1557 static_cast<U8>(
sizeof(U32))
1561 static_cast<FwAssertArgType>(_status)
1567 static_cast<FwAssertArgType>(_status)
1580 #if FW_ENABLE_TEXT_LOGGING 1581 if (this->isConnected_eventOutText_OutputPort(0)) {
1582 #if FW_OBJECT_NAMES == 1 1583 const char* _formatString =
1584 "(%s) %s: Still draining %" PRIu32
" of %" PRIu32
"";
1586 const char* _formatString =
1587 "%s: Still draining %" PRIu32
" of %" PRIu32
"";
1594 this->m_objName.toChar(),
1596 "BA_StillDraining ",
1601 this->eventOutText_out(
1618 this->timeCaller_out(0, _logTime);
1627 #if FW_AMPCS_COMPATIBLE 1633 static_cast<FwAssertArgType>(_status)
1647 #if FW_ENABLE_TEXT_LOGGING 1648 if (this->isConnected_eventOutText_OutputPort(0)) {
1649 #if FW_OBJECT_NAMES == 1 1650 const char* _formatString =
1651 "(%s) %s: Already in DRAIN mode";
1653 const char* _formatString =
1654 "%s: Already in DRAIN mode";
1661 this->m_objName.toChar(),
1663 "BA_AlreadyDraining " 1666 this->eventOutText_out(
1686 this->timeCaller_out(0, _logTime);
1696 #if FW_AMPCS_COMPATIBLE 1701 static_cast<FwAssertArgType>(_status)
1705 #if FW_AMPCS_COMPATIBLE 1708 static_cast<U8>(
sizeof(U32))
1712 static_cast<FwAssertArgType>(_status)
1718 static_cast<FwAssertArgType>(_status)
1721 #if FW_AMPCS_COMPATIBLE 1724 static_cast<U8>(
sizeof(U32))
1728 static_cast<FwAssertArgType>(_status)
1734 static_cast<FwAssertArgType>(_status)
1747 #if FW_ENABLE_TEXT_LOGGING 1748 if (this->isConnected_eventOutText_OutputPort(0)) {
1749 #if FW_OBJECT_NAMES == 1 1750 const char* _formatString =
1751 "(%s) %s: Drain stalling - only drained %" PRIu32
" of %" PRIu32
"";
1753 const char* _formatString =
1754 "%s: Drain stalling - only drained %" PRIu32
" of %" PRIu32
"";
1761 this->m_objName.toChar(),
1768 this->eventOutText_out(
1785 this->timeCaller_out(0, _logTime);
1795 #if FW_AMPCS_COMPATIBLE 1800 static_cast<FwAssertArgType>(_status)
1804 #if FW_AMPCS_COMPATIBLE 1807 static_cast<U8>(
sizeof(U32))
1811 static_cast<FwAssertArgType>(_status)
1817 static_cast<FwAssertArgType>(_status)
1830 #if FW_ENABLE_TEXT_LOGGING 1831 if (this->isConnected_eventOutText_OutputPort(0)) {
1832 #if FW_OBJECT_NAMES == 1 1833 const char* _formatString =
1834 "(%s) %s: Partial drain of %" PRIu32
" finished";
1836 const char* _formatString =
1837 "%s: Partial drain of %" PRIu32
" finished";
1844 this->m_objName.toChar(),
1846 "BA_PartialDrainDone ",
1850 this->eventOutText_out(
1870 this->timeCaller_out(0, _logTime);
1880 #if FW_AMPCS_COMPATIBLE 1885 static_cast<FwAssertArgType>(_status)
1889 #if FW_AMPCS_COMPATIBLE 1892 static_cast<U8>(
sizeof(U32))
1896 static_cast<FwAssertArgType>(_status)
1902 static_cast<FwAssertArgType>(_status)
1905 #if FW_AMPCS_COMPATIBLE 1908 static_cast<U8>(
sizeof(U32))
1912 static_cast<FwAssertArgType>(_status)
1918 static_cast<FwAssertArgType>(_status)
1931 #if FW_ENABLE_TEXT_LOGGING 1932 if (this->isConnected_eventOutText_OutputPort(0)) {
1933 #if FW_OBJECT_NAMES == 1 1934 const char* _formatString =
1935 "(%s) %s: Only have %" PRIu32
"; requested drain of %" PRIu32
"";
1937 const char* _formatString =
1938 "%s: Only have %" PRIu32
"; requested drain of %" PRIu32
"";
1945 this->m_objName.toChar(),
1947 "BA_NonBlockDrain ",
1952 this->eventOutText_out(
1979 this->timeCaller_out(0, _tlmTime);
2009 static_cast<FwAssertArgType>(_stat)
2029 this->timeCaller_out(0, _time);
2044 ComponentIpcSerializableBuffer _msg;
2054 static_cast<FwAssertArgType>(_msgStatus)
2064 static_cast<FwAssertArgType>(_deserStatus)
2067 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2069 if (_msgType == BUFFERACCUMULATOR_COMPONENT_EXIT) {
2074 _deserStatus = _msg.deserializeTo(portNum);
2077 static_cast<FwAssertArgType>(_deserStatus)
2082 case BUFFERSENDINFILL_BUFFERSEND: {
2085 _deserStatus = _msg.deserializeTo(fwBuffer);
2088 static_cast<FwAssertArgType>(_deserStatus)
2100 case BUFFERSENDINRETURN_BUFFERSEND: {
2103 _deserStatus = _msg.deserializeTo(fwBuffer);
2106 static_cast<FwAssertArgType>(_deserStatus)
2121 _deserStatus = _msg.deserializeTo(key);
2124 static_cast<FwAssertArgType>(_deserStatus)
2136 case CMD_BA_SETMODE: {
2139 _deserStatus = _msg.deserializeTo(_opCode);
2142 static_cast<FwAssertArgType>(_deserStatus)
2147 _deserStatus = _msg.deserializeTo(_cmdSeq);
2150 static_cast<FwAssertArgType>(_deserStatus)
2155 _deserStatus = _msg.deserializeTo(args);
2158 static_cast<FwAssertArgType>(_deserStatus)
2181 #if FW_CMD_CHECK_RESIDUAL 2201 case CMD_BA_DRAINBUFFERS: {
2204 _deserStatus = _msg.deserializeTo(_opCode);
2207 static_cast<FwAssertArgType>(_deserStatus)
2212 _deserStatus = _msg.deserializeTo(_cmdSeq);
2215 static_cast<FwAssertArgType>(_deserStatus)
2220 _deserStatus = _msg.deserializeTo(args);
2223 static_cast<FwAssertArgType>(_deserStatus)
2261 #if FW_CMD_CHECK_RESIDUAL 2292 void BufferAccumulatorComponentBase ::
2303 compPtr->cmdIn_handlerBase(
2315 void BufferAccumulatorComponentBase ::
2316 m_p_bufferSendInFill_in(
2324 compPtr->bufferSendInFill_handlerBase(
2330 void BufferAccumulatorComponentBase ::
2331 m_p_bufferSendInReturn_in(
2339 compPtr->bufferSendInReturn_handlerBase(
2345 void BufferAccumulatorComponentBase ::
2354 compPtr->pingIn_handlerBase(
2360 #if !FW_DIRECT_PORT_CALLS 2366 void BufferAccumulatorComponentBase ::
2374 static_cast<FwAssertArgType>(portNum)
2378 this->m_cmdRegOut_OutputPort[portNum].isConnected(),
2379 static_cast<FwAssertArgType>(portNum)
2381 this->m_cmdRegOut_OutputPort[portNum].
invoke(
2386 void BufferAccumulatorComponentBase ::
2396 static_cast<FwAssertArgType>(portNum)
2400 this->m_cmdResponseOut_OutputPort[portNum].isConnected(),
2401 static_cast<FwAssertArgType>(portNum)
2403 this->m_cmdResponseOut_OutputPort[portNum].
invoke(
2410 void BufferAccumulatorComponentBase ::
2421 static_cast<FwAssertArgType>(portNum)
2425 this->m_eventOut_OutputPort[portNum].isConnected(),
2426 static_cast<FwAssertArgType>(portNum)
2428 this->m_eventOut_OutputPort[portNum].
invoke(
2436 #if FW_ENABLE_TEXT_LOGGING 2438 void BufferAccumulatorComponentBase ::
2448 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
2449 static_cast<FwAssertArgType>(portNum)
2453 this->m_eventOutText_OutputPort[portNum].isConnected(),
2454 static_cast<FwAssertArgType>(portNum)
2456 this->m_eventOutText_OutputPort[portNum].invoke(
2466 void BufferAccumulatorComponentBase ::
2474 static_cast<FwAssertArgType>(portNum)
2478 this->m_timeCaller_OutputPort[portNum].isConnected(),
2479 static_cast<FwAssertArgType>(portNum)
2481 this->m_timeCaller_OutputPort[portNum].
invoke(
2486 void BufferAccumulatorComponentBase ::
2496 static_cast<FwAssertArgType>(portNum)
2500 this->m_tlmOut_OutputPort[portNum].isConnected(),
2501 static_cast<FwAssertArgType>(portNum)
2503 this->m_tlmOut_OutputPort[portNum].
invoke(
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
message to exit active component task
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
static constexpr FwSizeType CAPACITY
virtual void BA_SetMode_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferAccumulator_OpState mode)=0
static constexpr FwIndexType getNum_pingIn_InputPorts()
FwIdType FwOpcodeType
The type of a command opcode.
virtual void bufferSendInReturn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInReturn.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
FwIdType getIdBase() const
PlatformSizeType FwSizeType
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void bufferSendOutReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOutReturn.
Status
status returned from the queue send function
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual ~BufferAccumulatorComponentBase()
Destroy BufferAccumulatorComponentBase object.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have...
static constexpr FwIndexType getNum_bufferSendInReturn_InputPorts()
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
static constexpr FwSizeType CAPACITY
void invoke(U32 key) const
Invoke a port connection.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
static constexpr FwIndexType getNum_bufferSendInFill_InputPorts()
void init()
Initialization function.
void log_ACTIVITY_HI_BA_PartialDrainDone(U32 numDrained) const
Enum representing a command response.
void log_ACTIVITY_HI_BA_BufferAccepted() const
No time base has been established (Required)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
BufferAccumulatorComponentBase(const char *compName="")
Construct BufferAccumulatorComponentBase object.
Os::Queue m_queue
queue object for active component
Ran out of buffers while executing DrainBuffers command.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
void addCallPort(InputTlmPort *callPort)
Register an input port.
Drain the commanded number of buffers.
void init()
Object initializer.
SerializeStatus
forward declaration for string
void log_WARNING_LO_BA_NonBlockDrain(U32 numWillDrain, U32 numReqDrain) const
Message will block until space is available.
static constexpr FwIndexType getNum_bufferSendOutDrain_OutputPorts()
FwIdType FwEventIdType
The type of an event identifier.
Finished DrainBuffers command.
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
void set_bufferSendOutReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutReturn[portNum].
static constexpr FwSizeType CAPACITY
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void log_WARNING_HI_BA_StillDraining(U32 numDrained, U32 numToDrain) const
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void tlmWrite_BA_NumQueuedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
A less serious but recoverable event.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
void init()
Initialization function.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
virtual void bufferSendInFill_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInFill.
void invoke(Fw::Time &time) const
Invoke a port connection.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
void BA_DrainBuffers_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
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 regCommands()
Register commands with the Command Dispatcher.
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
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
A serious but recoverable event.
void BA_SetMode_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Errors dispatching messages.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
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*.
Enum representing event severity.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
Got DrainBuffers command while in DRAIN mode.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
virtual void BA_DrainBuffers_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_DrainBuffers.
uint8_t U8
8-bit unsigned integer
Command failed to deserialize.
void set_bufferSendOutDrain_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutDrain[portNum].
bool isConnected_eventOut_OutputPort(FwIndexType portNum) const
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Important informational events.
void init()
Initialization function.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
Fw::InputBufferSendPort * get_bufferSendInReturn_InputPort(FwIndexType portNum)
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
virtual void bufferSendInFill_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInFill.
A message was sent requesting an exit of the loop.
void log_WARNING_HI_BA_AlreadyDraining() const
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
void bufferSendOutDrain_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOutDrain.
static constexpr FwIndexType getNum_bufferSendOutReturn_OutputPorts()
void addCallPort(InputLogPort *callPort)
Register an input port.
Channel ID for BA_NumQueuedBuffers.
bool isConnected_bufferSendOutReturn_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Fw::InputBufferSendPort * get_bufferSendInFill_InputPort(FwIndexType portNum)
void init()
Initialization function.
void log_WARNING_HI_BA_DrainStalled(U32 numDrained, U32 numToDrain) const
void log_WARNING_HI_BA_QueueFull() const
RateGroupDivider component implementation.
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
virtual void bufferSendInReturn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInReturn.
void bufferSendInFill_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInFill.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
bool isConnected_bufferSendOutDrain_OutputPort(FwIndexType portNum) const
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void init()
Initialization function.
Got DrainBuffers command while executing DrainBuffers command.
void bufferSendInReturn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInReturn.
virtual void BA_DrainBuffers_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 numToDrain, Svc::BufferAccumulator_BlockMode blockMode)=0
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.