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_fileAnnounce_OutputPort[port].
init();
232 #if FW_OBJECT_NAMES == 1 236 this->m_objName.toChar(),
239 this->m_fileAnnounce_OutputPort[port].setObjName(portName.
toChar());
249 this->m_pingOut_OutputPort[port].
init();
251 #if FW_OBJECT_NAMES == 1 255 this->m_objName.toChar(),
258 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
265 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
269 static_cast<FwAssertArgType>(qStat)
282 static_cast<FwAssertArgType>(portNum)
285 return &this->m_bufferSendIn_InputPort[portNum];
293 static_cast<FwAssertArgType>(portNum)
296 return &this->m_pingIn_InputPort[portNum];
303 #if FW_ENABLE_TEXT_LOGGING == 1 305 void FileUplinkComponentBase ::
306 set_LogText_OutputPort(
312 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
313 static_cast<FwAssertArgType>(portNum)
316 this->m_LogText_OutputPort[portNum].addCallPort(port);
329 static_cast<FwAssertArgType>(portNum)
332 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
343 static_cast<FwAssertArgType>(portNum)
346 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
357 static_cast<FwAssertArgType>(portNum)
360 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
375 static_cast<FwAssertArgType>(portNum)
378 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
389 static_cast<FwAssertArgType>(portNum)
392 this->m_fileAnnounce_OutputPort[portNum].
addCallPort(port);
403 static_cast<FwAssertArgType>(portNum)
406 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
409 #if FW_PORT_SERIALIZATION 415 #if FW_ENABLE_TEXT_LOGGING == 1 417 void FileUplinkComponentBase ::
418 set_LogText_OutputPort(
420 Fw::InputSerializePort* port
424 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
425 static_cast<FwAssertArgType>(portNum)
428 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
436 Fw::InputSerializePort* port
441 static_cast<FwAssertArgType>(portNum)
444 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
450 Fw::InputSerializePort* port
455 static_cast<FwAssertArgType>(portNum)
458 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
464 Fw::InputSerializePort* port
469 static_cast<FwAssertArgType>(portNum)
472 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
477 #if FW_PORT_SERIALIZATION 486 Fw::InputSerializePort* port
491 static_cast<FwAssertArgType>(portNum)
494 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
500 Fw::InputSerializePort* port
505 static_cast<FwAssertArgType>(portNum)
508 this->m_fileAnnounce_OutputPort[portNum].registerSerialPort(port);
514 Fw::InputSerializePort* port
519 static_cast<FwAssertArgType>(portNum)
522 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
533 Fw::ActiveComponentBase(compName)
535 this->m_FileWriteErrorThrottle = 0;
536 this->m_InvalidReceiveModeThrottle = 0;
537 this->m_PacketOutOfBoundsThrottle = 0;
538 this->m_PacketOutOfOrderThrottle = 0;
539 this->m_PacketDuplicateThrottle = 0;
552 #if FW_ENABLE_TEXT_LOGGING == 1 554 bool FileUplinkComponentBase ::
555 isConnected_LogText_OutputPort(
FwIndexType portNum)
558 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
559 static_cast<FwAssertArgType>(portNum)
562 return this->m_LogText_OutputPort[portNum].isConnected();
572 static_cast<FwAssertArgType>(portNum)
575 return this->m_eventOut_OutputPort[portNum].
isConnected();
583 static_cast<FwAssertArgType>(portNum)
586 return this->m_timeCaller_OutputPort[portNum].
isConnected();
594 static_cast<FwAssertArgType>(portNum)
597 return this->m_tlmOut_OutputPort[portNum].
isConnected();
609 static_cast<FwAssertArgType>(portNum)
612 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
620 static_cast<FwAssertArgType>(portNum)
623 return this->m_fileAnnounce_OutputPort[portNum].
isConnected();
631 static_cast<FwAssertArgType>(portNum)
634 return this->m_pingOut_OutputPort[portNum].
isConnected();
652 static_cast<FwAssertArgType>(portNum)
660 ComponentIpcSerializableBuffer msg;
664 _status = msg.serializeFrom(
665 static_cast<FwEnumStoreType>(BUFFERSENDIN_BUFFERSEND)
669 static_cast<FwAssertArgType>(_status)
673 _status = msg.serializeFrom(portNum);
676 static_cast<FwAssertArgType>(_status)
680 _status = msg.serializeFrom(fwBuffer);
683 static_cast<FwAssertArgType>(_status)
692 static_cast<FwAssertArgType>(qStatus)
705 static_cast<FwAssertArgType>(portNum)
713 ComponentIpcSerializableBuffer msg;
717 _status = msg.serializeFrom(
718 static_cast<FwEnumStoreType>(PINGIN_PING)
722 static_cast<FwAssertArgType>(_status)
726 _status = msg.serializeFrom(portNum);
729 static_cast<FwAssertArgType>(_status)
733 _status = msg.serializeFrom(key);
736 static_cast<FwAssertArgType>(_status)
745 static_cast<FwAssertArgType>(qStatus)
787 static_cast<FwAssertArgType>(portNum)
791 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
792 static_cast<FwAssertArgType>(portNum)
794 this->m_bufferSendOut_OutputPort[portNum].
invoke(
807 static_cast<FwAssertArgType>(portNum)
811 this->m_fileAnnounce_OutputPort[portNum].isConnected(),
812 static_cast<FwAssertArgType>(portNum)
814 this->m_fileAnnounce_OutputPort[portNum].
invoke(
827 static_cast<FwAssertArgType>(portNum)
831 this->m_pingOut_OutputPort[portNum].isConnected(),
832 static_cast<FwAssertArgType>(portNum)
834 this->m_pingOut_OutputPort[portNum].
invoke(
852 if (this->m_timeCaller_OutputPort[0].isConnected()) {
853 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
861 if (this->m_eventOut_OutputPort[0].isConnected()) {
865 #if FW_AMPCS_COMPATIBLE 870 static_cast<FwAssertArgType>(_status)
877 static_cast<FwAssertArgType>(_status)
880 #if FW_AMPCS_COMPATIBLE 883 static_cast<U8>(
sizeof(U32))
887 static_cast<FwAssertArgType>(_status)
893 static_cast<FwAssertArgType>(_status)
896 #if FW_AMPCS_COMPATIBLE 899 static_cast<U8>(
sizeof(U32))
903 static_cast<FwAssertArgType>(_status)
909 static_cast<FwAssertArgType>(_status)
912 this->m_eventOut_OutputPort[0].
invoke(
921 #if FW_ENABLE_TEXT_LOGGING 922 if (this->m_LogText_OutputPort[0].isConnected()) {
923 #if FW_OBJECT_NAMES == 1 924 const char* _formatString =
925 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
927 const char* _formatString =
928 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
935 this->m_objName.toChar(),
943 this->m_LogText_OutputPort[0].invoke(
958 if (this->m_timeCaller_OutputPort[0].isConnected()) {
959 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
967 if (this->m_eventOut_OutputPort[0].isConnected()) {
971 #if FW_AMPCS_COMPATIBLE 976 static_cast<FwAssertArgType>(_status)
983 static_cast<FwAssertArgType>(_status)
986 this->m_eventOut_OutputPort[0].
invoke(
995 #if FW_ENABLE_TEXT_LOGGING 996 if (this->m_LogText_OutputPort[0].isConnected()) {
997 #if FW_OBJECT_NAMES == 1 998 const char* _formatString =
999 "(%s) %s: Could not open file %s";
1001 const char* _formatString =
1002 "%s: Could not open file %s";
1009 this->m_objName.toChar(),
1015 this->m_LogText_OutputPort[0].invoke(
1030 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1031 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1039 if (this->m_eventOut_OutputPort[0].isConnected()) {
1043 #if FW_AMPCS_COMPATIBLE 1048 static_cast<FwAssertArgType>(_status)
1055 static_cast<FwAssertArgType>(_status)
1058 this->m_eventOut_OutputPort[0].
invoke(
1067 #if FW_ENABLE_TEXT_LOGGING 1068 if (this->m_LogText_OutputPort[0].isConnected()) {
1069 #if FW_OBJECT_NAMES == 1 1070 const char* _formatString =
1071 "(%s) %s: Received file %s";
1073 const char* _formatString =
1074 "%s: Received file %s";
1081 this->m_objName.toChar(),
1087 this->m_LogText_OutputPort[0].invoke(
1105 this->m_FileWriteErrorThrottle++;
1110 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1111 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1119 if (this->m_eventOut_OutputPort[0].isConnected()) {
1123 #if FW_AMPCS_COMPATIBLE 1128 static_cast<FwAssertArgType>(_status)
1135 static_cast<FwAssertArgType>(_status)
1138 this->m_eventOut_OutputPort[0].
invoke(
1147 #if FW_ENABLE_TEXT_LOGGING 1148 if (this->m_LogText_OutputPort[0].isConnected()) {
1149 #if FW_OBJECT_NAMES == 1 1150 const char* _formatString =
1151 "(%s) %s: Could not write to file %s";
1153 const char* _formatString =
1154 "%s: Could not write to file %s";
1161 this->m_objName.toChar(),
1167 this->m_LogText_OutputPort[0].invoke(
1188 this->m_InvalidReceiveModeThrottle++;
1193 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1194 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1202 if (this->m_eventOut_OutputPort[0].isConnected()) {
1206 #if FW_AMPCS_COMPATIBLE 1211 static_cast<FwAssertArgType>(_status)
1215 #if FW_AMPCS_COMPATIBLE 1222 static_cast<FwAssertArgType>(_status)
1228 static_cast<FwAssertArgType>(_status)
1231 #if FW_AMPCS_COMPATIBLE 1234 static_cast<U8>(
sizeof(U32))
1238 static_cast<FwAssertArgType>(_status)
1244 static_cast<FwAssertArgType>(_status)
1247 this->m_eventOut_OutputPort[0].
invoke(
1256 #if FW_ENABLE_TEXT_LOGGING 1257 if (this->m_LogText_OutputPort[0].isConnected()) {
1258 #if FW_OBJECT_NAMES == 1 1259 const char* _formatString =
1260 "(%s) %s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1262 const char* _formatString =
1263 "%s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1270 this->m_objName.toChar(),
1272 "InvalidReceiveMode ",
1277 this->m_LogText_OutputPort[0].invoke(
1298 this->m_PacketOutOfBoundsThrottle++;
1303 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1304 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1312 if (this->m_eventOut_OutputPort[0].isConnected()) {
1316 #if FW_AMPCS_COMPATIBLE 1321 static_cast<FwAssertArgType>(_status)
1325 #if FW_AMPCS_COMPATIBLE 1328 static_cast<U8>(
sizeof(U32))
1332 static_cast<FwAssertArgType>(_status)
1338 static_cast<FwAssertArgType>(_status)
1344 static_cast<FwAssertArgType>(_status)
1347 this->m_eventOut_OutputPort[0].
invoke(
1356 #if FW_ENABLE_TEXT_LOGGING 1357 if (this->m_LogText_OutputPort[0].isConnected()) {
1358 #if FW_OBJECT_NAMES == 1 1359 const char* _formatString =
1360 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1362 const char* _formatString =
1363 "%s: Packet %" PRIu32
" out of bounds for file %s";
1370 this->m_objName.toChar(),
1372 "PacketOutOfBounds ",
1377 this->m_LogText_OutputPort[0].invoke(
1398 this->m_PacketOutOfOrderThrottle++;
1403 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1404 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1412 if (this->m_eventOut_OutputPort[0].isConnected()) {
1416 #if FW_AMPCS_COMPATIBLE 1421 static_cast<FwAssertArgType>(_status)
1425 #if FW_AMPCS_COMPATIBLE 1428 static_cast<U8>(
sizeof(U32))
1432 static_cast<FwAssertArgType>(_status)
1438 static_cast<FwAssertArgType>(_status)
1441 #if FW_AMPCS_COMPATIBLE 1444 static_cast<U8>(
sizeof(U32))
1448 static_cast<FwAssertArgType>(_status)
1454 static_cast<FwAssertArgType>(_status)
1457 this->m_eventOut_OutputPort[0].
invoke(
1466 #if FW_ENABLE_TEXT_LOGGING 1467 if (this->m_LogText_OutputPort[0].isConnected()) {
1468 #if FW_OBJECT_NAMES == 1 1469 const char* _formatString =
1470 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1472 const char* _formatString =
1473 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1480 this->m_objName.toChar(),
1482 "PacketOutOfOrder ",
1487 this->m_LogText_OutputPort[0].invoke(
1505 this->m_PacketDuplicateThrottle++;
1510 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1511 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1519 if (this->m_eventOut_OutputPort[0].isConnected()) {
1523 #if FW_AMPCS_COMPATIBLE 1528 static_cast<FwAssertArgType>(_status)
1532 #if FW_AMPCS_COMPATIBLE 1535 static_cast<U8>(
sizeof(U32))
1539 static_cast<FwAssertArgType>(_status)
1545 static_cast<FwAssertArgType>(_status)
1548 this->m_eventOut_OutputPort[0].
invoke(
1557 #if FW_ENABLE_TEXT_LOGGING 1558 if (this->m_LogText_OutputPort[0].isConnected()) {
1559 #if FW_OBJECT_NAMES == 1 1560 const char* _formatString =
1561 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1563 const char* _formatString =
1564 "%s: Received a duplicate of packet %" PRIu32
"";
1571 this->m_objName.toChar(),
1577 this->m_LogText_OutputPort[0].invoke(
1592 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1593 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1601 if (this->m_eventOut_OutputPort[0].isConnected()) {
1604 #if FW_AMPCS_COMPATIBLE 1610 static_cast<FwAssertArgType>(_status)
1614 this->m_eventOut_OutputPort[0].
invoke(
1623 #if FW_ENABLE_TEXT_LOGGING 1624 if (this->m_LogText_OutputPort[0].isConnected()) {
1625 #if FW_OBJECT_NAMES == 1 1626 const char* _formatString =
1627 "(%s) %s: Received CANCEL packet";
1629 const char* _formatString =
1630 "%s: Received CANCEL packet";
1637 this->m_objName.toChar(),
1642 this->m_LogText_OutputPort[0].invoke(
1657 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1658 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1666 if (this->m_eventOut_OutputPort[0].isConnected()) {
1670 #if FW_AMPCS_COMPATIBLE 1675 static_cast<FwAssertArgType>(_status)
1679 #if FW_AMPCS_COMPATIBLE 1682 static_cast<U8>(
sizeof(I32))
1686 static_cast<FwAssertArgType>(_status)
1692 static_cast<FwAssertArgType>(_status)
1695 this->m_eventOut_OutputPort[0].
invoke(
1704 #if FW_ENABLE_TEXT_LOGGING 1705 if (this->m_LogText_OutputPort[0].isConnected()) {
1706 #if FW_OBJECT_NAMES == 1 1707 const char* _formatString =
1708 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1710 const char* _formatString =
1711 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1718 this->m_objName.toChar(),
1724 this->m_LogText_OutputPort[0].invoke(
1739 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1740 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1748 if (this->m_eventOut_OutputPort[0].isConnected()) {
1752 #if FW_AMPCS_COMPATIBLE 1757 static_cast<FwAssertArgType>(_status)
1761 #if FW_AMPCS_COMPATIBLE 1768 static_cast<FwAssertArgType>(_status)
1774 static_cast<FwAssertArgType>(_status)
1777 this->m_eventOut_OutputPort[0].
invoke(
1786 #if FW_ENABLE_TEXT_LOGGING 1787 if (this->m_LogText_OutputPort[0].isConnected()) {
1788 #if FW_OBJECT_NAMES == 1 1789 const char* _formatString =
1790 "(%s) %s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1792 const char* _formatString =
1793 "%s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1800 this->m_objName.toChar(),
1802 "InvalidPacketReceived ",
1806 this->m_LogText_OutputPort[0].invoke(
1824 this->m_FileWriteErrorThrottle = 0;
1831 this->m_InvalidReceiveModeThrottle = 0;
1838 this->m_PacketOutOfBoundsThrottle = 0;
1845 this->m_PacketOutOfOrderThrottle = 0;
1852 this->m_PacketDuplicateThrottle = 0;
1865 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1867 this->m_timeCaller_OutputPort[0].isConnected() &&
1870 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1877 static_cast<FwAssertArgType>(_stat)
1884 this->m_tlmOut_OutputPort[0].
invoke(
1898 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1900 this->m_timeCaller_OutputPort[0].isConnected() &&
1903 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1910 static_cast<FwAssertArgType>(_stat)
1917 this->m_tlmOut_OutputPort[0].
invoke(
1931 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1933 this->m_timeCaller_OutputPort[0].isConnected() &&
1936 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1943 static_cast<FwAssertArgType>(_stat)
1950 this->m_tlmOut_OutputPort[0].
invoke(
1965 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1967 this->m_timeCaller_OutputPort[0].
invoke(_time);
1982 ComponentIpcSerializableBuffer _msg;
1992 static_cast<FwAssertArgType>(_msgStatus)
2002 static_cast<FwAssertArgType>(_deserStatus)
2005 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2007 if (_msgType == FILEUPLINK_COMPONENT_EXIT) {
2012 _deserStatus = _msg.deserializeTo(portNum);
2015 static_cast<FwAssertArgType>(_deserStatus)
2020 case BUFFERSENDIN_BUFFERSEND: {
2023 _deserStatus = _msg.deserializeTo(fwBuffer);
2026 static_cast<FwAssertArgType>(_deserStatus)
2041 _deserStatus = _msg.deserializeTo(key);
2044 static_cast<FwAssertArgType>(_deserStatus)
2066 void FileUplinkComponentBase ::
2067 m_p_bufferSendIn_in(
2075 compPtr->bufferSendIn_handlerBase(
2081 void FileUplinkComponentBase ::
2090 compPtr->pingIn_handlerBase(
Serialization/Deserialization operation was successful.
The File Uplink component successfully received a file.
void tlmWrite_FilesReceived(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
void addCallPort(InputTimePort *callPort)
Register an input port.
U16 FwPacketDescriptorType
The width of packet descriptors when they are serialized by the framework.
An error occurred opening a file.
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.
Throttle reset count for InvalidReceiveMode.
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
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*.
Throttle reset count for FileWriteError.
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
void init()
Initialization function.
No time base has been established (Required)
void addCallPort(InputFileAnnouncePort *callPort)
Register an input port.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
Os::Queue m_queue
queue object for active component
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Object initializer.
void log_WARNING_HI_DecodeError(I32 status) const
SerializeStatus
forward declaration for string
Throttle reset count for PacketOutOfOrder.
Message will block until space is available.
void log_WARNING_HI_PacketDuplicate(U32 packetIndex)
FwIdType FwEventIdType
The type of an event identifier.
static constexpr FwIndexType getNum_fileAnnounce_OutputPorts()
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.
During receipt of a file, the computed checksum value did not match the stored value.
Error decoding file packet.
An error occurred writing to a file.
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.
const char * toChar() const
Convert to a C-style char*.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void set_fileAnnounce_OutputPort(FwIndexType portNum, Svc::InputFileAnnouncePort *port)
Connect port to fileAnnounce[portNum].
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
void fileAnnounce_out(FwIndexType portNum, Fw::StringBase &file_name)
Invoke output port fileAnnounce.
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
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
The File Uplink component encountered an out-of-order packet during file receipt. ...
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
bool isConnected_fileAnnounce_OutputPort(FwIndexType portNum)
PlatformQueuePriorityType FwQueuePriorityType
The type of queue priorities used.
void log_WARNING_HI_InvalidPacketReceived(FwPacketDescriptorType packetType) const
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.
Channel ID for FilesReceived.
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.
message to exit active component task
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.
void invoke(Fw::StringBase &file_name) const
Invoke a port interface.
RateGroupDivider component implementation.
message sent/received okay
Throttle reset count for PacketDuplicate.
Throttle reset count for PacketOutOfBounds.
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
Channel ID for PacketsReceived.
The File Uplink component received a packet with a type that was invalid for the current receive mode...
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
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)
The File Uplink component received a CANCEL packet.
The File Uplink component encountered a duplicate packet during file receipt.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void init()
Initialization function.