9 #if FW_ENABLE_TEXT_LOGGING 19 BUFFERSENDIN_BUFFERSEND,
32 class ComponentIpcSerializableBuffer :
42 MAX_DATA_SIZE =
sizeof(BuffUnion),
44 SERIALIZATION_SIZE = DATA_OFFSET + MAX_DATA_SIZE
48 return sizeof(m_buff);
55 const U8* getBuffAddr()
const {
61 U8 m_buff[SERIALIZATION_SIZE];
85 this->m_bufferSendIn_InputPort[port].
init();
90 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
92 #if FW_OBJECT_NAMES == 1 96 this->m_objName.toChar(),
99 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
109 this->m_pingIn_InputPort[port].
init();
114 this->m_pingIn_InputPort[port].
setPortNum(port);
116 #if FW_OBJECT_NAMES == 1 120 this->m_objName.toChar(),
123 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
127 #if FW_ENABLE_TEXT_LOGGING == 1 131 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
134 this->m_LogText_OutputPort[port].
init();
136 #if FW_OBJECT_NAMES == 1 140 this->m_objName.toChar(),
143 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
154 this->m_eventOut_OutputPort[port].
init();
156 #if FW_OBJECT_NAMES == 1 160 this->m_objName.toChar(),
163 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
173 this->m_timeCaller_OutputPort[port].
init();
175 #if FW_OBJECT_NAMES == 1 179 this->m_objName.toChar(),
182 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
192 this->m_tlmOut_OutputPort[port].
init();
194 #if FW_OBJECT_NAMES == 1 198 this->m_objName.toChar(),
201 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
211 this->m_bufferSendOut_OutputPort[port].
init();
213 #if FW_OBJECT_NAMES == 1 217 this->m_objName.toChar(),
220 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
230 this->m_pingOut_OutputPort[port].
init();
232 #if FW_OBJECT_NAMES == 1 236 this->m_objName.toChar(),
239 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
246 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
250 static_cast<FwAssertArgType>(qStat)
263 static_cast<FwAssertArgType>(portNum)
266 return &this->m_bufferSendIn_InputPort[portNum];
274 static_cast<FwAssertArgType>(portNum)
277 return &this->m_pingIn_InputPort[portNum];
284 #if FW_ENABLE_TEXT_LOGGING == 1 286 void FileUplinkComponentBase ::
287 set_LogText_OutputPort(
293 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
294 static_cast<FwAssertArgType>(portNum)
297 this->m_LogText_OutputPort[portNum].addCallPort(port);
310 static_cast<FwAssertArgType>(portNum)
313 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
324 static_cast<FwAssertArgType>(portNum)
327 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
338 static_cast<FwAssertArgType>(portNum)
341 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
356 static_cast<FwAssertArgType>(portNum)
359 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
370 static_cast<FwAssertArgType>(portNum)
373 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
376 #if FW_PORT_SERIALIZATION 382 #if FW_ENABLE_TEXT_LOGGING == 1 384 void FileUplinkComponentBase ::
385 set_LogText_OutputPort(
387 Fw::InputSerializePort* port
391 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
392 static_cast<FwAssertArgType>(portNum)
395 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
403 Fw::InputSerializePort* port
408 static_cast<FwAssertArgType>(portNum)
411 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
417 Fw::InputSerializePort* port
422 static_cast<FwAssertArgType>(portNum)
425 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
431 Fw::InputSerializePort* port
436 static_cast<FwAssertArgType>(portNum)
439 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
444 #if FW_PORT_SERIALIZATION 453 Fw::InputSerializePort* port
458 static_cast<FwAssertArgType>(portNum)
461 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
467 Fw::InputSerializePort* port
472 static_cast<FwAssertArgType>(portNum)
475 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
486 Fw::ActiveComponentBase(compName)
488 this->m_FileWriteErrorThrottle = 0;
489 this->m_InvalidReceiveModeThrottle = 0;
490 this->m_PacketOutOfBoundsThrottle = 0;
491 this->m_PacketOutOfOrderThrottle = 0;
492 this->m_PacketDuplicateThrottle = 0;
505 #if FW_ENABLE_TEXT_LOGGING == 1 507 bool FileUplinkComponentBase ::
508 isConnected_LogText_OutputPort(
FwIndexType portNum)
511 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
512 static_cast<FwAssertArgType>(portNum)
515 return this->m_LogText_OutputPort[portNum].isConnected();
525 static_cast<FwAssertArgType>(portNum)
528 return this->m_eventOut_OutputPort[portNum].
isConnected();
536 static_cast<FwAssertArgType>(portNum)
539 return this->m_timeCaller_OutputPort[portNum].
isConnected();
547 static_cast<FwAssertArgType>(portNum)
550 return this->m_tlmOut_OutputPort[portNum].
isConnected();
562 static_cast<FwAssertArgType>(portNum)
565 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
573 static_cast<FwAssertArgType>(portNum)
576 return this->m_pingOut_OutputPort[portNum].
isConnected();
594 static_cast<FwAssertArgType>(portNum)
602 ComponentIpcSerializableBuffer msg;
606 _status = msg.serializeFrom(
607 static_cast<FwEnumStoreType>(BUFFERSENDIN_BUFFERSEND)
611 static_cast<FwAssertArgType>(_status)
615 _status = msg.serializeFrom(portNum);
618 static_cast<FwAssertArgType>(_status)
622 _status = msg.serializeFrom(fwBuffer);
625 static_cast<FwAssertArgType>(_status)
634 static_cast<FwAssertArgType>(qStatus)
647 static_cast<FwAssertArgType>(portNum)
655 ComponentIpcSerializableBuffer msg;
659 _status = msg.serializeFrom(
660 static_cast<FwEnumStoreType>(PINGIN_PING)
664 static_cast<FwAssertArgType>(_status)
668 _status = msg.serializeFrom(portNum);
671 static_cast<FwAssertArgType>(_status)
675 _status = msg.serializeFrom(key);
678 static_cast<FwAssertArgType>(_status)
687 static_cast<FwAssertArgType>(qStatus)
729 static_cast<FwAssertArgType>(portNum)
733 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
734 static_cast<FwAssertArgType>(portNum)
736 this->m_bufferSendOut_OutputPort[portNum].
invoke(
749 static_cast<FwAssertArgType>(portNum)
753 this->m_pingOut_OutputPort[portNum].isConnected(),
754 static_cast<FwAssertArgType>(portNum)
756 this->m_pingOut_OutputPort[portNum].
invoke(
774 if (this->m_timeCaller_OutputPort[0].isConnected()) {
775 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
783 if (this->m_eventOut_OutputPort[0].isConnected()) {
787 #if FW_AMPCS_COMPATIBLE 792 static_cast<FwAssertArgType>(_status)
799 static_cast<FwAssertArgType>(_status)
802 #if FW_AMPCS_COMPATIBLE 805 static_cast<U8>(
sizeof(U32))
809 static_cast<FwAssertArgType>(_status)
815 static_cast<FwAssertArgType>(_status)
818 #if FW_AMPCS_COMPATIBLE 821 static_cast<U8>(
sizeof(U32))
825 static_cast<FwAssertArgType>(_status)
831 static_cast<FwAssertArgType>(_status)
834 this->m_eventOut_OutputPort[0].
invoke(
843 #if FW_ENABLE_TEXT_LOGGING 844 if (this->m_LogText_OutputPort[0].isConnected()) {
845 #if FW_OBJECT_NAMES == 1 846 const char* _formatString =
847 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
849 const char* _formatString =
850 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
857 this->m_objName.toChar(),
865 this->m_LogText_OutputPort[0].invoke(
880 if (this->m_timeCaller_OutputPort[0].isConnected()) {
881 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
889 if (this->m_eventOut_OutputPort[0].isConnected()) {
893 #if FW_AMPCS_COMPATIBLE 898 static_cast<FwAssertArgType>(_status)
905 static_cast<FwAssertArgType>(_status)
908 this->m_eventOut_OutputPort[0].
invoke(
917 #if FW_ENABLE_TEXT_LOGGING 918 if (this->m_LogText_OutputPort[0].isConnected()) {
919 #if FW_OBJECT_NAMES == 1 920 const char* _formatString =
921 "(%s) %s: Could not open file %s";
923 const char* _formatString =
924 "%s: Could not open file %s";
931 this->m_objName.toChar(),
937 this->m_LogText_OutputPort[0].invoke(
952 if (this->m_timeCaller_OutputPort[0].isConnected()) {
953 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
961 if (this->m_eventOut_OutputPort[0].isConnected()) {
965 #if FW_AMPCS_COMPATIBLE 970 static_cast<FwAssertArgType>(_status)
977 static_cast<FwAssertArgType>(_status)
980 this->m_eventOut_OutputPort[0].
invoke(
989 #if FW_ENABLE_TEXT_LOGGING 990 if (this->m_LogText_OutputPort[0].isConnected()) {
991 #if FW_OBJECT_NAMES == 1 992 const char* _formatString =
993 "(%s) %s: Received file %s";
995 const char* _formatString =
996 "%s: Received file %s";
1003 this->m_objName.toChar(),
1009 this->m_LogText_OutputPort[0].invoke(
1027 this->m_FileWriteErrorThrottle++;
1032 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1033 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1041 if (this->m_eventOut_OutputPort[0].isConnected()) {
1045 #if FW_AMPCS_COMPATIBLE 1050 static_cast<FwAssertArgType>(_status)
1057 static_cast<FwAssertArgType>(_status)
1060 this->m_eventOut_OutputPort[0].
invoke(
1069 #if FW_ENABLE_TEXT_LOGGING 1070 if (this->m_LogText_OutputPort[0].isConnected()) {
1071 #if FW_OBJECT_NAMES == 1 1072 const char* _formatString =
1073 "(%s) %s: Could not write to file %s";
1075 const char* _formatString =
1076 "%s: Could not write to file %s";
1083 this->m_objName.toChar(),
1089 this->m_LogText_OutputPort[0].invoke(
1110 this->m_InvalidReceiveModeThrottle++;
1115 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1116 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1124 if (this->m_eventOut_OutputPort[0].isConnected()) {
1128 #if FW_AMPCS_COMPATIBLE 1133 static_cast<FwAssertArgType>(_status)
1137 #if FW_AMPCS_COMPATIBLE 1144 static_cast<FwAssertArgType>(_status)
1150 static_cast<FwAssertArgType>(_status)
1153 #if FW_AMPCS_COMPATIBLE 1156 static_cast<U8>(
sizeof(U32))
1160 static_cast<FwAssertArgType>(_status)
1166 static_cast<FwAssertArgType>(_status)
1169 this->m_eventOut_OutputPort[0].
invoke(
1178 #if FW_ENABLE_TEXT_LOGGING 1179 if (this->m_LogText_OutputPort[0].isConnected()) {
1180 #if FW_OBJECT_NAMES == 1 1181 const char* _formatString =
1182 "(%s) %s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1184 const char* _formatString =
1185 "%s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1192 this->m_objName.toChar(),
1194 "InvalidReceiveMode ",
1199 this->m_LogText_OutputPort[0].invoke(
1220 this->m_PacketOutOfBoundsThrottle++;
1225 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1226 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1234 if (this->m_eventOut_OutputPort[0].isConnected()) {
1238 #if FW_AMPCS_COMPATIBLE 1243 static_cast<FwAssertArgType>(_status)
1247 #if FW_AMPCS_COMPATIBLE 1250 static_cast<U8>(
sizeof(U32))
1254 static_cast<FwAssertArgType>(_status)
1260 static_cast<FwAssertArgType>(_status)
1266 static_cast<FwAssertArgType>(_status)
1269 this->m_eventOut_OutputPort[0].
invoke(
1278 #if FW_ENABLE_TEXT_LOGGING 1279 if (this->m_LogText_OutputPort[0].isConnected()) {
1280 #if FW_OBJECT_NAMES == 1 1281 const char* _formatString =
1282 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1284 const char* _formatString =
1285 "%s: Packet %" PRIu32
" out of bounds for file %s";
1292 this->m_objName.toChar(),
1294 "PacketOutOfBounds ",
1299 this->m_LogText_OutputPort[0].invoke(
1320 this->m_PacketOutOfOrderThrottle++;
1325 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1326 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1334 if (this->m_eventOut_OutputPort[0].isConnected()) {
1338 #if FW_AMPCS_COMPATIBLE 1343 static_cast<FwAssertArgType>(_status)
1347 #if FW_AMPCS_COMPATIBLE 1350 static_cast<U8>(
sizeof(U32))
1354 static_cast<FwAssertArgType>(_status)
1360 static_cast<FwAssertArgType>(_status)
1363 #if FW_AMPCS_COMPATIBLE 1366 static_cast<U8>(
sizeof(U32))
1370 static_cast<FwAssertArgType>(_status)
1376 static_cast<FwAssertArgType>(_status)
1379 this->m_eventOut_OutputPort[0].
invoke(
1388 #if FW_ENABLE_TEXT_LOGGING 1389 if (this->m_LogText_OutputPort[0].isConnected()) {
1390 #if FW_OBJECT_NAMES == 1 1391 const char* _formatString =
1392 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1394 const char* _formatString =
1395 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1402 this->m_objName.toChar(),
1404 "PacketOutOfOrder ",
1409 this->m_LogText_OutputPort[0].invoke(
1427 this->m_PacketDuplicateThrottle++;
1432 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1433 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1441 if (this->m_eventOut_OutputPort[0].isConnected()) {
1445 #if FW_AMPCS_COMPATIBLE 1450 static_cast<FwAssertArgType>(_status)
1454 #if FW_AMPCS_COMPATIBLE 1457 static_cast<U8>(
sizeof(U32))
1461 static_cast<FwAssertArgType>(_status)
1467 static_cast<FwAssertArgType>(_status)
1470 this->m_eventOut_OutputPort[0].
invoke(
1479 #if FW_ENABLE_TEXT_LOGGING 1480 if (this->m_LogText_OutputPort[0].isConnected()) {
1481 #if FW_OBJECT_NAMES == 1 1482 const char* _formatString =
1483 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1485 const char* _formatString =
1486 "%s: Received a duplicate of packet %" PRIu32
"";
1493 this->m_objName.toChar(),
1499 this->m_LogText_OutputPort[0].invoke(
1514 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1515 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1523 if (this->m_eventOut_OutputPort[0].isConnected()) {
1526 #if FW_AMPCS_COMPATIBLE 1532 static_cast<FwAssertArgType>(_status)
1536 this->m_eventOut_OutputPort[0].
invoke(
1545 #if FW_ENABLE_TEXT_LOGGING 1546 if (this->m_LogText_OutputPort[0].isConnected()) {
1547 #if FW_OBJECT_NAMES == 1 1548 const char* _formatString =
1549 "(%s) %s: Received CANCEL packet";
1551 const char* _formatString =
1552 "%s: Received CANCEL packet";
1559 this->m_objName.toChar(),
1564 this->m_LogText_OutputPort[0].invoke(
1579 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1580 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1588 if (this->m_eventOut_OutputPort[0].isConnected()) {
1592 #if FW_AMPCS_COMPATIBLE 1597 static_cast<FwAssertArgType>(_status)
1601 #if FW_AMPCS_COMPATIBLE 1604 static_cast<U8>(
sizeof(I32))
1608 static_cast<FwAssertArgType>(_status)
1614 static_cast<FwAssertArgType>(_status)
1617 this->m_eventOut_OutputPort[0].
invoke(
1626 #if FW_ENABLE_TEXT_LOGGING 1627 if (this->m_LogText_OutputPort[0].isConnected()) {
1628 #if FW_OBJECT_NAMES == 1 1629 const char* _formatString =
1630 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1632 const char* _formatString =
1633 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1640 this->m_objName.toChar(),
1646 this->m_LogText_OutputPort[0].invoke(
1661 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1662 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1670 if (this->m_eventOut_OutputPort[0].isConnected()) {
1674 #if FW_AMPCS_COMPATIBLE 1679 static_cast<FwAssertArgType>(_status)
1683 #if FW_AMPCS_COMPATIBLE 1690 static_cast<FwAssertArgType>(_status)
1696 static_cast<FwAssertArgType>(_status)
1699 this->m_eventOut_OutputPort[0].
invoke(
1708 #if FW_ENABLE_TEXT_LOGGING 1709 if (this->m_LogText_OutputPort[0].isConnected()) {
1710 #if FW_OBJECT_NAMES == 1 1711 const char* _formatString =
1712 "(%s) %s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1714 const char* _formatString =
1715 "%s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1722 this->m_objName.toChar(),
1724 "InvalidPacketReceived ",
1728 this->m_LogText_OutputPort[0].invoke(
1746 this->m_FileWriteErrorThrottle = 0;
1753 this->m_InvalidReceiveModeThrottle = 0;
1760 this->m_PacketOutOfBoundsThrottle = 0;
1767 this->m_PacketOutOfOrderThrottle = 0;
1774 this->m_PacketDuplicateThrottle = 0;
1787 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1789 this->m_timeCaller_OutputPort[0].isConnected() &&
1792 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1799 static_cast<FwAssertArgType>(_stat)
1806 this->m_tlmOut_OutputPort[0].
invoke(
1820 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1822 this->m_timeCaller_OutputPort[0].isConnected() &&
1825 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1832 static_cast<FwAssertArgType>(_stat)
1839 this->m_tlmOut_OutputPort[0].
invoke(
1853 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1855 this->m_timeCaller_OutputPort[0].isConnected() &&
1858 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1865 static_cast<FwAssertArgType>(_stat)
1872 this->m_tlmOut_OutputPort[0].
invoke(
1887 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1889 this->m_timeCaller_OutputPort[0].
invoke(_time);
1904 ComponentIpcSerializableBuffer _msg;
1914 static_cast<FwAssertArgType>(_msgStatus)
1924 static_cast<FwAssertArgType>(_deserStatus)
1927 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
1929 if (_msgType == FILEUPLINK_COMPONENT_EXIT) {
1934 _deserStatus = _msg.deserializeTo(portNum);
1937 static_cast<FwAssertArgType>(_deserStatus)
1942 case BUFFERSENDIN_BUFFERSEND: {
1945 _deserStatus = _msg.deserializeTo(fwBuffer);
1948 static_cast<FwAssertArgType>(_deserStatus)
1963 _deserStatus = _msg.deserializeTo(key);
1966 static_cast<FwAssertArgType>(_deserStatus)
1988 void FileUplinkComponentBase ::
1989 m_p_bufferSendIn_in(
1997 compPtr->bufferSendIn_handlerBase(
2003 void FileUplinkComponentBase ::
2012 compPtr->pingIn_handlerBase(
Serialization/Deserialization operation was successful.
void tlmWrite_FilesReceived(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void addCallPort(InputTimePort *callPort)
Register an input port.
Throttle reset count for InvalidReceiveMode.
U16 FwPacketDescriptorType
The width of packet descriptors when they are serialized by the framework.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
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
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
void log_ACTIVITY_HI_UplinkCanceled() const
An error occurred writing to a file.
Status
status returned from the queue send function
void log_WARNING_HI_BadChecksum(const Fw::StringBase &fileName, U32 computed, U32 read) const
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
void log_WARNING_HI_InvalidReceiveMode_ThrottleClear()
Reset throttle value for InvalidReceiveMode.
static constexpr FwIndexType getNum_pingIn_InputPorts()
void invoke(U32 key) const
Invoke a port interface.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
void init()
Initialization function.
No time base has been established (Required)
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
The File Uplink component successfully received a file.
An error occurred opening a file.
Os::Queue m_queue
queue object for active component
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
Channel ID for FilesReceived.
void addCallPort(InputTlmPort *callPort)
Register an input port.
Throttle reset count for FileWriteError.
void init()
Object initializer.
void log_WARNING_HI_DecodeError(I32 status) const
SerializeStatus
forward declaration for string
Message will block until space is available.
void log_WARNING_HI_PacketDuplicate(U32 packetIndex)
FwIdType FwEventIdType
The type of an event identifier.
void log_ACTIVITY_HI_FileReceived(const Fw::StringBase &fileName) const
static constexpr FwIndexType getNum_bufferSendIn_InputPorts()
void log_WARNING_HI_PacketOutOfOrder_ThrottleClear()
Reset throttle value for PacketOutOfOrder.
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
void log_WARNING_HI_InvalidReceiveMode(FwPacketDescriptorType packetType, U32 mode)
void log_WARNING_HI_PacketOutOfBounds(U32 packetIndex, const Fw::StringBase &fileName)
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects) ...
void init()
Initialization function.
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
static constexpr FwIndexType getNum_eventOut_OutputPorts()
void log_WARNING_HI_PacketDuplicate_ThrottleClear()
Reset throttle value for PacketDuplicate.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
#define FW_MIN(a, b)
MIN macro.
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port interface.
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
void init()
Initialization function.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Time &time) const
Invoke a port interface.
void log_WARNING_HI_FileWriteError(const Fw::StringBase &fileName)
FileUplinkComponentBase(const char *compName="")
Construct FileUplinkComponentBase object.
Throttle reset count for PacketOutOfBounds.
message to exit active component task
const char * toChar() const
Convert to a C-style char*.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void tlmWrite_Warnings(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
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
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
The File Uplink component encountered a duplicate packet during file receipt.
A serious but recoverable event.
Errors dispatching messages.
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_FileWriteError_ThrottleClear()
Reset throttle value for FileWriteError.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val) const
Invoke a port interface.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName) const
Error decoding file packet.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
virtual ~FileUplinkComponentBase()
Destroy FileUplinkComponentBase object.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
uint8_t U8
8-bit unsigned integer
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
Channel ID for PacketsReceived.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void log_WARNING_HI_InvalidPacketReceived(FwPacketDescriptorType packetType) const
During receipt of a file, the computed checksum value did not match the stored value.
Important informational events.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args) const
Invoke a port interface.
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
The File Uplink component encountered an out-of-order packet during file receipt. ...
A message was sent requesting an exit of the loop.
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
Throttle reset count for PacketOutOfOrder.
void tlmWrite_PacketsReceived(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
PlatformIndexType FwIndexType
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void addCallPort(InputLogPort *callPort)
Register an input port.
Throttle reset count for PacketDuplicate.
RateGroupDivider component implementation.
message sent/received okay
The File Uplink component received a CANCEL packet.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
The File Uplink component received a packet with a type that was invalid for the current receive mode...
void log_WARNING_HI_PacketOutOfBounds_ThrottleClear()
Reset throttle value for PacketOutOfBounds.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.