9 #if FW_ENABLE_TEXT_LOGGING 35 class ComponentIpcSerializableBuffer :
45 MAX_DATA_SIZE =
sizeof(BuffUnion),
47 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
51 return sizeof(m_buff);
58 const U8* getBuffAddr()
const {
64 U8 m_buff[SERIALIZATION_SIZE];
88 this->m_cmdIn_InputPort[port].
init();
93 this->m_cmdIn_InputPort[port].
setPortNum(port);
95 #if FW_OBJECT_NAMES == 1 99 this->m_objName.toChar(),
102 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
112 this->m_Run_InputPort[port].
init();
119 #if FW_OBJECT_NAMES == 1 123 this->m_objName.toChar(),
126 this->m_Run_InputPort[port].setObjName(portName.
toChar());
136 this->m_TlmGet_InputPort[port].
init();
141 this->m_TlmGet_InputPort[port].
setPortNum(port);
143 #if FW_OBJECT_NAMES == 1 147 this->m_objName.toChar(),
150 this->m_TlmGet_InputPort[port].setObjName(portName.
toChar());
160 this->m_TlmRecv_InputPort[port].
init();
165 this->m_TlmRecv_InputPort[port].
setPortNum(port);
167 #if FW_OBJECT_NAMES == 1 171 this->m_objName.toChar(),
174 this->m_TlmRecv_InputPort[port].setObjName(portName.
toChar());
184 this->m_pingIn_InputPort[port].
init();
189 this->m_pingIn_InputPort[port].
setPortNum(port);
191 #if FW_OBJECT_NAMES == 1 195 this->m_objName.toChar(),
198 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
208 this->m_cmdRegOut_OutputPort[port].
init();
210 #if FW_OBJECT_NAMES == 1 214 this->m_objName.toChar(),
217 this->m_cmdRegOut_OutputPort[port].setObjName(portName.
toChar());
227 this->m_cmdResponseOut_OutputPort[port].
init();
229 #if FW_OBJECT_NAMES == 1 233 this->m_objName.toChar(),
236 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
246 this->m_eventOut_OutputPort[port].
init();
248 #if FW_OBJECT_NAMES == 1 252 this->m_objName.toChar(),
255 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
259 #if FW_ENABLE_TEXT_LOGGING == 1 263 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
266 this->m_textEventOut_OutputPort[port].
init();
268 #if FW_OBJECT_NAMES == 1 272 this->m_objName.toChar(),
275 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
286 this->m_timeGetOut_OutputPort[port].
init();
288 #if FW_OBJECT_NAMES == 1 292 this->m_objName.toChar(),
295 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
305 this->m_tlmOut_OutputPort[port].
init();
307 #if FW_OBJECT_NAMES == 1 311 this->m_objName.toChar(),
314 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
324 this->m_PktSend_OutputPort[port].
init();
326 #if FW_OBJECT_NAMES == 1 330 this->m_objName.toChar(),
333 this->m_PktSend_OutputPort[port].setObjName(portName.
toChar());
343 this->m_pingOut_OutputPort[port].
init();
345 #if FW_OBJECT_NAMES == 1 349 this->m_objName.toChar(),
352 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
359 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
363 static_cast<FwAssertArgType>(qStat)
376 static_cast<FwAssertArgType>(portNum)
379 return &this->m_cmdIn_InputPort[portNum];
391 static_cast<FwAssertArgType>(portNum)
394 return &this->m_Run_InputPort[portNum];
402 static_cast<FwAssertArgType>(portNum)
405 return &this->m_TlmGet_InputPort[portNum];
413 static_cast<FwAssertArgType>(portNum)
416 return &this->m_TlmRecv_InputPort[portNum];
424 static_cast<FwAssertArgType>(portNum)
427 return &this->m_pingIn_InputPort[portNum];
442 static_cast<FwAssertArgType>(portNum)
445 this->m_cmdRegOut_OutputPort[portNum].
addCallPort(port);
456 static_cast<FwAssertArgType>(portNum)
459 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
470 static_cast<FwAssertArgType>(portNum)
473 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
476 #if FW_ENABLE_TEXT_LOGGING == 1 478 void TlmPacketizerComponentBase ::
479 set_textEventOut_OutputPort(
485 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
486 static_cast<FwAssertArgType>(portNum)
489 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
502 static_cast<FwAssertArgType>(portNum)
505 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
516 static_cast<FwAssertArgType>(portNum)
519 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
534 static_cast<FwAssertArgType>(portNum)
537 this->m_PktSend_OutputPort[portNum].
addCallPort(port);
548 static_cast<FwAssertArgType>(portNum)
551 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
554 #if FW_PORT_SERIALIZATION 563 Fw::InputSerializePort* port
568 static_cast<FwAssertArgType>(portNum)
571 this->m_cmdRegOut_OutputPort[portNum].registerSerialPort(port);
577 Fw::InputSerializePort* port
582 static_cast<FwAssertArgType>(portNum)
585 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
591 Fw::InputSerializePort* port
596 static_cast<FwAssertArgType>(portNum)
599 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
602 #if FW_ENABLE_TEXT_LOGGING == 1 604 void TlmPacketizerComponentBase ::
605 set_textEventOut_OutputPort(
607 Fw::InputSerializePort* port
611 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
612 static_cast<FwAssertArgType>(portNum)
615 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
623 Fw::InputSerializePort* port
628 static_cast<FwAssertArgType>(portNum)
631 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
637 Fw::InputSerializePort* port
642 static_cast<FwAssertArgType>(portNum)
645 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
650 #if FW_PORT_SERIALIZATION 659 Fw::InputSerializePort* port
664 static_cast<FwAssertArgType>(portNum)
667 this->m_PktSend_OutputPort[portNum].registerSerialPort(port);
673 Fw::InputSerializePort* port
678 static_cast<FwAssertArgType>(portNum)
681 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
693 FW_ASSERT(this->m_cmdRegOut_OutputPort[0].isConnected());
695 this->m_cmdRegOut_OutputPort[0].
invoke(
699 this->m_cmdRegOut_OutputPort[0].
invoke(
710 Fw::ActiveComponentBase(compName)
730 static_cast<FwAssertArgType>(portNum)
733 return this->m_cmdRegOut_OutputPort[portNum].
isConnected();
741 static_cast<FwAssertArgType>(portNum)
744 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
752 static_cast<FwAssertArgType>(portNum)
755 return this->m_eventOut_OutputPort[portNum].
isConnected();
758 #if FW_ENABLE_TEXT_LOGGING == 1 760 bool TlmPacketizerComponentBase ::
761 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
764 (0 <= portNum) && (portNum < this->getNum_textEventOut_OutputPorts()),
765 static_cast<FwAssertArgType>(portNum)
768 return this->m_textEventOut_OutputPort[portNum].isConnected();
778 static_cast<FwAssertArgType>(portNum)
781 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
789 static_cast<FwAssertArgType>(portNum)
792 return this->m_tlmOut_OutputPort[portNum].
isConnected();
804 static_cast<FwAssertArgType>(portNum)
807 return this->m_PktSend_OutputPort[portNum].
isConnected();
815 static_cast<FwAssertArgType>(portNum)
818 return this->m_pingOut_OutputPort[portNum].
isConnected();
836 static_cast<FwAssertArgType>(portNum)
844 ComponentIpcSerializableBuffer msg;
848 _status = msg.serializeFrom(
849 static_cast<FwEnumStoreType>(RUN_SCHED)
853 static_cast<FwAssertArgType>(_status)
857 _status = msg.serializeFrom(portNum);
860 static_cast<FwAssertArgType>(_status)
864 _status = msg.serializeFrom(context);
867 static_cast<FwAssertArgType>(_status)
876 static_cast<FwAssertArgType>(qStatus)
891 static_cast<FwAssertArgType>(portNum)
918 static_cast<FwAssertArgType>(portNum)
939 static_cast<FwAssertArgType>(portNum)
947 ComponentIpcSerializableBuffer msg;
951 _status = msg.serializeFrom(
952 static_cast<FwEnumStoreType>(PINGIN_PING)
956 static_cast<FwAssertArgType>(_status)
960 _status = msg.serializeFrom(portNum);
963 static_cast<FwAssertArgType>(_status)
967 _status = msg.serializeFrom(key);
970 static_cast<FwAssertArgType>(_status)
979 static_cast<FwAssertArgType>(qStatus)
1022 static_cast<FwAssertArgType>(portNum)
1026 this->m_PktSend_OutputPort[portNum].isConnected(),
1027 static_cast<FwAssertArgType>(portNum)
1029 this->m_PktSend_OutputPort[portNum].
invoke(
1043 static_cast<FwAssertArgType>(portNum)
1047 this->m_pingOut_OutputPort[portNum].isConnected(),
1048 static_cast<FwAssertArgType>(portNum)
1050 this->m_pingOut_OutputPort[portNum].
invoke(
1066 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1067 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1088 ComponentIpcSerializableBuffer msg;
1092 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SET_LEVEL));
1095 static_cast<FwAssertArgType>(_status)
1101 _status = msg.serializeFrom(port);
1104 static_cast<FwAssertArgType>(_status)
1107 _status = msg.serializeFrom(opCode);
1110 static_cast<FwAssertArgType>(_status)
1113 _status = msg.serializeFrom(cmdSeq);
1116 static_cast<FwAssertArgType>(_status)
1119 _status = msg.serializeFrom(args);
1122 static_cast<FwAssertArgType>(_status)
1131 static_cast<FwAssertArgType>(qStatus)
1147 ComponentIpcSerializableBuffer msg;
1151 _status = msg.serializeFrom(static_cast<FwEnumStoreType>(CMD_SEND_PKT));
1154 static_cast<FwAssertArgType>(_status)
1160 _status = msg.serializeFrom(port);
1163 static_cast<FwAssertArgType>(_status)
1166 _status = msg.serializeFrom(opCode);
1169 static_cast<FwAssertArgType>(_status)
1172 _status = msg.serializeFrom(cmdSeq);
1175 static_cast<FwAssertArgType>(_status)
1178 _status = msg.serializeFrom(args);
1181 static_cast<FwAssertArgType>(_status)
1190 static_cast<FwAssertArgType>(qStatus)
1233 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1234 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1242 if (this->m_eventOut_OutputPort[0].isConnected()) {
1246 #if FW_AMPCS_COMPATIBLE 1251 static_cast<FwAssertArgType>(_status)
1255 #if FW_AMPCS_COMPATIBLE 1262 static_cast<FwAssertArgType>(_status)
1268 static_cast<FwAssertArgType>(_status)
1271 this->m_eventOut_OutputPort[0].
invoke(
1280 #if FW_ENABLE_TEXT_LOGGING 1281 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1282 #if FW_OBJECT_NAMES == 1 1283 const char* _formatString =
1284 "(%s) %s: Telemetry ID 0x%" PRIx32
" not packetized";
1286 const char* _formatString =
1287 "%s: Telemetry ID 0x%" PRIx32
" not packetized";
1294 this->m_objName.toChar(),
1300 this->m_textEventOut_OutputPort[0].invoke(
1315 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1316 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1324 if (this->m_eventOut_OutputPort[0].isConnected()) {
1328 #if FW_AMPCS_COMPATIBLE 1333 static_cast<FwAssertArgType>(_status)
1337 #if FW_AMPCS_COMPATIBLE 1344 static_cast<FwAssertArgType>(_status)
1350 static_cast<FwAssertArgType>(_status)
1353 this->m_eventOut_OutputPort[0].
invoke(
1362 #if FW_ENABLE_TEXT_LOGGING 1363 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1364 #if FW_OBJECT_NAMES == 1 1365 const char* _formatString =
1366 "(%s) %s: Telemetry send level to %" PRIu32
"";
1368 const char* _formatString =
1369 "%s: Telemetry send level to %" PRIu32
"";
1376 this->m_objName.toChar(),
1382 this->m_textEventOut_OutputPort[0].invoke(
1400 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1401 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1409 if (this->m_eventOut_OutputPort[0].isConnected()) {
1413 #if FW_AMPCS_COMPATIBLE 1418 static_cast<FwAssertArgType>(_status)
1422 #if FW_AMPCS_COMPATIBLE 1429 static_cast<FwAssertArgType>(_status)
1435 static_cast<FwAssertArgType>(_status)
1438 #if FW_AMPCS_COMPATIBLE 1445 static_cast<FwAssertArgType>(_status)
1451 static_cast<FwAssertArgType>(_status)
1454 this->m_eventOut_OutputPort[0].
invoke(
1463 #if FW_ENABLE_TEXT_LOGGING 1464 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1465 #if FW_OBJECT_NAMES == 1 1466 const char* _formatString =
1467 "(%s) %s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
1469 const char* _formatString =
1470 "%s: Requested send level %" PRIu32
" higher than max packet level of %" PRIu32
"";
1477 this->m_objName.toChar(),
1484 this->m_textEventOut_OutputPort[0].invoke(
1499 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1500 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1508 if (this->m_eventOut_OutputPort[0].isConnected()) {
1512 #if FW_AMPCS_COMPATIBLE 1517 static_cast<FwAssertArgType>(_status)
1521 #if FW_AMPCS_COMPATIBLE 1524 static_cast<U8>(
sizeof(U32))
1528 static_cast<FwAssertArgType>(_status)
1534 static_cast<FwAssertArgType>(_status)
1537 this->m_eventOut_OutputPort[0].
invoke(
1546 #if FW_ENABLE_TEXT_LOGGING 1547 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1548 #if FW_OBJECT_NAMES == 1 1549 const char* _formatString =
1550 "(%s) %s: Sent packet ID %" PRIu32
"";
1552 const char* _formatString =
1553 "%s: Sent packet ID %" PRIu32
"";
1560 this->m_objName.toChar(),
1566 this->m_textEventOut_OutputPort[0].invoke(
1581 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1582 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1590 if (this->m_eventOut_OutputPort[0].isConnected()) {
1594 #if FW_AMPCS_COMPATIBLE 1599 static_cast<FwAssertArgType>(_status)
1603 #if FW_AMPCS_COMPATIBLE 1606 static_cast<U8>(
sizeof(U32))
1610 static_cast<FwAssertArgType>(_status)
1616 static_cast<FwAssertArgType>(_status)
1619 this->m_eventOut_OutputPort[0].
invoke(
1628 #if FW_ENABLE_TEXT_LOGGING 1629 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1630 #if FW_OBJECT_NAMES == 1 1631 const char* _formatString =
1632 "(%s) %s: Could not find packet ID %" PRIu32
"";
1634 const char* _formatString =
1635 "%s: Could not find packet ID %" PRIu32
"";
1642 this->m_objName.toChar(),
1648 this->m_textEventOut_OutputPort[0].invoke(
1668 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1670 this->m_timeGetOut_OutputPort[0].isConnected() &&
1673 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1680 static_cast<FwAssertArgType>(_stat)
1687 this->m_tlmOut_OutputPort[0].
invoke(
1702 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1704 this->m_timeGetOut_OutputPort[0].
invoke(_time);
1719 ComponentIpcSerializableBuffer _msg;
1729 static_cast<FwAssertArgType>(_msgStatus)
1739 static_cast<FwAssertArgType>(_deserStatus)
1742 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1744 if (_msgType == TLMPACKETIZER_COMPONENT_EXIT) {
1749 _deserStatus = _msg.deserializeTo(portNum);
1752 static_cast<FwAssertArgType>(_deserStatus)
1760 _deserStatus = _msg.deserializeTo(context);
1763 static_cast<FwAssertArgType>(_deserStatus)
1778 _deserStatus = _msg.deserializeTo(key);
1781 static_cast<FwAssertArgType>(_deserStatus)
1793 case CMD_SET_LEVEL: {
1796 _deserStatus = _msg.deserializeTo(_opCode);
1799 static_cast<FwAssertArgType>(_deserStatus)
1804 _deserStatus = _msg.deserializeTo(_cmdSeq);
1807 static_cast<FwAssertArgType>(_deserStatus)
1812 _deserStatus = _msg.deserializeTo(args);
1815 static_cast<FwAssertArgType>(_deserStatus)
1825 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1838 #if FW_CMD_CHECK_RESIDUAL 1840 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1858 case CMD_SEND_PKT: {
1861 _deserStatus = _msg.deserializeTo(_opCode);
1864 static_cast<FwAssertArgType>(_deserStatus)
1869 _deserStatus = _msg.deserializeTo(_cmdSeq);
1872 static_cast<FwAssertArgType>(_deserStatus)
1877 _deserStatus = _msg.deserializeTo(args);
1880 static_cast<FwAssertArgType>(_deserStatus)
1890 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1903 #if FW_CMD_CHECK_RESIDUAL 1905 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1933 void TlmPacketizerComponentBase ::
1945 const U32 idBase = callComp->
getIdBase();
1946 FW_ASSERT(opCode >= idBase, static_cast<FwAssertArgType>(opCode), static_cast<FwAssertArgType>(idBase));
1949 switch (opCode - idBase) {
1951 compPtr->SET_LEVEL_cmdHandlerBase(
1960 compPtr->SEND_PKT_cmdHandlerBase(
1974 void TlmPacketizerComponentBase ::
1983 compPtr->Run_handlerBase(
2000 return compPtr->TlmGet_handlerBase(
2008 void TlmPacketizerComponentBase ::
2019 compPtr->TlmRecv_handlerBase(
2027 void TlmPacketizerComponentBase ::
2036 compPtr->pingIn_handlerBase(
Set telemetry send level.
Serialization/Deserialization operation was successful.
void SEND_PKT_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::ComBuffer &data, U32 context) const
Invoke a port interface.
void init()
Initialization function.
void set_PktSend_OutputPort(FwIndexType portNum, Fw::InputComPort *port)
Connect port to PktSend[portNum].
FwIdType FwOpcodeType
The type of a command opcode.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
virtual void TlmRecv_handler(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)=0
Handler for input port TlmRecv.
void Run_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port Run.
Status
status returned from the queue send function
static constexpr FwIndexType getNum_PktSend_OutputPorts()
void log_WARNING_LO_NoChan(FwChanIdType Id) const
static constexpr FwIndexType getNum_pingIn_InputPorts()
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG)
deserialize 8-bit unsigned int
void invoke(U32 key) const
Invoke a port interface.
void TlmRecv_handlerBase(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Handler base-class function for input port TlmRecv.
void PktSend_out(FwIndexType portNum, Fw::ComBuffer &data, U32 context)
Invoke output port PktSend.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Enum representing a command response.
No time base has been established (Required)
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
virtual void SET_LEVEL_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, FwChanIdType level)=0
Telemetry send level set.
Os::Queue m_queue
queue object for active component
void addCallPort(InputTlmPort *callPort)
Register an input port.
virtual ~TlmPacketizerComponentBase()
Destroy TlmPacketizerComponentBase object.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void init()
Object initializer.
void tlmWrite_SendLevel(FwChanIdType arg, Fw::Time _tlmTime=Fw::Time()) const
Telemetry channel is not part of a telemetry packet.
SerializeStatus
forward declaration for string
Message will block until space is available.
FwIdType FwEventIdType
The type of an event identifier.
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) ...
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void init()
Initialization function.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Fw::InputTlmGetPort * get_TlmGet_InputPort(FwIndexType portNum)
Less important informational events.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
virtual void Run_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port Run.
A less serious but recoverable event.
void init()
Initialization function.
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
void invoke(Fw::Time &time) const
Invoke a port interface.
const char * toChar() const
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response) const
Invoke a port interface.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void addCallPort(InputPingPort *callPort)
Register an input port.
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
void log_WARNING_LO_PacketNotFound(U32 id) const
void resetDeser()
reset deserialization to beginning
Channel ID for SendLevel.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
Errors dispatching messages.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG)
serialize 8-bit unsigned int
static constexpr FwIndexType getNum_tlmOut_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
Fw::TlmValid TlmGet_handlerBase(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Handler base-class function for input port TlmGet.
void init()
Initialization function.
virtual void Run_handler(FwIndexType portNum, U32 context)=0
Handler for input port Run.
uint8_t U8
8-bit unsigned integer
message to exit active component task
static constexpr FwIndexType getNum_eventOut_OutputPorts()
Command failed to deserialize.
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
Important informational events.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
virtual void SEND_PKT_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 id)=0
void log_WARNING_LO_MaxLevelExceed(FwChanIdType level, FwChanIdType max) const
A message was sent requesting an exit of the loop.
Telemetry send level set.
PlatformIndexType FwIndexType
TlmPacketizerComponentBase(const char *compName="")
Construct TlmPacketizerComponentBase object.
void log_ACTIVITY_HI_LevelSet(FwChanIdType id) const
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
void addCallPort(InputLogPort *callPort)
Register an input port.
void init()
Initialization function.
virtual void SEND_PKT_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SEND_PKT.
RateGroupDivider component implementation.
message sent/received okay
bool isConnected_PktSend_OutputPort(FwIndexType portNum)
Svc::InputSchedPort * get_Run_InputPort(FwIndexType portNum)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_TlmGet_InputPorts()
void addCallPort(InputComPort *callPort)
Register an input port.
Fw::InputTlmPort * get_TlmRecv_InputPort(FwIndexType portNum)
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void regCommands()
Register commands with the Command Dispatcher.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void init()
Initialization function.
Couldn't find the packet to send.
Force a packet to be sent.
void log_ACTIVITY_LO_PacketSent(U32 id) const
void SET_LEVEL_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void SET_LEVEL_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command SET_LEVEL.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
static constexpr FwIndexType getNum_Run_InputPorts()
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
virtual Fw::TlmValid TlmGet_handler(FwIndexType portNum, FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)=0
Handler for input port TlmGet.
static constexpr FwIndexType getNum_TlmRecv_InputPorts()
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
static constexpr FwIndexType getNum_cmdIn_InputPorts()