9 #if FW_ENABLE_TEXT_LOGGING 19 BUFFERQUEUEIN_BUFFERSEND,
21 COMSTATUSIN_SUCCESSCONDITION,
25 CMD_SET_QUEUE_PRIORITY,
40 class ComponentIpcSerializableBuffer :
50 MAX_DATA_SIZE =
sizeof(BuffUnion),
52 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
56 return sizeof(m_buff);
63 const U8* getBuffAddr()
const {
69 U8 m_buff[SERIALIZATION_SIZE];
87 #if !FW_DIRECT_PORT_CALLS 94 this->m_CmdDisp_InputPort[port].
init();
99 this->m_CmdDisp_InputPort[port].
setPortNum(port);
101 #if FW_OBJECT_NAMES == 1 105 this->m_objName.toChar(),
108 this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
113 #if !FW_DIRECT_PORT_CALLS 120 this->m_bufferQueueIn_InputPort[port].
init();
125 this->m_bufferQueueIn_InputPort[port].
setPortNum(port);
127 #if FW_OBJECT_NAMES == 1 131 this->m_objName.toChar(),
134 this->m_bufferQueueIn_InputPort[port].setObjName(portName.
toChar());
139 #if !FW_DIRECT_PORT_CALLS 146 this->m_comPacketQueueIn_InputPort[port].
init();
147 this->m_comPacketQueueIn_InputPort[port].
addCallComp(
149 m_p_comPacketQueueIn_in
151 this->m_comPacketQueueIn_InputPort[port].
setPortNum(port);
153 #if FW_OBJECT_NAMES == 1 157 this->m_objName.toChar(),
160 this->m_comPacketQueueIn_InputPort[port].setObjName(portName.
toChar());
165 #if !FW_DIRECT_PORT_CALLS 172 this->m_comStatusIn_InputPort[port].
init();
177 this->m_comStatusIn_InputPort[port].
setPortNum(port);
179 #if FW_OBJECT_NAMES == 1 183 this->m_objName.toChar(),
186 this->m_comStatusIn_InputPort[port].setObjName(portName.
toChar());
191 #if !FW_DIRECT_PORT_CALLS 198 this->m_dataReturnIn_InputPort[port].
init();
203 this->m_dataReturnIn_InputPort[port].
setPortNum(port);
205 #if FW_OBJECT_NAMES == 1 209 this->m_objName.toChar(),
212 this->m_dataReturnIn_InputPort[port].setObjName(portName.
toChar());
217 #if !FW_DIRECT_PORT_CALLS 224 this->m_run_InputPort[port].
init();
231 #if FW_OBJECT_NAMES == 1 235 this->m_objName.toChar(),
238 this->m_run_InputPort[port].setObjName(portName.
toChar());
243 #if !FW_DIRECT_PORT_CALLS 250 this->m_CmdReg_OutputPort[port].
init();
252 #if FW_OBJECT_NAMES == 1 256 this->m_objName.toChar(),
259 this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
264 #if !FW_DIRECT_PORT_CALLS 271 this->m_CmdStatus_OutputPort[port].
init();
273 #if FW_OBJECT_NAMES == 1 277 this->m_objName.toChar(),
280 this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
285 #if !FW_DIRECT_PORT_CALLS 292 this->m_Log_OutputPort[port].
init();
294 #if FW_OBJECT_NAMES == 1 298 this->m_objName.toChar(),
301 this->m_Log_OutputPort[port].setObjName(portName.
toChar());
306 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 310 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
313 this->m_LogText_OutputPort[port].
init();
315 #if FW_OBJECT_NAMES == 1 319 this->m_objName.toChar(),
322 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
327 #if !FW_DIRECT_PORT_CALLS 334 this->m_Time_OutputPort[port].
init();
336 #if FW_OBJECT_NAMES == 1 340 this->m_objName.toChar(),
343 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
348 #if !FW_DIRECT_PORT_CALLS 355 this->m_Tlm_OutputPort[port].
init();
357 #if FW_OBJECT_NAMES == 1 361 this->m_objName.toChar(),
364 this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
369 #if !FW_DIRECT_PORT_CALLS 376 this->m_bufferReturnOut_OutputPort[port].
init();
378 #if FW_OBJECT_NAMES == 1 382 this->m_objName.toChar(),
385 this->m_bufferReturnOut_OutputPort[port].setObjName(portName.
toChar());
390 #if !FW_DIRECT_PORT_CALLS 397 this->m_dataOut_OutputPort[port].
init();
399 #if FW_OBJECT_NAMES == 1 403 this->m_objName.toChar(),
406 this->m_dataOut_OutputPort[port].setObjName(portName.
toChar());
414 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
418 static_cast<FwAssertArgType>(qStat)
422 #if !FW_DIRECT_PORT_CALLS 433 static_cast<FwAssertArgType>(portNum)
436 return &this->m_CmdDisp_InputPort[portNum];
441 #if !FW_DIRECT_PORT_CALLS 452 static_cast<FwAssertArgType>(portNum)
455 return &this->m_bufferQueueIn_InputPort[portNum];
463 static_cast<FwAssertArgType>(portNum)
466 return &this->m_comPacketQueueIn_InputPort[portNum];
474 static_cast<FwAssertArgType>(portNum)
477 return &this->m_comStatusIn_InputPort[portNum];
485 static_cast<FwAssertArgType>(portNum)
488 return &this->m_dataReturnIn_InputPort[portNum];
496 static_cast<FwAssertArgType>(portNum)
499 return &this->m_run_InputPort[portNum];
504 #if !FW_DIRECT_PORT_CALLS 518 static_cast<FwAssertArgType>(portNum)
521 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
532 static_cast<FwAssertArgType>(portNum)
535 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
546 static_cast<FwAssertArgType>(portNum)
552 #if FW_ENABLE_TEXT_LOGGING == 1 554 void ComQueueComponentBase ::
555 set_LogText_OutputPort(
561 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
562 static_cast<FwAssertArgType>(portNum)
565 this->m_LogText_OutputPort[portNum].addCallPort(port);
578 static_cast<FwAssertArgType>(portNum)
581 this->m_Time_OutputPort[portNum].
addCallPort(port);
592 static_cast<FwAssertArgType>(portNum)
600 #if !FW_DIRECT_PORT_CALLS 614 static_cast<FwAssertArgType>(portNum)
617 this->m_bufferReturnOut_OutputPort[portNum].
addCallPort(port);
628 static_cast<FwAssertArgType>(portNum)
631 this->m_dataOut_OutputPort[portNum].
addCallPort(port);
636 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 645 Fw::InputSerializePort* port
650 static_cast<FwAssertArgType>(portNum)
653 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
659 Fw::InputSerializePort* port
664 static_cast<FwAssertArgType>(portNum)
667 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
673 Fw::InputSerializePort* port
678 static_cast<FwAssertArgType>(portNum)
681 this->m_Log_OutputPort[portNum].registerSerialPort(port);
684 #if FW_ENABLE_TEXT_LOGGING == 1 686 void ComQueueComponentBase ::
687 set_LogText_OutputPort(
689 Fw::InputSerializePort* port
693 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
694 static_cast<FwAssertArgType>(portNum)
697 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
705 Fw::InputSerializePort* port
710 static_cast<FwAssertArgType>(portNum)
713 this->m_Time_OutputPort[portNum].registerSerialPort(port);
719 Fw::InputSerializePort* port
724 static_cast<FwAssertArgType>(portNum)
727 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
732 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 741 Fw::InputSerializePort* port
746 static_cast<FwAssertArgType>(portNum)
749 this->m_bufferReturnOut_OutputPort[portNum].registerSerialPort(port);
755 Fw::InputSerializePort* port
760 static_cast<FwAssertArgType>(portNum)
763 this->m_dataOut_OutputPort[portNum].registerSerialPort(port);
799 Fw::ActiveComponentBase(compName)
810 #if !FW_DIRECT_PORT_CALLS 821 static_cast<FwAssertArgType>(portNum)
824 return this->m_CmdReg_OutputPort[portNum].
isConnected();
832 static_cast<FwAssertArgType>(portNum)
835 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
843 static_cast<FwAssertArgType>(portNum)
846 return this->m_Log_OutputPort[portNum].
isConnected();
849 #if FW_ENABLE_TEXT_LOGGING == 1 851 bool ComQueueComponentBase ::
852 isConnected_LogText_OutputPort(
FwIndexType portNum)
const 855 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
856 static_cast<FwAssertArgType>(portNum)
859 return this->m_LogText_OutputPort[portNum].isConnected();
869 static_cast<FwAssertArgType>(portNum)
872 return this->m_Time_OutputPort[portNum].
isConnected();
880 static_cast<FwAssertArgType>(portNum)
883 return this->m_Tlm_OutputPort[portNum].
isConnected();
888 #if !FW_DIRECT_PORT_CALLS 899 static_cast<FwAssertArgType>(portNum)
902 return this->m_bufferReturnOut_OutputPort[portNum].
isConnected();
910 static_cast<FwAssertArgType>(portNum)
913 return this->m_dataOut_OutputPort[portNum].
isConnected();
934 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
937 switch (opCode - idBase) {
985 static_cast<FwAssertArgType>(portNum)
993 ComponentIpcSerializableBuffer msg;
997 _status = msg.serializeFrom(
998 static_cast<FwEnumStoreType>(BUFFERQUEUEIN_BUFFERSEND)
1002 static_cast<FwAssertArgType>(_status)
1006 _status = msg.serializeFrom(portNum);
1009 static_cast<FwAssertArgType>(_status)
1013 _status = msg.serializeFrom(fwBuffer);
1016 static_cast<FwAssertArgType>(_status)
1023 if (qStatus == Os::Queue::Status::FULL) {
1030 static_cast<FwAssertArgType>(qStatus)
1044 static_cast<FwAssertArgType>(portNum)
1053 ComponentIpcSerializableBuffer msg;
1057 _status = msg.serializeFrom(
1058 static_cast<FwEnumStoreType>(COMPACKETQUEUEIN_COM)
1062 static_cast<FwAssertArgType>(_status)
1066 _status = msg.serializeFrom(portNum);
1069 static_cast<FwAssertArgType>(_status)
1073 _status = msg.serializeFrom(data);
1076 static_cast<FwAssertArgType>(_status)
1080 _status = msg.serializeFrom(context);
1083 static_cast<FwAssertArgType>(_status)
1090 if (qStatus == Os::Queue::Status::FULL) {
1097 static_cast<FwAssertArgType>(qStatus)
1110 static_cast<FwAssertArgType>(portNum)
1118 ComponentIpcSerializableBuffer msg;
1122 _status = msg.serializeFrom(
1123 static_cast<FwEnumStoreType>(COMSTATUSIN_SUCCESSCONDITION)
1127 static_cast<FwAssertArgType>(_status)
1131 _status = msg.serializeFrom(portNum);
1134 static_cast<FwAssertArgType>(_status)
1138 _status = msg.serializeFrom(condition);
1141 static_cast<FwAssertArgType>(_status)
1150 static_cast<FwAssertArgType>(qStatus)
1164 static_cast<FwAssertArgType>(portNum)
1184 static_cast<FwAssertArgType>(portNum)
1192 ComponentIpcSerializableBuffer msg;
1196 _status = msg.serializeFrom(
1197 static_cast<FwEnumStoreType>(RUN_SCHED)
1201 static_cast<FwAssertArgType>(_status)
1205 _status = msg.serializeFrom(portNum);
1208 static_cast<FwAssertArgType>(_status)
1212 _status = msg.serializeFrom(context);
1215 static_cast<FwAssertArgType>(_status)
1222 if (qStatus == Os::Queue::Status::FULL) {
1229 static_cast<FwAssertArgType>(qStatus)
1278 #if !FW_DIRECT_PORT_CALLS 1292 static_cast<FwAssertArgType>(portNum)
1296 this->m_bufferReturnOut_OutputPort[portNum].isConnected(),
1297 static_cast<FwAssertArgType>(portNum)
1299 this->m_bufferReturnOut_OutputPort[portNum].
invoke(
1313 static_cast<FwAssertArgType>(portNum)
1317 this->m_dataOut_OutputPort[portNum].isConnected(),
1318 static_cast<FwAssertArgType>(portNum)
1320 this->m_dataOut_OutputPort[portNum].
invoke(
1340 this->CmdStatus_out(0, opCode, cmdSeq, response);
1361 ComponentIpcSerializableBuffer msg;
1365 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FLUSH_QUEUE));
1368 static_cast<FwAssertArgType>(_status)
1374 _status = msg.serializeFrom(port);
1377 static_cast<FwAssertArgType>(_status)
1380 _status = msg.serializeFrom(opCode);
1383 static_cast<FwAssertArgType>(_status)
1386 _status = msg.serializeFrom(cmdSeq);
1389 static_cast<FwAssertArgType>(_status)
1392 _status = msg.serializeFrom(args);
1395 static_cast<FwAssertArgType>(_status)
1404 static_cast<FwAssertArgType>(qStatus)
1420 ComponentIpcSerializableBuffer msg;
1424 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FLUSH_ALL_QUEUES));
1427 static_cast<FwAssertArgType>(_status)
1433 _status = msg.serializeFrom(port);
1436 static_cast<FwAssertArgType>(_status)
1439 _status = msg.serializeFrom(opCode);
1442 static_cast<FwAssertArgType>(_status)
1445 _status = msg.serializeFrom(cmdSeq);
1448 static_cast<FwAssertArgType>(_status)
1451 _status = msg.serializeFrom(args);
1454 static_cast<FwAssertArgType>(_status)
1463 static_cast<FwAssertArgType>(qStatus)
1479 ComponentIpcSerializableBuffer msg;
1483 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SET_QUEUE_PRIORITY));
1486 static_cast<FwAssertArgType>(_status)
1492 _status = msg.serializeFrom(port);
1495 static_cast<FwAssertArgType>(_status)
1498 _status = msg.serializeFrom(opCode);
1501 static_cast<FwAssertArgType>(_status)
1504 _status = msg.serializeFrom(cmdSeq);
1507 static_cast<FwAssertArgType>(_status)
1510 _status = msg.serializeFrom(args);
1513 static_cast<FwAssertArgType>(_status)
1522 static_cast<FwAssertArgType>(qStatus)
1580 this->Time_out(0, _logTime);
1590 #if FW_AMPCS_COMPATIBLE 1595 static_cast<FwAssertArgType>(_status)
1599 #if FW_AMPCS_COMPATIBLE 1606 static_cast<FwAssertArgType>(_status)
1612 static_cast<FwAssertArgType>(_status)
1615 #if FW_AMPCS_COMPATIBLE 1622 static_cast<FwAssertArgType>(_status)
1628 static_cast<FwAssertArgType>(_status)
1641 #if FW_ENABLE_TEXT_LOGGING 1642 if (this->isConnected_LogText_OutputPort(0)) {
1643 #if FW_OBJECT_NAMES == 1 1644 const char* _formatString =
1645 "(%s) %s: The %s queue at index %" PRIi16
" overflowed";
1647 const char* _formatString =
1648 "%s: The %s queue at index %" PRIi16
" overflowed";
1652 queueType.toString(queueTypeStr);
1658 this->m_objName.toChar(),
1686 this->Time_out(0, _logTime);
1696 #if FW_AMPCS_COMPATIBLE 1701 static_cast<FwAssertArgType>(_status)
1705 #if FW_AMPCS_COMPATIBLE 1712 static_cast<FwAssertArgType>(_status)
1718 static_cast<FwAssertArgType>(_status)
1721 #if FW_AMPCS_COMPATIBLE 1728 static_cast<FwAssertArgType>(_status)
1734 static_cast<FwAssertArgType>(_status)
1737 #if FW_AMPCS_COMPATIBLE 1744 static_cast<FwAssertArgType>(_status)
1750 static_cast<FwAssertArgType>(_status)
1763 #if FW_ENABLE_TEXT_LOGGING 1764 if (this->isConnected_LogText_OutputPort(0)) {
1765 #if FW_OBJECT_NAMES == 1 1766 const char* _formatString =
1767 "(%s) %s: %s %" PRIi16
" priority changed to %" PRIi16
"";
1769 const char* _formatString =
1770 "%s: %s %" PRIi16
" priority changed to %" PRIi16
"";
1774 queueType.toString(queueTypeStr);
1780 this->m_objName.toChar(),
1782 "QueuePriorityChanged ",
1815 this->Time_out(0, _tlmTime);
1845 static_cast<FwAssertArgType>(_stat)
1867 static_cast<FwAssertArgType>(_stat)
1887 this->Time_out(0, _time);
1902 ComponentIpcSerializableBuffer _msg;
1912 static_cast<FwAssertArgType>(_msgStatus)
1922 static_cast<FwAssertArgType>(_deserStatus)
1925 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1927 if (_msgType == COMQUEUE_COMPONENT_EXIT) {
1932 _deserStatus = _msg.deserializeTo(portNum);
1935 static_cast<FwAssertArgType>(_deserStatus)
1940 case BUFFERQUEUEIN_BUFFERSEND: {
1943 _deserStatus = _msg.deserializeTo(fwBuffer);
1946 static_cast<FwAssertArgType>(_deserStatus)
1958 case COMPACKETQUEUEIN_COM: {
1961 _deserStatus = _msg.deserializeTo(data);
1964 static_cast<FwAssertArgType>(_deserStatus)
1969 _deserStatus = _msg.deserializeTo(context);
1972 static_cast<FwAssertArgType>(_deserStatus)
1985 case COMSTATUSIN_SUCCESSCONDITION: {
1988 _deserStatus = _msg.deserializeTo(condition);
1991 static_cast<FwAssertArgType>(_deserStatus)
2006 _deserStatus = _msg.deserializeTo(context);
2009 static_cast<FwAssertArgType>(_deserStatus)
2021 case CMD_FLUSH_QUEUE: {
2024 _deserStatus = _msg.deserializeTo(_opCode);
2027 static_cast<FwAssertArgType>(_deserStatus)
2032 _deserStatus = _msg.deserializeTo(_cmdSeq);
2035 static_cast<FwAssertArgType>(_deserStatus)
2040 _deserStatus = _msg.deserializeTo(args);
2043 static_cast<FwAssertArgType>(_deserStatus)
2081 #if FW_CMD_CHECK_RESIDUAL 2102 case CMD_FLUSH_ALL_QUEUES: {
2105 _deserStatus = _msg.deserializeTo(_opCode);
2108 static_cast<FwAssertArgType>(_deserStatus)
2113 _deserStatus = _msg.deserializeTo(_cmdSeq);
2116 static_cast<FwAssertArgType>(_deserStatus)
2121 _deserStatus = _msg.deserializeTo(args);
2124 static_cast<FwAssertArgType>(_deserStatus)
2132 #if FW_CMD_CHECK_RESIDUAL 2149 case CMD_SET_QUEUE_PRIORITY: {
2152 _deserStatus = _msg.deserializeTo(_opCode);
2155 static_cast<FwAssertArgType>(_deserStatus)
2160 _deserStatus = _msg.deserializeTo(_cmdSeq);
2163 static_cast<FwAssertArgType>(_deserStatus)
2168 _deserStatus = _msg.deserializeTo(args);
2171 static_cast<FwAssertArgType>(_deserStatus)
2224 #if FW_CMD_CHECK_RESIDUAL 2256 void ComQueueComponentBase ::
2267 compPtr->CmdDisp_handlerBase(
2279 void ComQueueComponentBase ::
2280 m_p_bufferQueueIn_in(
2288 compPtr->bufferQueueIn_handlerBase(
2294 void ComQueueComponentBase ::
2295 m_p_comPacketQueueIn_in(
2304 compPtr->comPacketQueueIn_handlerBase(
2311 void ComQueueComponentBase ::
2320 compPtr->comStatusIn_handlerBase(
2326 void ComQueueComponentBase ::
2327 m_p_dataReturnIn_in(
2336 compPtr->dataReturnIn_handlerBase(
2343 void ComQueueComponentBase ::
2352 compPtr->run_handlerBase(
2358 #if !FW_DIRECT_PORT_CALLS 2364 void ComQueueComponentBase ::
2372 static_cast<FwAssertArgType>(portNum)
2376 this->m_CmdReg_OutputPort[portNum].isConnected(),
2377 static_cast<FwAssertArgType>(portNum)
2379 this->m_CmdReg_OutputPort[portNum].
invoke(
2384 void ComQueueComponentBase ::
2394 static_cast<FwAssertArgType>(portNum)
2398 this->m_CmdStatus_OutputPort[portNum].isConnected(),
2399 static_cast<FwAssertArgType>(portNum)
2401 this->m_CmdStatus_OutputPort[portNum].
invoke(
2408 void ComQueueComponentBase ::
2419 static_cast<FwAssertArgType>(portNum)
2423 this->m_Log_OutputPort[portNum].isConnected(),
2424 static_cast<FwAssertArgType>(portNum)
2426 this->m_Log_OutputPort[portNum].
invoke(
2434 #if FW_ENABLE_TEXT_LOGGING 2436 void ComQueueComponentBase ::
2446 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
2447 static_cast<FwAssertArgType>(portNum)
2451 this->m_LogText_OutputPort[portNum].isConnected(),
2452 static_cast<FwAssertArgType>(portNum)
2454 this->m_LogText_OutputPort[portNum].invoke(
2464 void ComQueueComponentBase ::
2472 static_cast<FwAssertArgType>(portNum)
2476 this->m_Time_OutputPort[portNum].isConnected(),
2477 static_cast<FwAssertArgType>(portNum)
2479 this->m_Time_OutputPort[portNum].
invoke(
2484 void ComQueueComponentBase ::
2494 static_cast<FwAssertArgType>(portNum)
2498 this->m_Tlm_OutputPort[portNum].isConnected(),
2499 static_cast<FwAssertArgType>(portNum)
2501 this->m_Tlm_OutputPort[portNum].
invoke(
Serialization/Deserialization operation was successful.
virtual void comStatusIn_handler(FwIndexType portNum, Fw::Success &condition)=0
Handler for input port comStatusIn.
static constexpr FwIndexType getNum_Tlm_OutputPorts()
void addCallPort(InputTimePort *callPort)
Register an input port.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual ~ComQueueComponentBase()
Destroy ComQueueComponentBase object.
static constexpr FwSizeType CAPACITY
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke output port dataOut.
void FLUSH_QUEUE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_bufferReturnOut_OutputPorts()
FwIdType getIdBase() const
PlatformSizeType FwSizeType
void tlmWrite_buffQueueDepth(const Svc::BuffQueueDepth &arg, Fw::Time _tlmTime=Fw::Time()) const
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
Channel ID for buffQueueDepth.
bool isConnected_Log_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
Status
status returned from the queue send function
virtual void FLUSH_ALL_QUEUES_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FLUSH_ALL_QUEUES.
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
const char * toChar() const
Convert to a C-style char*.
virtual void FLUSH_QUEUE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::QueueType queueType, FwIndexType indexType)=0
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
virtual void SET_QUEUE_PRIORITY_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::QueueType queueType, FwIndexType indexType, FwIndexType newPriority)=0
static constexpr FwSizeType CAPACITY
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
Svc::InputSchedPort * get_run_InputPort(FwIndexType portNum)
void log_ACTIVITY_HI_QueuePriorityChanged(Svc::QueueType queueType, FwIndexType indexType, FwIndexType newPriority) const
virtual void FLUSH_ALL_QUEUES_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_comPacketQueueIn_InputPorts()
The size of the serial representation.
static constexpr FwSizeType CAPACITY
void set_bufferReturnOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferReturnOut[portNum].
Channel ID for comQueueDepth.
void init()
Initialization function.
Enum representing a command response.
virtual void FLUSH_QUEUE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command FLUSH_QUEUE.
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
No time base has been established (Required)
void FLUSH_ALL_QUEUES_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
bool isConnected_Time_OutputPort(FwIndexType portNum) const
Os::Queue m_queue
queue object for active component
void addCallPort(InputComDataWithContextPort *callPort)
Register an input port.
Array of queue depths for Fw::Com types.
void addCallPort(InputTlmPort *callPort)
Register an input port.
An enumeration of queue data types.
void init()
Object initializer.
void SET_QUEUE_PRIORITY_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void comStatusIn_handlerBase(FwIndexType portNum, Fw::Success &condition)
Handler base-class function for input port comStatusIn.
SerializeStatus
forward declaration for string
Message will block until space is available.
void log_WARNING_HI_QueueOverflow(Svc::QueueType queueType, FwIndexType index) const
virtual void bufferQueueIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferQueueIn.
FwIdType FwEventIdType
The type of an event identifier.
void invoke(FwOpcodeType opCode) const
Invoke a port connection.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
bool isConnected_Tlm_OutputPort(FwIndexType portNum) const
void addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
static constexpr FwSizeType CAPACITY
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
virtual void run_handler(FwIndexType portNum, U32 context)=0
Handler for input port run.
void run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port run.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Time &time) const
Invoke a port connection.
static constexpr FwIndexType getNum_bufferQueueIn_InputPorts()
message to exit active component task
bool isConnected_dataOut_OutputPort(FwIndexType portNum) const
Array of queue depths for Fw::Buffer types.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
void bufferReturnOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferReturnOut.
virtual void run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port run.
const char * toChar() const
Convert to a C-style char*.
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 invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port connection.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
Fw::InputComPort * get_comPacketQueueIn_InputPort(FwIndexType portNum)
A serious but recoverable event.
Errors dispatching messages.
void init()
Initialization function.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port connection.
virtual void bufferQueueIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferQueueIn.
Set the priority of a specific queue at runtime.
Enum representing event severity.
virtual void comPacketQueueIn_handler(FwIndexType portNum, Fw::ComBuffer &data, U32 context)=0
Handler for input port comPacketQueueIn.
void comPacketQueueIn_handlerBase(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Handler base-class function for input port comPacketQueueIn.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
virtual void SET_QUEUE_PRIORITY_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_QUEUE_PRIORITY.
void CmdDisp_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port CmdDisp.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
virtual void comPacketQueueIn_preMsgHook(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Pre-message hook for async input port comPacketQueueIn.
Fw::InputBufferSendPort * get_bufferQueueIn_InputPort(FwIndexType portNum)
uint8_t U8
8-bit unsigned integer
Queue priority changed event.
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_dataOut_OutputPorts()
Command failed to deserialize.
void init()
Initialization function.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Important informational events.
void init()
Initialization function.
static constexpr FwIndexType getNum_comStatusIn_InputPorts()
static constexpr FwIndexType getNum_Log_OutputPorts()
Fw::InputSuccessConditionPort * get_comStatusIn_InputPort(FwIndexType portNum)
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port connection.
A message was sent requesting an exit of the loop.
ComQueueComponentBase(const char *compName="")
Construct ComQueueComponentBase object.
PlatformIndexType FwIndexType
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
Type used to pass context info between components during framing/deframing.
void incNumMsgDropped()
increment the number of messages dropped
bool isConnected_bufferReturnOut_OutputPort(FwIndexType portNum) const
void tlmWrite_comQueueDepth(const Svc::ComQueueDepth &arg, Fw::Time _tlmTime=Fw::Time()) const
RateGroupDivider component implementation.
message sent/received okay
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_Time_OutputPorts()
void regCommands()
Register commands with the Command Dispatcher.
virtual void comStatusIn_preMsgHook(FwIndexType portNum, Fw::Success &condition)
Pre-message hook for async input port comStatusIn.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum) const
bool isConnected_CmdReg_OutputPort(FwIndexType portNum) const
virtual void bufferQueueIn_overflowHook(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Overflow hook for async input port bufferQueueIn.
void init()
Initialization function.
static constexpr FwSizeType CAPACITY
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
static constexpr FwIndexType getNum_run_InputPorts()
void bufferQueueIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferQueueIn.