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
47 ComponentIpcSerializableBuffer() :
Fw::LinearBufferBase(m_buff, sizeof(m_buff)) {
53 U8 m_buff[SERIALIZATION_SIZE];
71 #if !FW_DIRECT_PORT_CALLS 78 this->m_bufferSendIn_InputPort[port].
init();
83 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
85 #if FW_OBJECT_NAMES == 1 89 this->m_objName.toChar(),
92 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
97 #if !FW_DIRECT_PORT_CALLS 104 this->m_pingIn_InputPort[port].
init();
109 this->m_pingIn_InputPort[port].
setPortNum(port);
111 #if FW_OBJECT_NAMES == 1 115 this->m_objName.toChar(),
118 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
123 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 127 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
130 this->m_LogText_OutputPort[port].
init();
132 #if FW_OBJECT_NAMES == 1 136 this->m_objName.toChar(),
139 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
144 #if !FW_DIRECT_PORT_CALLS 151 this->m_eventOut_OutputPort[port].
init();
153 #if FW_OBJECT_NAMES == 1 157 this->m_objName.toChar(),
160 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
165 #if !FW_DIRECT_PORT_CALLS 172 this->m_timeCaller_OutputPort[port].
init();
174 #if FW_OBJECT_NAMES == 1 178 this->m_objName.toChar(),
181 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
186 #if !FW_DIRECT_PORT_CALLS 193 this->m_tlmOut_OutputPort[port].
init();
195 #if FW_OBJECT_NAMES == 1 199 this->m_objName.toChar(),
202 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
207 #if !FW_DIRECT_PORT_CALLS 214 this->m_bufferSendOut_OutputPort[port].
init();
216 #if FW_OBJECT_NAMES == 1 220 this->m_objName.toChar(),
223 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
228 #if !FW_DIRECT_PORT_CALLS 235 this->m_fileAnnounce_OutputPort[port].
init();
237 #if FW_OBJECT_NAMES == 1 241 this->m_objName.toChar(),
244 this->m_fileAnnounce_OutputPort[port].setObjName(portName.
toChar());
249 #if !FW_DIRECT_PORT_CALLS 256 this->m_pingOut_OutputPort[port].
init();
258 #if FW_OBJECT_NAMES == 1 262 this->m_objName.toChar(),
265 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
273 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
277 static_cast<FwAssertArgType>(qStat)
281 #if !FW_DIRECT_PORT_CALLS 292 static_cast<FwAssertArgType>(portNum)
295 return &this->m_bufferSendIn_InputPort[portNum];
303 static_cast<FwAssertArgType>(portNum)
306 return &this->m_pingIn_InputPort[portNum];
311 #if !FW_DIRECT_PORT_CALLS 317 #if FW_ENABLE_TEXT_LOGGING == 1 319 void FileUplinkComponentBase ::
320 set_LogText_OutputPort(
326 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
327 static_cast<FwAssertArgType>(portNum)
330 this->m_LogText_OutputPort[portNum].addCallPort(port);
343 static_cast<FwAssertArgType>(portNum)
346 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
357 static_cast<FwAssertArgType>(portNum)
360 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
371 static_cast<FwAssertArgType>(portNum)
374 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
379 #if !FW_DIRECT_PORT_CALLS 393 static_cast<FwAssertArgType>(portNum)
396 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
407 static_cast<FwAssertArgType>(portNum)
410 this->m_fileAnnounce_OutputPort[portNum].
addCallPort(port);
421 static_cast<FwAssertArgType>(portNum)
424 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
429 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 435 #if FW_ENABLE_TEXT_LOGGING == 1 437 void FileUplinkComponentBase ::
438 set_LogText_OutputPort(
440 Fw::InputSerializePort* port
444 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
445 static_cast<FwAssertArgType>(portNum)
448 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
456 Fw::InputSerializePort* port
461 static_cast<FwAssertArgType>(portNum)
464 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
470 Fw::InputSerializePort* port
475 static_cast<FwAssertArgType>(portNum)
478 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
484 Fw::InputSerializePort* port
489 static_cast<FwAssertArgType>(portNum)
492 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
497 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 506 Fw::InputSerializePort* port
511 static_cast<FwAssertArgType>(portNum)
514 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
520 Fw::InputSerializePort* port
525 static_cast<FwAssertArgType>(portNum)
528 this->m_fileAnnounce_OutputPort[portNum].registerSerialPort(port);
534 Fw::InputSerializePort* port
539 static_cast<FwAssertArgType>(portNum)
542 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
553 Fw::ActiveComponentBase(compName)
555 this->m_FileWriteErrorThrottle = 0;
556 this->m_InvalidReceiveModeThrottle = 0;
557 this->m_PacketOutOfBoundsThrottle = 0;
558 this->m_PacketOutOfOrderThrottle = 0;
559 this->m_PacketDuplicateThrottle = 0;
568 #if !FW_DIRECT_PORT_CALLS 574 #if FW_ENABLE_TEXT_LOGGING == 1 576 bool FileUplinkComponentBase ::
577 isConnected_LogText_OutputPort(
FwIndexType portNum)
const 580 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
581 static_cast<FwAssertArgType>(portNum)
584 return this->m_LogText_OutputPort[portNum].isConnected();
594 static_cast<FwAssertArgType>(portNum)
597 return this->m_eventOut_OutputPort[portNum].
isConnected();
605 static_cast<FwAssertArgType>(portNum)
608 return this->m_timeCaller_OutputPort[portNum].
isConnected();
616 static_cast<FwAssertArgType>(portNum)
619 return this->m_tlmOut_OutputPort[portNum].
isConnected();
624 #if !FW_DIRECT_PORT_CALLS 635 static_cast<FwAssertArgType>(portNum)
638 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
646 static_cast<FwAssertArgType>(portNum)
649 return this->m_fileAnnounce_OutputPort[portNum].
isConnected();
657 static_cast<FwAssertArgType>(portNum)
660 return this->m_pingOut_OutputPort[portNum].
isConnected();
680 static_cast<FwAssertArgType>(portNum)
688 ComponentIpcSerializableBuffer msg;
692 _status = msg.serializeFrom(
693 static_cast<FwEnumStoreType>(BUFFERSENDIN_BUFFERSEND)
697 static_cast<FwAssertArgType>(_status)
701 _status = msg.serializeFrom(portNum);
704 static_cast<FwAssertArgType>(_status)
708 _status = msg.serializeFrom(fwBuffer);
711 static_cast<FwAssertArgType>(_status)
720 static_cast<FwAssertArgType>(qStatus)
733 static_cast<FwAssertArgType>(portNum)
741 ComponentIpcSerializableBuffer msg;
745 _status = msg.serializeFrom(
746 static_cast<FwEnumStoreType>(PINGIN_PING)
750 static_cast<FwAssertArgType>(_status)
754 _status = msg.serializeFrom(portNum);
757 static_cast<FwAssertArgType>(_status)
761 _status = msg.serializeFrom(key);
764 static_cast<FwAssertArgType>(_status)
773 static_cast<FwAssertArgType>(qStatus)
803 #if !FW_DIRECT_PORT_CALLS 817 static_cast<FwAssertArgType>(portNum)
821 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
822 static_cast<FwAssertArgType>(portNum)
824 this->m_bufferSendOut_OutputPort[portNum].
invoke(
837 static_cast<FwAssertArgType>(portNum)
841 this->m_fileAnnounce_OutputPort[portNum].isConnected(),
842 static_cast<FwAssertArgType>(portNum)
844 this->m_fileAnnounce_OutputPort[portNum].
invoke(
857 static_cast<FwAssertArgType>(portNum)
861 this->m_pingOut_OutputPort[portNum].isConnected(),
862 static_cast<FwAssertArgType>(portNum)
864 this->m_pingOut_OutputPort[portNum].
invoke(
885 this->timeCaller_out(0, _logTime);
895 #if FW_AMPCS_COMPATIBLE 900 static_cast<FwAssertArgType>(_status)
910 static_cast<FwAssertArgType>(_status)
913 #if FW_AMPCS_COMPATIBLE 916 static_cast<U8>(
sizeof(U32))
920 static_cast<FwAssertArgType>(_status)
926 static_cast<FwAssertArgType>(_status)
929 #if FW_AMPCS_COMPATIBLE 932 static_cast<U8>(
sizeof(U32))
936 static_cast<FwAssertArgType>(_status)
942 static_cast<FwAssertArgType>(_status)
955 #if FW_ENABLE_TEXT_LOGGING 956 if (this->isConnected_LogText_OutputPort(0)) {
957 #if FW_OBJECT_NAMES == 1 958 const char* _formatString =
959 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
961 const char* _formatString =
962 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
969 this->m_objName.toChar(),
994 this->timeCaller_out(0, _logTime);
1004 #if FW_AMPCS_COMPATIBLE 1009 static_cast<FwAssertArgType>(_status)
1019 static_cast<FwAssertArgType>(_status)
1032 #if FW_ENABLE_TEXT_LOGGING 1033 if (this->isConnected_LogText_OutputPort(0)) {
1034 #if FW_OBJECT_NAMES == 1 1035 const char* _formatString =
1036 "(%s) %s: Could not open file %s";
1038 const char* _formatString =
1039 "%s: Could not open file %s";
1043 (void) _logString.
format(
1046 this->m_objName.toChar(),
1069 this->timeCaller_out(0, _logTime);
1079 #if FW_AMPCS_COMPATIBLE 1084 static_cast<FwAssertArgType>(_status)
1094 static_cast<FwAssertArgType>(_status)
1107 #if FW_ENABLE_TEXT_LOGGING 1108 if (this->isConnected_LogText_OutputPort(0)) {
1109 #if FW_OBJECT_NAMES == 1 1110 const char* _formatString =
1111 "(%s) %s: Received file %s";
1113 const char* _formatString =
1114 "%s: Received file %s";
1118 (void) _logString.
format(
1121 this->m_objName.toChar(),
1146 this->m_FileWriteErrorThrottle++;
1152 this->timeCaller_out(0, _logTime);
1162 #if FW_AMPCS_COMPATIBLE 1167 static_cast<FwAssertArgType>(_status)
1177 static_cast<FwAssertArgType>(_status)
1190 #if FW_ENABLE_TEXT_LOGGING 1191 if (this->isConnected_LogText_OutputPort(0)) {
1192 #if FW_OBJECT_NAMES == 1 1193 const char* _formatString =
1194 "(%s) %s: Could not write to file %s";
1196 const char* _formatString =
1197 "%s: Could not write to file %s";
1201 (void) _logString.
format(
1204 this->m_objName.toChar(),
1232 this->m_InvalidReceiveModeThrottle++;
1238 this->timeCaller_out(0, _logTime);
1248 #if FW_AMPCS_COMPATIBLE 1253 static_cast<FwAssertArgType>(_status)
1257 #if FW_AMPCS_COMPATIBLE 1264 static_cast<FwAssertArgType>(_status)
1270 static_cast<FwAssertArgType>(_status)
1273 #if FW_AMPCS_COMPATIBLE 1276 static_cast<U8>(
sizeof(U32))
1280 static_cast<FwAssertArgType>(_status)
1286 static_cast<FwAssertArgType>(_status)
1299 #if FW_ENABLE_TEXT_LOGGING 1300 if (this->isConnected_LogText_OutputPort(0)) {
1301 #if FW_OBJECT_NAMES == 1 1302 const char* _formatString =
1303 "(%s) %s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1305 const char* _formatString =
1306 "%s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1310 (void) _logString.
format(
1313 this->m_objName.toChar(),
1315 "InvalidReceiveMode ",
1342 this->m_PacketOutOfBoundsThrottle++;
1348 this->timeCaller_out(0, _logTime);
1358 #if FW_AMPCS_COMPATIBLE 1363 static_cast<FwAssertArgType>(_status)
1367 #if FW_AMPCS_COMPATIBLE 1370 static_cast<U8>(
sizeof(U32))
1374 static_cast<FwAssertArgType>(_status)
1380 static_cast<FwAssertArgType>(_status)
1389 static_cast<FwAssertArgType>(_status)
1402 #if FW_ENABLE_TEXT_LOGGING 1403 if (this->isConnected_LogText_OutputPort(0)) {
1404 #if FW_OBJECT_NAMES == 1 1405 const char* _formatString =
1406 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1408 const char* _formatString =
1409 "%s: Packet %" PRIu32
" out of bounds for file %s";
1413 (void) _logString.
format(
1416 this->m_objName.toChar(),
1418 "PacketOutOfBounds ",
1445 this->m_PacketOutOfOrderThrottle++;
1451 this->timeCaller_out(0, _logTime);
1461 #if FW_AMPCS_COMPATIBLE 1466 static_cast<FwAssertArgType>(_status)
1470 #if FW_AMPCS_COMPATIBLE 1473 static_cast<U8>(
sizeof(U32))
1477 static_cast<FwAssertArgType>(_status)
1483 static_cast<FwAssertArgType>(_status)
1486 #if FW_AMPCS_COMPATIBLE 1489 static_cast<U8>(
sizeof(U32))
1493 static_cast<FwAssertArgType>(_status)
1499 static_cast<FwAssertArgType>(_status)
1512 #if FW_ENABLE_TEXT_LOGGING 1513 if (this->isConnected_LogText_OutputPort(0)) {
1514 #if FW_OBJECT_NAMES == 1 1515 const char* _formatString =
1516 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1518 const char* _formatString =
1519 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1523 (void) _logString.
format(
1526 this->m_objName.toChar(),
1528 "PacketOutOfOrder ",
1552 this->m_PacketDuplicateThrottle++;
1558 this->timeCaller_out(0, _logTime);
1568 #if FW_AMPCS_COMPATIBLE 1573 static_cast<FwAssertArgType>(_status)
1577 #if FW_AMPCS_COMPATIBLE 1580 static_cast<U8>(
sizeof(U32))
1584 static_cast<FwAssertArgType>(_status)
1590 static_cast<FwAssertArgType>(_status)
1603 #if FW_ENABLE_TEXT_LOGGING 1604 if (this->isConnected_LogText_OutputPort(0)) {
1605 #if FW_OBJECT_NAMES == 1 1606 const char* _formatString =
1607 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1609 const char* _formatString =
1610 "%s: Received a duplicate of packet %" PRIu32
"";
1614 (void) _logString.
format(
1617 this->m_objName.toChar(),
1640 this->timeCaller_out(0, _logTime);
1649 #if FW_AMPCS_COMPATIBLE 1655 static_cast<FwAssertArgType>(_status)
1669 #if FW_ENABLE_TEXT_LOGGING 1670 if (this->isConnected_LogText_OutputPort(0)) {
1671 #if FW_OBJECT_NAMES == 1 1672 const char* _formatString =
1673 "(%s) %s: Received CANCEL packet";
1675 const char* _formatString =
1676 "%s: Received CANCEL packet";
1680 (void) _logString.
format(
1683 this->m_objName.toChar(),
1705 this->timeCaller_out(0, _logTime);
1715 #if FW_AMPCS_COMPATIBLE 1720 static_cast<FwAssertArgType>(_status)
1724 #if FW_AMPCS_COMPATIBLE 1727 static_cast<U8>(
sizeof(I32))
1731 static_cast<FwAssertArgType>(_status)
1737 static_cast<FwAssertArgType>(_status)
1750 #if FW_ENABLE_TEXT_LOGGING 1751 if (this->isConnected_LogText_OutputPort(0)) {
1752 #if FW_OBJECT_NAMES == 1 1753 const char* _formatString =
1754 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1756 const char* _formatString =
1757 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1761 (void) _logString.
format(
1764 this->m_objName.toChar(),
1787 this->timeCaller_out(0, _logTime);
1797 #if FW_AMPCS_COMPATIBLE 1802 static_cast<FwAssertArgType>(_status)
1806 #if FW_AMPCS_COMPATIBLE 1813 static_cast<FwAssertArgType>(_status)
1819 static_cast<FwAssertArgType>(_status)
1832 #if FW_ENABLE_TEXT_LOGGING 1833 if (this->isConnected_LogText_OutputPort(0)) {
1834 #if FW_OBJECT_NAMES == 1 1835 const char* _formatString =
1836 "(%s) %s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1838 const char* _formatString =
1839 "%s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1843 (void) _logString.
format(
1846 this->m_objName.toChar(),
1848 "InvalidPacketReceived ",
1871 this->m_FileWriteErrorThrottle = 0;
1878 this->m_InvalidReceiveModeThrottle = 0;
1885 this->m_PacketOutOfBoundsThrottle = 0;
1892 this->m_PacketOutOfOrderThrottle = 0;
1899 this->m_PacketDuplicateThrottle = 0;
1918 this->timeCaller_out(0, _tlmTime);
1948 static_cast<FwAssertArgType>(_stat)
1970 static_cast<FwAssertArgType>(_stat)
1992 static_cast<FwAssertArgType>(_stat)
2014 static_cast<FwAssertArgType>(_stat)
2034 this->timeCaller_out(0, _time);
2049 ComponentIpcSerializableBuffer _msg;
2059 static_cast<FwAssertArgType>(_msgStatus)
2069 static_cast<FwAssertArgType>(_deserStatus)
2072 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2074 if (_msgType == FILEUPLINK_COMPONENT_EXIT) {
2079 _deserStatus = _msg.deserializeTo(portNum);
2082 static_cast<FwAssertArgType>(_deserStatus)
2087 case BUFFERSENDIN_BUFFERSEND: {
2090 _deserStatus = _msg.deserializeTo(fwBuffer);
2093 static_cast<FwAssertArgType>(_deserStatus)
2108 _deserStatus = _msg.deserializeTo(key);
2111 static_cast<FwAssertArgType>(_deserStatus)
2133 void FileUplinkComponentBase ::
2134 m_p_bufferSendIn_in(
2142 compPtr->bufferSendIn_handlerBase(
2148 void FileUplinkComponentBase ::
2157 compPtr->pingIn_handlerBase(
2163 #if !FW_DIRECT_PORT_CALLS 2169 #if FW_ENABLE_TEXT_LOGGING 2171 void FileUplinkComponentBase ::
2181 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
2182 static_cast<FwAssertArgType>(portNum)
2186 this->m_LogText_OutputPort[portNum].isConnected(),
2187 static_cast<FwAssertArgType>(portNum)
2189 this->m_LogText_OutputPort[portNum].invoke(
2199 void FileUplinkComponentBase ::
2210 static_cast<FwAssertArgType>(portNum)
2214 this->m_eventOut_OutputPort[portNum].isConnected(),
2215 static_cast<FwAssertArgType>(portNum)
2217 this->m_eventOut_OutputPort[portNum].
invoke(
2225 void FileUplinkComponentBase ::
2233 static_cast<FwAssertArgType>(portNum)
2237 this->m_timeCaller_OutputPort[portNum].isConnected(),
2238 static_cast<FwAssertArgType>(portNum)
2240 this->m_timeCaller_OutputPort[portNum].
invoke(
2245 void FileUplinkComponentBase ::
2255 static_cast<FwAssertArgType>(portNum)
2259 this->m_tlmOut_OutputPort[portNum].isConnected(),
2260 static_cast<FwAssertArgType>(portNum)
2262 this->m_tlmOut_OutputPort[portNum].
invoke(
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_tlmOut_OutputPort(FwIndexType portNum) const
The File Uplink component received a CANCEL packet.
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
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
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].
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOut.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
Channel ID for FilesReceived.
message to exit active component task
BYTE pingInPortSize[Svc::PingPortBuffer::CAPACITY]
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void log_WARNING_HI_InvalidReceiveMode_ThrottleClear()
Reset throttle value for InvalidReceiveMode.
static constexpr FwSizeType CAPACITY
static constexpr FwIndexType getNum_pingIn_InputPorts()
void invoke(U32 key) const
Invoke a port connection.
virtual const CHAR * toChar() const =0
Convert to a C-style char*.
The File Uplink component received a packet with a type that was invalid for the current receive mode...
Throttle reset count for PacketDuplicate.
void init()
Initialization function.
No time base has been established (Required)
void addCallPort(InputFileAnnouncePort *callPort)
Register an input port.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
Os::Queue m_queue
queue object for active component
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
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
Message will block until space is available.
void log_WARNING_HI_PacketDuplicate(U32 packetIndex)
FwIdType FwEventIdType
The type of an event identifier.
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
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.
static constexpr FwSizeType CAPACITY
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.
void tlmWrite_FilesReceivedFailed(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
bool isConnected_eventOut_OutputPort(FwIndexType portNum) const
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 (deprecated in C++, use std::min)
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
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 connection.
void log_WARNING_HI_FileWriteError(const Fw::StringBase &fileName)
bool isConnected_fileAnnounce_OutputPort(FwIndexType portNum) const
FileUplinkComponentBase(const char *compName="")
Construct FileUplinkComponentBase object.
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
A serious but recoverable event.
Errors dispatching messages.
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 connection.
const char * toChar() const
Convert to a C-style char*.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName) const
Enum representing event severity.
Channel ID for PacketsReceived.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
void init()
Initialization function.
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum) const
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)
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 connection.
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
During receipt of a file, the computed checksum value did not match the stored value.
Throttle reset count for PacketOutOfBounds.
A message was sent requesting an exit of the loop.
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 fileAnnounce_out(FwIndexType portNum, Fw::StringBase &file_name) const
Invoke output port fileAnnounce.
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.
An error occurred writing to a file.
The File Uplink component encountered a duplicate packet during file receipt.
void invoke(Fw::StringBase &file_name) const
Invoke a port connection.
The File Uplink component successfully received a file.
RateGroupDivider component implementation.
message sent/received okay
Channel ID for FilesReceivedFailed.
Throttle reset count for FileWriteError.
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()
An error occurred opening a file.
void log_WARNING_HI_PacketOutOfBounds_ThrottleClear()
Reset throttle value for PacketOutOfBounds.
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
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.