9 #if FW_ENABLE_TEXT_LOGGING 19 PRODUCTREQUESTIN_DPREQUEST,
22 CMD_CLEAR_EVENT_THROTTLE,
36 class ComponentIpcSerializableBuffer :
46 MAX_DATA_SIZE =
sizeof(BuffUnion),
48 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
52 return sizeof(m_buff);
59 const U8* getBuffAddr()
const {
65 U8 m_buff[SERIALIZATION_SIZE];
89 this->m_cmdIn_InputPort[port].
init();
94 this->m_cmdIn_InputPort[port].
setPortNum(port);
96 #if FW_OBJECT_NAMES == 1 100 this->m_objName.toChar(),
103 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
113 this->m_productGetIn_InputPort[port].
init();
118 this->m_productGetIn_InputPort[port].
setPortNum(port);
120 #if FW_OBJECT_NAMES == 1 124 this->m_objName.toChar(),
127 this->m_productGetIn_InputPort[port].setObjName(portName.
toChar());
137 this->m_productRequestIn_InputPort[port].
init();
138 this->m_productRequestIn_InputPort[port].
addCallComp(
140 m_p_productRequestIn_in
142 this->m_productRequestIn_InputPort[port].
setPortNum(port);
144 #if FW_OBJECT_NAMES == 1 148 this->m_objName.toChar(),
151 this->m_productRequestIn_InputPort[port].setObjName(portName.
toChar());
161 this->m_productSendIn_InputPort[port].
init();
166 this->m_productSendIn_InputPort[port].
setPortNum(port);
168 #if FW_OBJECT_NAMES == 1 172 this->m_objName.toChar(),
175 this->m_productSendIn_InputPort[port].setObjName(portName.
toChar());
185 this->m_schedIn_InputPort[port].
init();
190 this->m_schedIn_InputPort[port].
setPortNum(port);
192 #if FW_OBJECT_NAMES == 1 196 this->m_objName.toChar(),
199 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
209 this->m_cmdRegIn_OutputPort[port].
init();
211 #if FW_OBJECT_NAMES == 1 215 this->m_objName.toChar(),
218 this->m_cmdRegIn_OutputPort[port].setObjName(portName.
toChar());
228 this->m_cmdResponseOut_OutputPort[port].
init();
230 #if FW_OBJECT_NAMES == 1 234 this->m_objName.toChar(),
237 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
247 this->m_eventOut_OutputPort[port].
init();
249 #if FW_OBJECT_NAMES == 1 253 this->m_objName.toChar(),
256 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
260 #if FW_ENABLE_TEXT_LOGGING == 1 264 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
267 this->m_textEventOut_OutputPort[port].
init();
269 #if FW_OBJECT_NAMES == 1 273 this->m_objName.toChar(),
276 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
287 this->m_timeGetOut_OutputPort[port].
init();
289 #if FW_OBJECT_NAMES == 1 293 this->m_objName.toChar(),
296 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
306 this->m_tlmOut_OutputPort[port].
init();
308 #if FW_OBJECT_NAMES == 1 312 this->m_objName.toChar(),
315 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
325 this->m_bufferGetOut_OutputPort[port].
init();
327 #if FW_OBJECT_NAMES == 1 331 this->m_objName.toChar(),
334 this->m_bufferGetOut_OutputPort[port].setObjName(portName.
toChar());
344 this->m_productResponseOut_OutputPort[port].
init();
346 #if FW_OBJECT_NAMES == 1 350 this->m_objName.toChar(),
353 this->m_productResponseOut_OutputPort[port].setObjName(portName.
toChar());
363 this->m_productSendOut_OutputPort[port].
init();
365 #if FW_OBJECT_NAMES == 1 369 this->m_objName.toChar(),
372 this->m_productSendOut_OutputPort[port].setObjName(portName.
toChar());
379 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
383 static_cast<FwAssertArgType>(qStat)
396 static_cast<FwAssertArgType>(portNum)
399 return &this->m_cmdIn_InputPort[portNum];
411 static_cast<FwAssertArgType>(portNum)
414 return &this->m_productGetIn_InputPort[portNum];
422 static_cast<FwAssertArgType>(portNum)
425 return &this->m_productRequestIn_InputPort[portNum];
433 static_cast<FwAssertArgType>(portNum)
436 return &this->m_productSendIn_InputPort[portNum];
444 static_cast<FwAssertArgType>(portNum)
447 return &this->m_schedIn_InputPort[portNum];
462 static_cast<FwAssertArgType>(portNum)
465 this->m_cmdRegIn_OutputPort[portNum].
addCallPort(port);
476 static_cast<FwAssertArgType>(portNum)
479 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
490 static_cast<FwAssertArgType>(portNum)
493 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
496 #if FW_ENABLE_TEXT_LOGGING == 1 498 void DpManagerComponentBase ::
499 set_textEventOut_OutputPort(
505 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
506 static_cast<FwAssertArgType>(portNum)
509 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
522 static_cast<FwAssertArgType>(portNum)
525 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
536 static_cast<FwAssertArgType>(portNum)
539 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
554 static_cast<FwAssertArgType>(portNum)
557 this->m_bufferGetOut_OutputPort[portNum].
addCallPort(port);
568 static_cast<FwAssertArgType>(portNum)
571 this->m_productResponseOut_OutputPort[portNum].
addCallPort(port);
582 static_cast<FwAssertArgType>(portNum)
585 this->m_productSendOut_OutputPort[portNum].
addCallPort(port);
588 #if FW_PORT_SERIALIZATION 597 Fw::InputSerializePort* port
602 static_cast<FwAssertArgType>(portNum)
605 this->m_cmdRegIn_OutputPort[portNum].registerSerialPort(port);
611 Fw::InputSerializePort* port
616 static_cast<FwAssertArgType>(portNum)
619 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
625 Fw::InputSerializePort* port
630 static_cast<FwAssertArgType>(portNum)
633 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
636 #if FW_ENABLE_TEXT_LOGGING == 1 638 void DpManagerComponentBase ::
639 set_textEventOut_OutputPort(
641 Fw::InputSerializePort* port
645 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
646 static_cast<FwAssertArgType>(portNum)
649 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
657 Fw::InputSerializePort* port
662 static_cast<FwAssertArgType>(portNum)
665 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
671 Fw::InputSerializePort* port
676 static_cast<FwAssertArgType>(portNum)
679 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
684 #if FW_PORT_SERIALIZATION 693 Fw::InputSerializePort* port
698 static_cast<FwAssertArgType>(portNum)
701 this->m_productResponseOut_OutputPort[portNum].registerSerialPort(port);
707 Fw::InputSerializePort* port
712 static_cast<FwAssertArgType>(portNum)
715 this->m_productSendOut_OutputPort[portNum].registerSerialPort(port);
727 FW_ASSERT(this->m_cmdRegIn_OutputPort[0].isConnected());
729 this->m_cmdRegIn_OutputPort[0].
invoke(
740 Fw::ActiveComponentBase(compName)
742 this->m_BufferAllocationFailedThrottle = 0;
760 static_cast<FwAssertArgType>(portNum)
763 return this->m_cmdRegIn_OutputPort[portNum].
isConnected();
771 static_cast<FwAssertArgType>(portNum)
774 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
782 static_cast<FwAssertArgType>(portNum)
785 return this->m_eventOut_OutputPort[portNum].
isConnected();
788 #if FW_ENABLE_TEXT_LOGGING == 1 790 bool DpManagerComponentBase ::
791 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
794 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
795 static_cast<FwAssertArgType>(portNum)
798 return this->m_textEventOut_OutputPort[portNum].isConnected();
808 static_cast<FwAssertArgType>(portNum)
811 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
819 static_cast<FwAssertArgType>(portNum)
822 return this->m_tlmOut_OutputPort[portNum].
isConnected();
834 static_cast<FwAssertArgType>(portNum)
837 return this->m_bufferGetOut_OutputPort[portNum].
isConnected();
845 static_cast<FwAssertArgType>(portNum)
848 return this->m_productResponseOut_OutputPort[portNum].
isConnected();
856 static_cast<FwAssertArgType>(portNum)
859 return this->m_productSendOut_OutputPort[portNum].
isConnected();
879 static_cast<FwAssertArgType>(portNum)
905 static_cast<FwAssertArgType>(portNum)
914 ComponentIpcSerializableBuffer msg;
918 _status = msg.serializeFrom(
919 static_cast<FwEnumStoreType>(PRODUCTREQUESTIN_DPREQUEST)
923 static_cast<FwAssertArgType>(_status)
927 _status = msg.serializeFrom(portNum);
930 static_cast<FwAssertArgType>(_status)
934 _status = msg.serializeFrom(
id);
937 static_cast<FwAssertArgType>(_status)
941 _status = msg.serializeFrom(dataSize);
944 static_cast<FwAssertArgType>(_status)
953 static_cast<FwAssertArgType>(qStatus)
967 static_cast<FwAssertArgType>(portNum)
976 ComponentIpcSerializableBuffer msg;
980 _status = msg.serializeFrom(
981 static_cast<FwEnumStoreType>(PRODUCTSENDIN_DPSEND)
985 static_cast<FwAssertArgType>(_status)
989 _status = msg.serializeFrom(portNum);
992 static_cast<FwAssertArgType>(_status)
996 _status = msg.serializeFrom(
id);
999 static_cast<FwAssertArgType>(_status)
1003 _status = msg.serializeFrom(buffer);
1006 static_cast<FwAssertArgType>(_status)
1015 static_cast<FwAssertArgType>(qStatus)
1028 static_cast<FwAssertArgType>(portNum)
1036 ComponentIpcSerializableBuffer msg;
1040 _status = msg.serializeFrom(
1041 static_cast<FwEnumStoreType>(SCHEDIN_SCHED)
1045 static_cast<FwAssertArgType>(_status)
1049 _status = msg.serializeFrom(portNum);
1052 static_cast<FwAssertArgType>(_status)
1056 _status = msg.serializeFrom(context);
1059 static_cast<FwAssertArgType>(_status)
1068 static_cast<FwAssertArgType>(qStatus)
1121 static_cast<FwAssertArgType>(portNum)
1125 this->m_bufferGetOut_OutputPort[portNum].isConnected(),
1126 static_cast<FwAssertArgType>(portNum)
1128 return this->m_bufferGetOut_OutputPort[portNum].
invoke(
1143 static_cast<FwAssertArgType>(portNum)
1147 this->m_productResponseOut_OutputPort[portNum].isConnected(),
1148 static_cast<FwAssertArgType>(portNum)
1150 this->m_productResponseOut_OutputPort[portNum].
invoke(
1165 static_cast<FwAssertArgType>(portNum)
1169 this->m_productSendOut_OutputPort[portNum].isConnected(),
1170 static_cast<FwAssertArgType>(portNum)
1172 this->m_productSendOut_OutputPort[portNum].
invoke(
1188 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1189 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1210 ComponentIpcSerializableBuffer msg;
1214 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_CLEAR_EVENT_THROTTLE));
1217 static_cast<FwAssertArgType>(_status)
1223 _status = msg.serializeFrom(port);
1226 static_cast<FwAssertArgType>(_status)
1229 _status = msg.serializeFrom(opCode);
1232 static_cast<FwAssertArgType>(_status)
1235 _status = msg.serializeFrom(cmdSeq);
1238 static_cast<FwAssertArgType>(_status)
1241 _status = msg.serializeFrom(args);
1244 static_cast<FwAssertArgType>(_status)
1253 static_cast<FwAssertArgType>(qStatus)
1288 this->m_BufferAllocationFailedThrottle++;
1293 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1294 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1302 if (this->m_eventOut_OutputPort[0].isConnected()) {
1306 #if FW_AMPCS_COMPATIBLE 1311 static_cast<FwAssertArgType>(_status)
1315 #if FW_AMPCS_COMPATIBLE 1322 static_cast<FwAssertArgType>(_status)
1328 static_cast<FwAssertArgType>(_status)
1331 this->m_eventOut_OutputPort[0].
invoke(
1340 #if FW_ENABLE_TEXT_LOGGING 1341 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1342 #if FW_OBJECT_NAMES == 1 1343 const char* _formatString =
1344 "(%s) %s: Buffer allocation failed for container id %" PRIu32
"";
1346 const char* _formatString =
1347 "%s: Buffer allocation failed for container id %" PRIu32
"";
1354 this->m_objName.toChar(),
1356 "BufferAllocationFailed ",
1360 this->m_textEventOut_OutputPort[0].invoke(
1378 this->m_BufferAllocationFailedThrottle = 0;
1392 if (not this->m_first_update_NumSuccessfulAllocations) {
1394 if (arg == this->m_last_NumSuccessfulAllocations) {
1398 this->m_last_NumSuccessfulAllocations = arg;
1402 this->m_first_update_NumSuccessfulAllocations =
false;
1403 this->m_last_NumSuccessfulAllocations = arg;
1406 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1408 this->m_timeGetOut_OutputPort[0].isConnected() &&
1411 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1418 static_cast<FwAssertArgType>(_stat)
1425 this->m_tlmOut_OutputPort[0].
invoke(
1440 if (not this->m_first_update_NumFailedAllocations) {
1442 if (arg == this->m_last_NumFailedAllocations) {
1446 this->m_last_NumFailedAllocations = arg;
1450 this->m_first_update_NumFailedAllocations =
false;
1451 this->m_last_NumFailedAllocations = arg;
1454 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1456 this->m_timeGetOut_OutputPort[0].isConnected() &&
1459 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1466 static_cast<FwAssertArgType>(_stat)
1473 this->m_tlmOut_OutputPort[0].
invoke(
1488 if (not this->m_first_update_NumDataProducts) {
1490 if (arg == this->m_last_NumDataProducts) {
1494 this->m_last_NumDataProducts = arg;
1498 this->m_first_update_NumDataProducts =
false;
1499 this->m_last_NumDataProducts = arg;
1502 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1504 this->m_timeGetOut_OutputPort[0].isConnected() &&
1507 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1514 static_cast<FwAssertArgType>(_stat)
1521 this->m_tlmOut_OutputPort[0].
invoke(
1536 if (not this->m_first_update_NumBytes) {
1538 if (arg == this->m_last_NumBytes) {
1542 this->m_last_NumBytes = arg;
1546 this->m_first_update_NumBytes =
false;
1547 this->m_last_NumBytes = arg;
1550 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1552 this->m_timeGetOut_OutputPort[0].isConnected() &&
1555 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1562 static_cast<FwAssertArgType>(_stat)
1569 this->m_tlmOut_OutputPort[0].
invoke(
1584 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1586 this->m_timeGetOut_OutputPort[0].
invoke(_time);
1601 ComponentIpcSerializableBuffer _msg;
1611 static_cast<FwAssertArgType>(_msgStatus)
1621 static_cast<FwAssertArgType>(_deserStatus)
1624 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1626 if (_msgType == DPMANAGER_COMPONENT_EXIT) {
1631 _deserStatus = _msg.deserializeTo(portNum);
1634 static_cast<FwAssertArgType>(_deserStatus)
1639 case PRODUCTREQUESTIN_DPREQUEST: {
1642 _deserStatus = _msg.deserializeTo(
id);
1645 static_cast<FwAssertArgType>(_deserStatus)
1650 _deserStatus = _msg.deserializeTo(dataSize);
1653 static_cast<FwAssertArgType>(_deserStatus)
1666 case PRODUCTSENDIN_DPSEND: {
1669 _deserStatus = _msg.deserializeTo(
id);
1672 static_cast<FwAssertArgType>(_deserStatus)
1677 _deserStatus = _msg.deserializeTo(buffer);
1680 static_cast<FwAssertArgType>(_deserStatus)
1693 case SCHEDIN_SCHED: {
1696 _deserStatus = _msg.deserializeTo(context);
1699 static_cast<FwAssertArgType>(_deserStatus)
1711 case CMD_CLEAR_EVENT_THROTTLE: {
1714 _deserStatus = _msg.deserializeTo(_opCode);
1717 static_cast<FwAssertArgType>(_deserStatus)
1722 _deserStatus = _msg.deserializeTo(_cmdSeq);
1725 static_cast<FwAssertArgType>(_deserStatus)
1730 _deserStatus = _msg.deserializeTo(args);
1733 static_cast<FwAssertArgType>(_deserStatus)
1741 #if FW_CMD_CHECK_RESIDUAL 1743 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1768 void DpManagerComponentBase ::
1780 const U32 idBase = callComp->
getIdBase();
1781 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1784 switch (opCode - idBase) {
1786 compPtr->CLEAR_EVENT_THROTTLE_cmdHandlerBase(
1801 m_p_productGetIn_in(
1811 return compPtr->productGetIn_handlerBase(
1819 void DpManagerComponentBase ::
1820 m_p_productRequestIn_in(
1829 compPtr->productRequestIn_handlerBase(
1836 void DpManagerComponentBase ::
1837 m_p_productSendIn_in(
1846 compPtr->productSendIn_handlerBase(
1853 void DpManagerComponentBase ::
1862 compPtr->schedIn_handlerBase(
Serialization/Deserialization operation was successful.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
void addCallPort(InputTimePort *callPort)
Register an input port.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void set_productSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to productSendOut[portNum].
static constexpr FwIndexType getNum_productGetIn_InputPorts()
static constexpr FwIndexType getNum_productRequestIn_InputPorts()
FwIdType FwOpcodeType
The type of a command opcode.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
static constexpr FwIndexType getNum_bufferGetOut_OutputPorts()
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
FwIdType getIdBase() const
PlatformSizeType FwSizeType
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum)
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
Buffer allocation failed.
Status
status returned from the queue send function
Throttle reset count for BufferAllocationFailed.
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
static constexpr FwIndexType getNum_productSendOut_OutputPorts()
Channel ID for NumFailedAllocations.
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
void addCallPort(InputDpResponsePort *callPort)
Register an input port.
void init()
Initialization function.
void productRequestIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Handler base-class function for input port productRequestIn.
Enum representing a command response.
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
No time base has been established (Required)
message to exit active component task
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
Os::Queue m_queue
queue object for active component
void productSendIn_handlerBase(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Handler base-class function for input port productSendIn.
void invoke(FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status) const
Invoke a port interface.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
Fw::InputDpGetPort * get_productGetIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_productResponseOut_OutputPorts()
SerializeStatus
forward declaration for string
virtual void productSendIn_handler(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)=0
Handler for input port productSendIn.
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
Message will block until space is available.
virtual Fw::Success productGetIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)=0
Handler for input port productGetIn.
void init()
Initialization function.
FwIdType FwEventIdType
The type of an event identifier.
virtual void productSendIn_preMsgHook(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Pre-message hook for async input port productSendIn.
void invoke(FwOpcodeType opCode) const
Invoke a port interface.
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
Fw::InputDpSendPort * get_productSendIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status)
Invoke output port productResponseOut.
void invoke(Fw::Time &time) const
Invoke a port interface.
Channel ID for NumDataProducts.
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_productResponseOut_OutputPort(FwIndexType portNum)
bool isConnected_bufferGetOut_OutputPort(FwIndexType portNum)
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
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.
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
static constexpr FwIndexType getNum_cmdRegIn_OutputPorts()
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void resetDeser() override
Reset deserialization pointer to beginning of buffer.
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
A serious but recoverable event.
static constexpr FwIndexType getNum_schedIn_InputPorts()
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
uint8_t U8
8-bit unsigned integer
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
Fw::Buffer invoke(FwSizeType size) const
Invoke a port interface.
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port productSendOut.
static constexpr FwIndexType getNum_productSendIn_InputPorts()
virtual void productRequestIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)=0
Handler for input port productRequestIn.
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void log_WARNING_HI_BufferAllocationFailed(FwDpIdType id)
void init()
Initialization function.
FwIdType FwDpIdType
The type of a data product identifier.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
void set_productResponseOut_OutputPort(FwIndexType portNum, Fw::InputDpResponsePort *port)
Connect port to productResponseOut[portNum].
A message was sent requesting an exit of the loop.
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
PlatformIndexType FwIndexType
virtual void productRequestIn_preMsgHook(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Pre-message hook for async input port productRequestIn.
DpManagerComponentBase(const char *compName="")
Construct DpManagerComponentBase object.
Fw::InputDpRequestPort * get_productRequestIn_InputPort(FwIndexType portNum)
void addCallPort(InputLogPort *callPort)
Register an input port.
bool isConnected_productSendOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
void regCommands()
Register commands with the Command Dispatcher.
void init()
Initialization function.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
RateGroupDivider component implementation.
void set_bufferGetOut_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferGetOut[portNum].
message sent/received okay
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
Fw::Success productGetIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)
Handler base-class function for input port productGetIn.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
Channel ID for NumSuccessfulAllocations.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void init()
Initialization function.
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())
Fw::Buffer bufferGetOut_out(FwIndexType portNum, FwSizeType size)
Invoke output port bufferGetOut.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.