9 #if FW_ENABLE_TEXT_LOGGING 19 BUFFERQUEUEIN_BUFFERSEND,
21 COMSTATUSIN_SUCCESSCONDITION,
39 class ComponentIpcSerializableBuffer :
49 MAX_DATA_SIZE =
sizeof(BuffUnion),
51 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
55 return sizeof(m_buff);
62 const U8* getBuffAddr()
const {
68 U8 m_buff[SERIALIZATION_SIZE];
92 this->m_CmdDisp_InputPort[port].
init();
97 this->m_CmdDisp_InputPort[port].
setPortNum(port);
99 #if FW_OBJECT_NAMES == 1 103 this->m_objName.toChar(),
106 this->m_CmdDisp_InputPort[port].setObjName(portName.
toChar());
116 this->m_bufferQueueIn_InputPort[port].
init();
121 this->m_bufferQueueIn_InputPort[port].
setPortNum(port);
123 #if FW_OBJECT_NAMES == 1 127 this->m_objName.toChar(),
130 this->m_bufferQueueIn_InputPort[port].setObjName(portName.
toChar());
140 this->m_comPacketQueueIn_InputPort[port].
init();
141 this->m_comPacketQueueIn_InputPort[port].
addCallComp(
143 m_p_comPacketQueueIn_in
145 this->m_comPacketQueueIn_InputPort[port].
setPortNum(port);
147 #if FW_OBJECT_NAMES == 1 151 this->m_objName.toChar(),
154 this->m_comPacketQueueIn_InputPort[port].setObjName(portName.
toChar());
164 this->m_comStatusIn_InputPort[port].
init();
169 this->m_comStatusIn_InputPort[port].
setPortNum(port);
171 #if FW_OBJECT_NAMES == 1 175 this->m_objName.toChar(),
178 this->m_comStatusIn_InputPort[port].setObjName(portName.
toChar());
188 this->m_dataReturnIn_InputPort[port].
init();
193 this->m_dataReturnIn_InputPort[port].
setPortNum(port);
195 #if FW_OBJECT_NAMES == 1 199 this->m_objName.toChar(),
202 this->m_dataReturnIn_InputPort[port].setObjName(portName.
toChar());
212 this->m_run_InputPort[port].
init();
219 #if FW_OBJECT_NAMES == 1 223 this->m_objName.toChar(),
226 this->m_run_InputPort[port].setObjName(portName.
toChar());
236 this->m_CmdReg_OutputPort[port].
init();
238 #if FW_OBJECT_NAMES == 1 242 this->m_objName.toChar(),
245 this->m_CmdReg_OutputPort[port].setObjName(portName.
toChar());
255 this->m_CmdStatus_OutputPort[port].
init();
257 #if FW_OBJECT_NAMES == 1 261 this->m_objName.toChar(),
264 this->m_CmdStatus_OutputPort[port].setObjName(portName.
toChar());
274 this->m_Log_OutputPort[port].
init();
276 #if FW_OBJECT_NAMES == 1 280 this->m_objName.toChar(),
283 this->m_Log_OutputPort[port].setObjName(portName.
toChar());
287 #if FW_ENABLE_TEXT_LOGGING == 1 291 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
294 this->m_LogText_OutputPort[port].
init();
296 #if FW_OBJECT_NAMES == 1 300 this->m_objName.toChar(),
303 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
314 this->m_Time_OutputPort[port].
init();
316 #if FW_OBJECT_NAMES == 1 320 this->m_objName.toChar(),
323 this->m_Time_OutputPort[port].setObjName(portName.
toChar());
333 this->m_Tlm_OutputPort[port].
init();
335 #if FW_OBJECT_NAMES == 1 339 this->m_objName.toChar(),
342 this->m_Tlm_OutputPort[port].setObjName(portName.
toChar());
352 this->m_bufferReturnOut_OutputPort[port].
init();
354 #if FW_OBJECT_NAMES == 1 358 this->m_objName.toChar(),
361 this->m_bufferReturnOut_OutputPort[port].setObjName(portName.
toChar());
371 this->m_dataOut_OutputPort[port].
init();
373 #if FW_OBJECT_NAMES == 1 377 this->m_objName.toChar(),
380 this->m_dataOut_OutputPort[port].setObjName(portName.
toChar());
387 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
391 static_cast<FwAssertArgType>(qStat)
404 static_cast<FwAssertArgType>(portNum)
407 return &this->m_CmdDisp_InputPort[portNum];
419 static_cast<FwAssertArgType>(portNum)
422 return &this->m_bufferQueueIn_InputPort[portNum];
430 static_cast<FwAssertArgType>(portNum)
433 return &this->m_comPacketQueueIn_InputPort[portNum];
441 static_cast<FwAssertArgType>(portNum)
444 return &this->m_comStatusIn_InputPort[portNum];
452 static_cast<FwAssertArgType>(portNum)
455 return &this->m_dataReturnIn_InputPort[portNum];
463 static_cast<FwAssertArgType>(portNum)
466 return &this->m_run_InputPort[portNum];
481 static_cast<FwAssertArgType>(portNum)
484 this->m_CmdReg_OutputPort[portNum].
addCallPort(port);
495 static_cast<FwAssertArgType>(portNum)
498 this->m_CmdStatus_OutputPort[portNum].
addCallPort(port);
509 static_cast<FwAssertArgType>(portNum)
515 #if FW_ENABLE_TEXT_LOGGING == 1 517 void ComQueueComponentBase ::
518 set_LogText_OutputPort(
524 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
525 static_cast<FwAssertArgType>(portNum)
528 this->m_LogText_OutputPort[portNum].addCallPort(port);
541 static_cast<FwAssertArgType>(portNum)
544 this->m_Time_OutputPort[portNum].
addCallPort(port);
555 static_cast<FwAssertArgType>(portNum)
573 static_cast<FwAssertArgType>(portNum)
576 this->m_bufferReturnOut_OutputPort[portNum].
addCallPort(port);
587 static_cast<FwAssertArgType>(portNum)
590 this->m_dataOut_OutputPort[portNum].
addCallPort(port);
593 #if FW_PORT_SERIALIZATION 602 Fw::InputSerializePort* port
607 static_cast<FwAssertArgType>(portNum)
610 this->m_CmdReg_OutputPort[portNum].registerSerialPort(port);
616 Fw::InputSerializePort* port
621 static_cast<FwAssertArgType>(portNum)
624 this->m_CmdStatus_OutputPort[portNum].registerSerialPort(port);
630 Fw::InputSerializePort* port
635 static_cast<FwAssertArgType>(portNum)
638 this->m_Log_OutputPort[portNum].registerSerialPort(port);
641 #if FW_ENABLE_TEXT_LOGGING == 1 643 void ComQueueComponentBase ::
644 set_LogText_OutputPort(
646 Fw::InputSerializePort* port
650 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
651 static_cast<FwAssertArgType>(portNum)
654 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
662 Fw::InputSerializePort* port
667 static_cast<FwAssertArgType>(portNum)
670 this->m_Time_OutputPort[portNum].registerSerialPort(port);
676 Fw::InputSerializePort* port
681 static_cast<FwAssertArgType>(portNum)
684 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
689 #if FW_PORT_SERIALIZATION 698 Fw::InputSerializePort* port
703 static_cast<FwAssertArgType>(portNum)
706 this->m_bufferReturnOut_OutputPort[portNum].registerSerialPort(port);
712 Fw::InputSerializePort* port
717 static_cast<FwAssertArgType>(portNum)
720 this->m_dataOut_OutputPort[portNum].registerSerialPort(port);
732 FW_ASSERT(this->m_CmdReg_OutputPort[0].isConnected());
734 this->m_CmdReg_OutputPort[0].
invoke(
738 this->m_CmdReg_OutputPort[0].
invoke(
749 Fw::ActiveComponentBase(compName)
769 static_cast<FwAssertArgType>(portNum)
772 return this->m_CmdReg_OutputPort[portNum].
isConnected();
780 static_cast<FwAssertArgType>(portNum)
783 return this->m_CmdStatus_OutputPort[portNum].
isConnected();
791 static_cast<FwAssertArgType>(portNum)
794 return this->m_Log_OutputPort[portNum].
isConnected();
797 #if FW_ENABLE_TEXT_LOGGING == 1 799 bool ComQueueComponentBase ::
800 isConnected_LogText_OutputPort(
FwIndexType portNum)
803 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
804 static_cast<FwAssertArgType>(portNum)
807 return this->m_LogText_OutputPort[portNum].isConnected();
817 static_cast<FwAssertArgType>(portNum)
820 return this->m_Time_OutputPort[portNum].
isConnected();
828 static_cast<FwAssertArgType>(portNum)
831 return this->m_Tlm_OutputPort[portNum].
isConnected();
843 static_cast<FwAssertArgType>(portNum)
846 return this->m_bufferReturnOut_OutputPort[portNum].
isConnected();
854 static_cast<FwAssertArgType>(portNum)
857 return this->m_dataOut_OutputPort[portNum].
isConnected();
875 static_cast<FwAssertArgType>(portNum)
883 ComponentIpcSerializableBuffer msg;
887 _status = msg.serializeFrom(
888 static_cast<FwEnumStoreType>(BUFFERQUEUEIN_BUFFERSEND)
892 static_cast<FwAssertArgType>(_status)
896 _status = msg.serializeFrom(portNum);
899 static_cast<FwAssertArgType>(_status)
903 _status = msg.serializeFrom(fwBuffer);
906 static_cast<FwAssertArgType>(_status)
913 if (qStatus == Os::Queue::Status::FULL) {
920 static_cast<FwAssertArgType>(qStatus)
934 static_cast<FwAssertArgType>(portNum)
943 ComponentIpcSerializableBuffer msg;
947 _status = msg.serializeFrom(
948 static_cast<FwEnumStoreType>(COMPACKETQUEUEIN_COM)
952 static_cast<FwAssertArgType>(_status)
956 _status = msg.serializeFrom(portNum);
959 static_cast<FwAssertArgType>(_status)
963 _status = msg.serializeFrom(data);
966 static_cast<FwAssertArgType>(_status)
970 _status = msg.serializeFrom(context);
973 static_cast<FwAssertArgType>(_status)
980 if (qStatus == Os::Queue::Status::FULL) {
987 static_cast<FwAssertArgType>(qStatus)
1000 static_cast<FwAssertArgType>(portNum)
1008 ComponentIpcSerializableBuffer msg;
1012 _status = msg.serializeFrom(
1013 static_cast<FwEnumStoreType>(COMSTATUSIN_SUCCESSCONDITION)
1017 static_cast<FwAssertArgType>(_status)
1021 _status = msg.serializeFrom(portNum);
1024 static_cast<FwAssertArgType>(_status)
1028 _status = msg.serializeFrom(condition);
1031 static_cast<FwAssertArgType>(_status)
1040 static_cast<FwAssertArgType>(qStatus)
1054 static_cast<FwAssertArgType>(portNum)
1074 static_cast<FwAssertArgType>(portNum)
1082 ComponentIpcSerializableBuffer msg;
1086 _status = msg.serializeFrom(
1087 static_cast<FwEnumStoreType>(RUN_SCHED)
1091 static_cast<FwAssertArgType>(_status)
1095 _status = msg.serializeFrom(portNum);
1098 static_cast<FwAssertArgType>(_status)
1102 _status = msg.serializeFrom(context);
1105 static_cast<FwAssertArgType>(_status)
1112 if (qStatus == Os::Queue::Status::FULL) {
1119 static_cast<FwAssertArgType>(qStatus)
1180 static_cast<FwAssertArgType>(portNum)
1184 this->m_bufferReturnOut_OutputPort[portNum].isConnected(),
1185 static_cast<FwAssertArgType>(portNum)
1187 this->m_bufferReturnOut_OutputPort[portNum].
invoke(
1201 static_cast<FwAssertArgType>(portNum)
1205 this->m_dataOut_OutputPort[portNum].isConnected(),
1206 static_cast<FwAssertArgType>(portNum)
1208 this->m_dataOut_OutputPort[portNum].
invoke(
1225 FW_ASSERT(this->m_CmdStatus_OutputPort[0].isConnected());
1226 this->m_CmdStatus_OutputPort[0].
invoke(opCode, cmdSeq, response);
1247 ComponentIpcSerializableBuffer msg;
1251 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FLUSH_QUEUE));
1254 static_cast<FwAssertArgType>(_status)
1260 _status = msg.serializeFrom(port);
1263 static_cast<FwAssertArgType>(_status)
1266 _status = msg.serializeFrom(opCode);
1269 static_cast<FwAssertArgType>(_status)
1272 _status = msg.serializeFrom(cmdSeq);
1275 static_cast<FwAssertArgType>(_status)
1278 _status = msg.serializeFrom(args);
1281 static_cast<FwAssertArgType>(_status)
1290 static_cast<FwAssertArgType>(qStatus)
1306 ComponentIpcSerializableBuffer msg;
1310 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_FLUSH_ALL_QUEUES));
1313 static_cast<FwAssertArgType>(_status)
1319 _status = msg.serializeFrom(port);
1322 static_cast<FwAssertArgType>(_status)
1325 _status = msg.serializeFrom(opCode);
1328 static_cast<FwAssertArgType>(_status)
1331 _status = msg.serializeFrom(cmdSeq);
1334 static_cast<FwAssertArgType>(_status)
1337 _status = msg.serializeFrom(args);
1340 static_cast<FwAssertArgType>(_status)
1349 static_cast<FwAssertArgType>(qStatus)
1395 if (this->m_Time_OutputPort[0].isConnected()) {
1396 this->m_Time_OutputPort[0].
invoke(_logTime);
1404 if (this->m_Log_OutputPort[0].isConnected()) {
1408 #if FW_AMPCS_COMPATIBLE 1413 static_cast<FwAssertArgType>(_status)
1417 #if FW_AMPCS_COMPATIBLE 1424 static_cast<FwAssertArgType>(_status)
1430 static_cast<FwAssertArgType>(_status)
1433 #if FW_AMPCS_COMPATIBLE 1436 static_cast<U8>(
sizeof(U32))
1440 static_cast<FwAssertArgType>(_status)
1446 static_cast<FwAssertArgType>(_status)
1449 this->m_Log_OutputPort[0].
invoke(
1458 #if FW_ENABLE_TEXT_LOGGING 1459 if (this->m_LogText_OutputPort[0].isConnected()) {
1460 #if FW_OBJECT_NAMES == 1 1461 const char* _formatString =
1462 "(%s) %s: The %s queue at index %" PRIu32
" overflowed";
1464 const char* _formatString =
1465 "%s: The %s queue at index %" PRIu32
" overflowed";
1469 queueType.toString(queueTypeStr);
1475 this->m_objName.toChar(),
1482 this->m_LogText_OutputPort[0].invoke(
1502 if (this->m_Tlm_OutputPort[0].isConnected()) {
1504 this->m_Time_OutputPort[0].isConnected() &&
1507 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1514 static_cast<FwAssertArgType>(_stat)
1521 this->m_Tlm_OutputPort[0].
invoke(
1535 if (this->m_Tlm_OutputPort[0].isConnected()) {
1537 this->m_Time_OutputPort[0].isConnected() &&
1540 this->m_Time_OutputPort[0].
invoke(_tlmTime);
1547 static_cast<FwAssertArgType>(_stat)
1554 this->m_Tlm_OutputPort[0].
invoke(
1569 if (this->m_Time_OutputPort[0].isConnected()) {
1571 this->m_Time_OutputPort[0].
invoke(_time);
1586 ComponentIpcSerializableBuffer _msg;
1596 static_cast<FwAssertArgType>(_msgStatus)
1606 static_cast<FwAssertArgType>(_deserStatus)
1609 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1611 if (_msgType == COMQUEUE_COMPONENT_EXIT) {
1616 _deserStatus = _msg.deserializeTo(portNum);
1619 static_cast<FwAssertArgType>(_deserStatus)
1624 case BUFFERQUEUEIN_BUFFERSEND: {
1627 _deserStatus = _msg.deserializeTo(fwBuffer);
1630 static_cast<FwAssertArgType>(_deserStatus)
1642 case COMPACKETQUEUEIN_COM: {
1645 _deserStatus = _msg.deserializeTo(data);
1648 static_cast<FwAssertArgType>(_deserStatus)
1653 _deserStatus = _msg.deserializeTo(context);
1656 static_cast<FwAssertArgType>(_deserStatus)
1669 case COMSTATUSIN_SUCCESSCONDITION: {
1672 _deserStatus = _msg.deserializeTo(condition);
1675 static_cast<FwAssertArgType>(_deserStatus)
1690 _deserStatus = _msg.deserializeTo(context);
1693 static_cast<FwAssertArgType>(_deserStatus)
1705 case CMD_FLUSH_QUEUE: {
1708 _deserStatus = _msg.deserializeTo(_opCode);
1711 static_cast<FwAssertArgType>(_deserStatus)
1716 _deserStatus = _msg.deserializeTo(_cmdSeq);
1719 static_cast<FwAssertArgType>(_deserStatus)
1724 _deserStatus = _msg.deserializeTo(args);
1727 static_cast<FwAssertArgType>(_deserStatus)
1737 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
1752 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
1765 #if FW_CMD_CHECK_RESIDUAL 1767 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
1786 case CMD_FLUSH_ALL_QUEUES: {
1789 _deserStatus = _msg.deserializeTo(_opCode);
1792 static_cast<FwAssertArgType>(_deserStatus)
1797 _deserStatus = _msg.deserializeTo(_cmdSeq);
1800 static_cast<FwAssertArgType>(_deserStatus)
1805 _deserStatus = _msg.deserializeTo(args);
1808 static_cast<FwAssertArgType>(_deserStatus)
1816 #if FW_CMD_CHECK_RESIDUAL 1818 if (this->m_CmdStatus_OutputPort[0].isConnected()) {
1843 void ComQueueComponentBase ::
1855 const U32 idBase = callComp->
getIdBase();
1856 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1859 switch (opCode - idBase) {
1861 compPtr->FLUSH_QUEUE_cmdHandlerBase(
1870 compPtr->FLUSH_ALL_QUEUES_cmdHandlerBase(
1884 void ComQueueComponentBase ::
1885 m_p_bufferQueueIn_in(
1893 compPtr->bufferQueueIn_handlerBase(
1899 void ComQueueComponentBase ::
1900 m_p_comPacketQueueIn_in(
1909 compPtr->comPacketQueueIn_handlerBase(
1916 void ComQueueComponentBase ::
1925 compPtr->comStatusIn_handlerBase(
1931 void ComQueueComponentBase ::
1932 m_p_dataReturnIn_in(
1941 compPtr->dataReturnIn_handlerBase(
1948 void ComQueueComponentBase ::
1957 compPtr->run_handlerBase(
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.
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].
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.
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Invoke output port dataOut.
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)
virtual void FLUSH_ALL_QUEUES_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_comPacketQueueIn_InputPorts()
void set_bufferReturnOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferReturnOut[portNum].
bool isConnected_bufferReturnOut_OutputPort(FwIndexType portNum)
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)
message to exit active component task
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
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.
bool isConnected_Log_OutputPort(FwIndexType portNum)
void init()
Object initializer.
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.
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 interface.
void set_Tlm_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to Tlm[portNum].
Channel ID for comQueueDepth.
#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 addCallComp(Fw::PassiveComponentBase *callComp, CompFuncPtr funcPtr)
Register a component.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
bool isConnected_Time_OutputPort(FwIndexType portNum)
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
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 interface.
static constexpr FwIndexType getNum_bufferQueueIn_InputPorts()
Array of queue depths for Fw::Buffer types.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
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 interface.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void invoke(Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke a port interface.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void log_WARNING_HI_QueueOverflow(Svc::QueueType queueType, U32 index) const
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 interface.
virtual void bufferQueueIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferQueueIn.
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 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.
void init()
Initialization function.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void init()
Initialization function.
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum)
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 interface.
A message was sent requesting an exit of the loop.
bool isConnected_Tlm_OutputPort(FwIndexType portNum)
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
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].
virtual void bufferQueueIn_overflowHook(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Overflow hook for async input port bufferQueueIn.
void init()
Initialization function.
bool isConnected_dataOut_OutputPort(FwIndexType portNum)
Channel ID for buffQueueDepth.
The size of the serial representation.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
bool isConnected_CmdReg_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_run_InputPorts()
void bufferQueueIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferQueueIn.
void bufferReturnOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferReturnOut.