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].
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()
static constexpr FwSizeType CAPACITY
void set_bufferReturnOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferReturnOut[portNum].
The size of the serial representation.
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()
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.
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
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_dataOut_OutputPorts()
Command failed to deserialize.
Channel ID for buffQueueDepth.
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.
Channel ID for comQueueDepth.
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.
Set the priority of a specific queue at runtime.
Queue priority changed event.
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()
message to exit active component task
void bufferQueueIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferQueueIn.