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];
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());
114 this->m_bufferSendInFill_InputPort[port].
init();
115 this->m_bufferSendInFill_InputPort[port].
addCallComp(
117 m_p_bufferSendInFill_in
119 this->m_bufferSendInFill_InputPort[port].
setPortNum(port);
121 #if FW_OBJECT_NAMES == 1 125 this->m_objName.toChar(),
128 this->m_bufferSendInFill_InputPort[port].setObjName(portName.
toChar());
138 this->m_bufferSendInReturn_InputPort[port].
init();
139 this->m_bufferSendInReturn_InputPort[port].
addCallComp(
141 m_p_bufferSendInReturn_in
143 this->m_bufferSendInReturn_InputPort[port].
setPortNum(port);
145 #if FW_OBJECT_NAMES == 1 149 this->m_objName.toChar(),
152 this->m_bufferSendInReturn_InputPort[port].setObjName(portName.
toChar());
162 this->m_pingIn_InputPort[port].
init();
167 this->m_pingIn_InputPort[port].
setPortNum(port);
169 #if FW_OBJECT_NAMES == 1 173 this->m_objName.toChar(),
176 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
186 this->m_cmdRegOut_OutputPort[port].
init();
188 #if FW_OBJECT_NAMES == 1 192 this->m_objName.toChar(),
195 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
205 this->m_cmdResponseOut_OutputPort[port].
init();
207 #if FW_OBJECT_NAMES == 1 211 this->m_objName.toChar(),
214 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
224 this->m_eventOut_OutputPort[port].
init();
226 #if FW_OBJECT_NAMES == 1 230 this->m_objName.toChar(),
233 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
237 #if FW_ENABLE_TEXT_LOGGING == 1 241 port < static_cast<FwIndexType>(this->getNum_eventOutText_OutputPorts());
244 this->m_eventOutText_OutputPort[port].
init();
246 #if FW_OBJECT_NAMES == 1 250 this->m_objName.toChar(),
253 this->m_eventOutText_OutputPort[port].setObjName(portName.
toChar());
264 this->m_timeCaller_OutputPort[port].
init();
266 #if FW_OBJECT_NAMES == 1 270 this->m_objName.toChar(),
273 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
283 this->m_tlmOut_OutputPort[port].
init();
285 #if FW_OBJECT_NAMES == 1 289 this->m_objName.toChar(),
292 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
302 this->m_bufferSendOutDrain_OutputPort[port].
init();
304 #if FW_OBJECT_NAMES == 1 308 this->m_objName.toChar(),
311 this->m_bufferSendOutDrain_OutputPort[port].setObjName(portName.
toChar());
321 this->m_bufferSendOutReturn_OutputPort[port].
init();
323 #if FW_OBJECT_NAMES == 1 327 this->m_objName.toChar(),
330 this->m_bufferSendOutReturn_OutputPort[port].setObjName(portName.
toChar());
340 this->m_pingOut_OutputPort[port].
init();
342 #if FW_OBJECT_NAMES == 1 346 this->m_objName.toChar(),
349 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
356 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
360 static_cast<FwAssertArgType>(qStat)
373 static_cast<FwAssertArgType>(portNum)
376 return &this->m_cmdIn_InputPort[portNum];
388 static_cast<FwAssertArgType>(portNum)
391 return &this->m_bufferSendInFill_InputPort[portNum];
399 static_cast<FwAssertArgType>(portNum)
402 return &this->m_bufferSendInReturn_InputPort[portNum];
410 static_cast<FwAssertArgType>(portNum)
413 return &this->m_pingIn_InputPort[portNum];
428 static_cast<FwAssertArgType>(portNum)
431 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
442 static_cast<FwAssertArgType>(portNum)
445 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
456 static_cast<FwAssertArgType>(portNum)
459 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
462 #if FW_ENABLE_TEXT_LOGGING == 1 464 void BufferAccumulatorComponentBase ::
465 set_eventOutText_OutputPort(
471 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
472 static_cast<FwAssertArgType>(portNum)
475 this->m_eventOutText_OutputPort[portNum].addCallPort(port);
488 static_cast<FwAssertArgType>(portNum)
491 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
502 static_cast<FwAssertArgType>(portNum)
505 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
520 static_cast<FwAssertArgType>(portNum)
523 this->m_bufferSendOutDrain_OutputPort[portNum].
addCallPort(port);
534 static_cast<FwAssertArgType>(portNum)
537 this->m_bufferSendOutReturn_OutputPort[portNum].
addCallPort(port);
548 static_cast<FwAssertArgType>(portNum)
551 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
554 #if FW_PORT_SERIALIZATION 563 Fw::InputSerializePort* port
568 static_cast<FwAssertArgType>(portNum)
571 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
577 Fw::InputSerializePort* port
582 static_cast<FwAssertArgType>(portNum)
585 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
591 Fw::InputSerializePort* port
596 static_cast<FwAssertArgType>(portNum)
599 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
602 #if FW_ENABLE_TEXT_LOGGING == 1 604 void BufferAccumulatorComponentBase ::
605 set_eventOutText_OutputPort(
607 Fw::InputSerializePort* port
611 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
612 static_cast<FwAssertArgType>(portNum)
615 this->m_eventOutText_OutputPort[portNum].registerSerialPort(port);
623 Fw::InputSerializePort* port
628 static_cast<FwAssertArgType>(portNum)
631 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
637 Fw::InputSerializePort* port
642 static_cast<FwAssertArgType>(portNum)
645 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
650 #if FW_PORT_SERIALIZATION 659 Fw::InputSerializePort* port
664 static_cast<FwAssertArgType>(portNum)
667 this->m_bufferSendOutDrain_OutputPort[portNum].registerSerialPort(port);
673 Fw::InputSerializePort* port
678 static_cast<FwAssertArgType>(portNum)
681 this->m_bufferSendOutReturn_OutputPort[portNum].registerSerialPort(port);
687 Fw::InputSerializePort* port
692 static_cast<FwAssertArgType>(portNum)
695 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
707 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
709 this->m_cmdRegOut_OutputPort[0].
invoke(
713 this->m_cmdRegOut_OutputPort[0].
invoke(
724 Fw::ActiveComponentBase(compName)
789 #if FW_ENABLE_TEXT_LOGGING == 1 792 getNum_eventOutText_OutputPorts()
const 842 static_cast<FwAssertArgType>(portNum)
845 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
853 static_cast<FwAssertArgType>(portNum)
856 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
864 static_cast<FwAssertArgType>(portNum)
867 return this->m_eventOut_OutputPort[portNum].
isConnected();
870 #if FW_ENABLE_TEXT_LOGGING == 1 872 bool BufferAccumulatorComponentBase ::
873 isConnected_eventOutText_OutputPort(
FwIndexType portNum)
876 (0 <= portNum) && (portNum < this->getNum_eventOutText_OutputPorts()),
877 static_cast<FwAssertArgType>(portNum)
880 return this->m_eventOutText_OutputPort[portNum].isConnected();
890 static_cast<FwAssertArgType>(portNum)
893 return this->m_timeCaller_OutputPort[portNum].
isConnected();
901 static_cast<FwAssertArgType>(portNum)
904 return this->m_tlmOut_OutputPort[portNum].
isConnected();
916 static_cast<FwAssertArgType>(portNum)
919 return this->m_bufferSendOutDrain_OutputPort[portNum].
isConnected();
927 static_cast<FwAssertArgType>(portNum)
930 return this->m_bufferSendOutReturn_OutputPort[portNum].
isConnected();
938 static_cast<FwAssertArgType>(portNum)
941 return this->m_pingOut_OutputPort[portNum].
isConnected();
959 static_cast<FwAssertArgType>(portNum)
967 ComponentIpcSerializableBuffer msg;
971 _status = msg.serializeFrom(
972 static_cast<FwEnumStoreType>(BUFFERSENDINFILL_BUFFERSEND)
976 static_cast<FwAssertArgType>(_status)
980 _status = msg.serializeFrom(portNum);
983 static_cast<FwAssertArgType>(_status)
987 _status = msg.serializeFrom(fwBuffer);
990 static_cast<FwAssertArgType>(_status)
999 static_cast<FwAssertArgType>(qStatus)
1012 static_cast<FwAssertArgType>(portNum)
1020 ComponentIpcSerializableBuffer msg;
1024 _status = msg.serializeFrom(
1025 static_cast<FwEnumStoreType>(BUFFERSENDINRETURN_BUFFERSEND)
1029 static_cast<FwAssertArgType>(_status)
1033 _status = msg.serializeFrom(portNum);
1036 static_cast<FwAssertArgType>(_status)
1040 _status = msg.serializeFrom(fwBuffer);
1043 static_cast<FwAssertArgType>(_status)
1052 static_cast<FwAssertArgType>(qStatus)
1065 static_cast<FwAssertArgType>(portNum)
1073 ComponentIpcSerializableBuffer msg;
1077 _status = msg.serializeFrom(
1078 static_cast<FwEnumStoreType>(PINGIN_PING)
1082 static_cast<FwAssertArgType>(_status)
1086 _status = msg.serializeFrom(portNum);
1089 static_cast<FwAssertArgType>(_status)
1093 _status = msg.serializeFrom(key);
1096 static_cast<FwAssertArgType>(_status)
1105 static_cast<FwAssertArgType>(qStatus)
1156 static_cast<FwAssertArgType>(portNum)
1160 this->m_bufferSendOutDrain_OutputPort[portNum].isConnected(),
1161 static_cast<FwAssertArgType>(portNum)
1163 this->m_bufferSendOutDrain_OutputPort[portNum].
invoke(
1176 static_cast<FwAssertArgType>(portNum)
1180 this->m_bufferSendOutReturn_OutputPort[portNum].isConnected(),
1181 static_cast<FwAssertArgType>(portNum)
1183 this->m_bufferSendOutReturn_OutputPort[portNum].
invoke(
1196 static_cast<FwAssertArgType>(portNum)
1200 this->m_pingOut_OutputPort[portNum].isConnected(),
1201 static_cast<FwAssertArgType>(portNum)
1203 this->m_pingOut_OutputPort[portNum].
invoke(
1219 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1220 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1241 ComponentIpcSerializableBuffer msg;
1245 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BA_SETMODE));
1248 static_cast<FwAssertArgType>(_status)
1254 _status = msg.serializeFrom(port);
1257 static_cast<FwAssertArgType>(_status)
1260 _status = msg.serializeFrom(opCode);
1263 static_cast<FwAssertArgType>(_status)
1266 _status = msg.serializeFrom(cmdSeq);
1269 static_cast<FwAssertArgType>(_status)
1272 _status = msg.serializeFrom(args);
1275 static_cast<FwAssertArgType>(_status)
1284 static_cast<FwAssertArgType>(qStatus)
1300 ComponentIpcSerializableBuffer msg;
1304 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_BA_DRAINBUFFERS));
1307 static_cast<FwAssertArgType>(_status)
1313 _status = msg.serializeFrom(port);
1316 static_cast<FwAssertArgType>(_status)
1319 _status = msg.serializeFrom(opCode);
1322 static_cast<FwAssertArgType>(_status)
1325 _status = msg.serializeFrom(cmdSeq);
1328 static_cast<FwAssertArgType>(_status)
1331 _status = msg.serializeFrom(args);
1334 static_cast<FwAssertArgType>(_status)
1343 static_cast<FwAssertArgType>(qStatus)
1386 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1387 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1395 if (this->m_eventOut_OutputPort[0].isConnected()) {
1398 #if FW_AMPCS_COMPATIBLE 1404 static_cast<FwAssertArgType>(_status)
1408 this->m_eventOut_OutputPort[0].
invoke(
1417 #if FW_ENABLE_TEXT_LOGGING 1418 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1419 #if FW_OBJECT_NAMES == 1 1420 const char* _formatString =
1421 "(%s) %s: Buffer accepted";
1423 const char* _formatString =
1424 "%s: Buffer accepted";
1431 this->m_objName.toChar(),
1433 "BA_BufferAccepted " 1436 this->m_eventOutText_OutputPort[0].invoke(
1451 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1452 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1460 if (this->m_eventOut_OutputPort[0].isConnected()) {
1463 #if FW_AMPCS_COMPATIBLE 1469 static_cast<FwAssertArgType>(_status)
1473 this->m_eventOut_OutputPort[0].
invoke(
1482 #if FW_ENABLE_TEXT_LOGGING 1483 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1484 #if FW_OBJECT_NAMES == 1 1485 const char* _formatString =
1486 "(%s) %s: Queue full";
1488 const char* _formatString =
1496 this->m_objName.toChar(),
1501 this->m_eventOutText_OutputPort[0].invoke(
1519 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1520 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1528 if (this->m_eventOut_OutputPort[0].isConnected()) {
1532 #if FW_AMPCS_COMPATIBLE 1537 static_cast<FwAssertArgType>(_status)
1541 #if FW_AMPCS_COMPATIBLE 1544 static_cast<U8>(
sizeof(U32))
1548 static_cast<FwAssertArgType>(_status)
1554 static_cast<FwAssertArgType>(_status)
1557 #if FW_AMPCS_COMPATIBLE 1560 static_cast<U8>(
sizeof(U32))
1564 static_cast<FwAssertArgType>(_status)
1570 static_cast<FwAssertArgType>(_status)
1573 this->m_eventOut_OutputPort[0].
invoke(
1582 #if FW_ENABLE_TEXT_LOGGING 1583 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1584 #if FW_OBJECT_NAMES == 1 1585 const char* _formatString =
1586 "(%s) %s: Still draining %" PRIu32
" of %" PRIu32
"";
1588 const char* _formatString =
1589 "%s: Still draining %" PRIu32
" of %" PRIu32
"";
1596 this->m_objName.toChar(),
1598 "BA_StillDraining ",
1603 this->m_eventOutText_OutputPort[0].invoke(
1618 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1619 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1627 if (this->m_eventOut_OutputPort[0].isConnected()) {
1630 #if FW_AMPCS_COMPATIBLE 1636 static_cast<FwAssertArgType>(_status)
1640 this->m_eventOut_OutputPort[0].
invoke(
1649 #if FW_ENABLE_TEXT_LOGGING 1650 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1651 #if FW_OBJECT_NAMES == 1 1652 const char* _formatString =
1653 "(%s) %s: Already in DRAIN mode";
1655 const char* _formatString =
1656 "%s: Already in DRAIN mode";
1663 this->m_objName.toChar(),
1665 "BA_AlreadyDraining " 1668 this->m_eventOutText_OutputPort[0].invoke(
1686 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1687 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1695 if (this->m_eventOut_OutputPort[0].isConnected()) {
1699 #if FW_AMPCS_COMPATIBLE 1704 static_cast<FwAssertArgType>(_status)
1708 #if FW_AMPCS_COMPATIBLE 1711 static_cast<U8>(
sizeof(U32))
1715 static_cast<FwAssertArgType>(_status)
1721 static_cast<FwAssertArgType>(_status)
1724 #if FW_AMPCS_COMPATIBLE 1727 static_cast<U8>(
sizeof(U32))
1731 static_cast<FwAssertArgType>(_status)
1737 static_cast<FwAssertArgType>(_status)
1740 this->m_eventOut_OutputPort[0].
invoke(
1749 #if FW_ENABLE_TEXT_LOGGING 1750 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1751 #if FW_OBJECT_NAMES == 1 1752 const char* _formatString =
1753 "(%s) %s: Drain stalling - only drained %" PRIu32
" of %" PRIu32
"";
1755 const char* _formatString =
1756 "%s: Drain stalling - only drained %" PRIu32
" of %" PRIu32
"";
1763 this->m_objName.toChar(),
1770 this->m_eventOutText_OutputPort[0].invoke(
1785 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1786 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1794 if (this->m_eventOut_OutputPort[0].isConnected()) {
1798 #if FW_AMPCS_COMPATIBLE 1803 static_cast<FwAssertArgType>(_status)
1807 #if FW_AMPCS_COMPATIBLE 1810 static_cast<U8>(
sizeof(U32))
1814 static_cast<FwAssertArgType>(_status)
1820 static_cast<FwAssertArgType>(_status)
1823 this->m_eventOut_OutputPort[0].
invoke(
1832 #if FW_ENABLE_TEXT_LOGGING 1833 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1834 #if FW_OBJECT_NAMES == 1 1835 const char* _formatString =
1836 "(%s) %s: Partial drain of %" PRIu32
" finished";
1838 const char* _formatString =
1839 "%s: Partial drain of %" PRIu32
" finished";
1846 this->m_objName.toChar(),
1848 "BA_PartialDrainDone ",
1852 this->m_eventOutText_OutputPort[0].invoke(
1870 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1871 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1879 if (this->m_eventOut_OutputPort[0].isConnected()) {
1883 #if FW_AMPCS_COMPATIBLE 1888 static_cast<FwAssertArgType>(_status)
1892 #if FW_AMPCS_COMPATIBLE 1895 static_cast<U8>(
sizeof(U32))
1899 static_cast<FwAssertArgType>(_status)
1905 static_cast<FwAssertArgType>(_status)
1908 #if FW_AMPCS_COMPATIBLE 1911 static_cast<U8>(
sizeof(U32))
1915 static_cast<FwAssertArgType>(_status)
1921 static_cast<FwAssertArgType>(_status)
1924 this->m_eventOut_OutputPort[0].
invoke(
1933 #if FW_ENABLE_TEXT_LOGGING 1934 if (this->m_eventOutText_OutputPort[0].isConnected()) {
1935 #if FW_OBJECT_NAMES == 1 1936 const char* _formatString =
1937 "(%s) %s: Only have %" PRIu32
"; requested drain of %" PRIu32
"";
1939 const char* _formatString =
1940 "%s: Only have %" PRIu32
"; requested drain of %" PRIu32
"";
1947 this->m_objName.toChar(),
1949 "BA_NonBlockDrain ",
1954 this->m_eventOutText_OutputPort[0].invoke(
1974 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1976 this->m_timeCaller_OutputPort[0].isConnected() &&
1979 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1986 static_cast<FwAssertArgType>(_stat)
1993 this->m_tlmOut_OutputPort[0].
invoke(
2008 if (this->m_timeCaller_OutputPort[0].isConnected()) {
2010 this->m_timeCaller_OutputPort[0].
invoke(_time);
2025 ComponentIpcSerializableBuffer _msg;
2035 static_cast<FwAssertArgType>(_msgStatus)
2045 static_cast<FwAssertArgType>(_deserStatus)
2048 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2050 if (_msgType == BUFFERACCUMULATOR_COMPONENT_EXIT) {
2055 _deserStatus = _msg.deserializeTo(portNum);
2058 static_cast<FwAssertArgType>(_deserStatus)
2063 case BUFFERSENDINFILL_BUFFERSEND: {
2066 _deserStatus = _msg.deserializeTo(fwBuffer);
2069 static_cast<FwAssertArgType>(_deserStatus)
2081 case BUFFERSENDINRETURN_BUFFERSEND: {
2084 _deserStatus = _msg.deserializeTo(fwBuffer);
2087 static_cast<FwAssertArgType>(_deserStatus)
2102 _deserStatus = _msg.deserializeTo(key);
2105 static_cast<FwAssertArgType>(_deserStatus)
2117 case CMD_BA_SETMODE: {
2120 _deserStatus = _msg.deserializeTo(_opCode);
2123 static_cast<FwAssertArgType>(_deserStatus)
2128 _deserStatus = _msg.deserializeTo(_cmdSeq);
2131 static_cast<FwAssertArgType>(_deserStatus)
2136 _deserStatus = _msg.deserializeTo(args);
2139 static_cast<FwAssertArgType>(_deserStatus)
2149 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2162 #if FW_CMD_CHECK_RESIDUAL 2164 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2182 case CMD_BA_DRAINBUFFERS: {
2185 _deserStatus = _msg.deserializeTo(_opCode);
2188 static_cast<FwAssertArgType>(_deserStatus)
2193 _deserStatus = _msg.deserializeTo(_cmdSeq);
2196 static_cast<FwAssertArgType>(_deserStatus)
2201 _deserStatus = _msg.deserializeTo(args);
2204 static_cast<FwAssertArgType>(_deserStatus)
2214 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2229 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2242 #if FW_CMD_CHECK_RESIDUAL 2244 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
2273 void BufferAccumulatorComponentBase ::
2285 const U32 idBase = callComp->
getIdBase();
2286 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
2289 switch (opCode - idBase) {
2291 compPtr->BA_SetMode_cmdHandlerBase(
2300 compPtr->BA_DrainBuffers_cmdHandlerBase(
2314 void BufferAccumulatorComponentBase ::
2315 m_p_bufferSendInFill_in(
2323 compPtr->bufferSendInFill_handlerBase(
2329 void BufferAccumulatorComponentBase ::
2330 m_p_bufferSendInReturn_in(
2338 compPtr->bufferSendInReturn_handlerBase(
2344 void BufferAccumulatorComponentBase ::
2353 compPtr->pingIn_handlerBase(
Serialization/Deserialization operation was successful.
void addCallPort(InputTimePort *callPort)
Register an input port.
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
message to exit active component task
void bufferSendOutReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutReturn.
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
virtual void BA_SetMode_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferAccumulator_OpState mode)=0
FwIndexType getNum_cmdRegOut_OutputPorts() const
bool isConnected_bufferSendOutDrain_OutputPort(FwIndexType portNum)
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.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
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].
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void invoke(U32 key) const
Invoke a port interface.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
FwIndexType getNum_bufferSendInReturn_InputPorts() const
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void init()
Initialization function.
FwIndexType getNum_eventOut_OutputPorts() const
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.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have...
Got DrainBuffers command while executing DrainBuffers command.
FwIndexType getNum_tlmOut_OutputPorts() const
Os::Queue m_queue
queue object for active component
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
Finished DrainBuffers command.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
SerializeStatus
forward declaration for string
void log_WARNING_LO_BA_NonBlockDrain(U32 numWillDrain, U32 numReqDrain) const
Message will block until space is available.
FwIdType FwEventIdType
The type of an event identifier.
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
void set_bufferSendOutReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutReturn[portNum].
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) ...
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
void init()
Initialization function.
FwIndexType getNum_pingOut_OutputPorts() const
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
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
A less serious but recoverable event.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
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 interface.
void BA_DrainBuffers_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
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
void resetDeser()
reset deserialization to beginning
A serious but recoverable event.
void BA_SetMode_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Errors dispatching messages.
FwIndexType getNum_cmdIn_InputPorts() const
FwIndexType getNum_timeCaller_OutputPorts() const
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
FwIndexType getNum_bufferSendInFill_InputPorts() const
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
virtual void BA_DrainBuffers_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_DrainBuffers.
uint8_t U8
8-bit unsigned integer
bool isConnected_bufferSendOutReturn_OutputPort(FwIndexType portNum)
Command failed to deserialize.
void set_bufferSendOutDrain_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutDrain[portNum].
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Important informational events.
void init()
Initialization function.
Ran out of buffers while executing DrainBuffers command.
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 interface.
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].
FwIndexType getNum_bufferSendOutDrain_OutputPorts() const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
void addCallPort(InputLogPort *callPort)
Register an input port.
FwIndexType getNum_pingIn_InputPorts() const
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.
FwIndexType getNum_bufferSendOutReturn_OutputPorts() const
message sent/received okay
void bufferSendOutDrain_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutDrain.
SerializeStatus serializeFrom(U8 val)
serialize 8-bit unsigned int
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.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void init()
Initialization function.
Drain the commanded number of buffers.
void bufferSendInReturn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInReturn.
Channel ID for BA_NumQueuedBuffers.
virtual void BA_DrainBuffers_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 numToDrain, Svc::BufferAccumulator_BlockMode blockMode)=0
Got DrainBuffers command while in DRAIN mode.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int