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.
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.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
An error occurred writing to a file.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
FwIdType getIdBase() const
PlatformSizeType FwSizeType
Channel ID for FilesReceived.
The File Uplink component successfully received a file.
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].
Throttle reset count for PacketOutOfOrder.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
During receipt of a file, the computed checksum value did not match the stored value.
void log_WARNING_HI_InvalidReceiveMode_ThrottleClear()
Reset throttle value for InvalidReceiveMode.
An error occurred opening a file.
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)
void addCallPort(InputFileAnnouncePort *callPort)
Register an input port.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
Throttle reset count for FileWriteError.
The File Uplink component encountered an out-of-order packet during file receipt. ...
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
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()
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
#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 PacketDuplicate.
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.
Channel ID for PacketsReceived.
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
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.
message to exit active component task
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.
Throttle reset count for PacketOutOfBounds.
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.
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.
The File Uplink component encountered a duplicate packet during file receipt.
void invoke(Fw::StringBase &file_name) const
Invoke a port interface.
RateGroupDivider component implementation.
The File Uplink component received a packet with a type that was invalid for the current receive mode...
message sent/received okay
Message will return with status when space is unavailable.
Implementation of malloc based allocator.
Throttle reset count for InvalidReceiveMode.
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.
Error decoding file packet.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void init()
Initialization function.