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];
79 #if !FW_DIRECT_PORT_CALLS 86 this->m_bufferSendIn_InputPort[port].
init();
91 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
93 #if FW_OBJECT_NAMES == 1 97 this->m_objName.toChar(),
100 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
105 #if !FW_DIRECT_PORT_CALLS 112 this->m_pingIn_InputPort[port].
init();
117 this->m_pingIn_InputPort[port].
setPortNum(port);
119 #if FW_OBJECT_NAMES == 1 123 this->m_objName.toChar(),
126 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
131 #if !FW_DIRECT_PORT_CALLS && FW_ENABLE_TEXT_LOGGING 135 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
138 this->m_LogText_OutputPort[port].
init();
140 #if FW_OBJECT_NAMES == 1 144 this->m_objName.toChar(),
147 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
152 #if !FW_DIRECT_PORT_CALLS 159 this->m_eventOut_OutputPort[port].
init();
161 #if FW_OBJECT_NAMES == 1 165 this->m_objName.toChar(),
168 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
173 #if !FW_DIRECT_PORT_CALLS 180 this->m_timeCaller_OutputPort[port].
init();
182 #if FW_OBJECT_NAMES == 1 186 this->m_objName.toChar(),
189 this->m_timeCaller_OutputPort[port].setObjName(portName.
toChar());
194 #if !FW_DIRECT_PORT_CALLS 201 this->m_tlmOut_OutputPort[port].
init();
203 #if FW_OBJECT_NAMES == 1 207 this->m_objName.toChar(),
210 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
215 #if !FW_DIRECT_PORT_CALLS 222 this->m_bufferSendOut_OutputPort[port].
init();
224 #if FW_OBJECT_NAMES == 1 228 this->m_objName.toChar(),
231 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
236 #if !FW_DIRECT_PORT_CALLS 243 this->m_fileAnnounce_OutputPort[port].
init();
245 #if FW_OBJECT_NAMES == 1 249 this->m_objName.toChar(),
252 this->m_fileAnnounce_OutputPort[port].setObjName(portName.
toChar());
257 #if !FW_DIRECT_PORT_CALLS 264 this->m_pingOut_OutputPort[port].
init();
266 #if FW_OBJECT_NAMES == 1 270 this->m_objName.toChar(),
273 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
281 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
285 static_cast<FwAssertArgType>(qStat)
289 #if !FW_DIRECT_PORT_CALLS 300 static_cast<FwAssertArgType>(portNum)
303 return &this->m_bufferSendIn_InputPort[portNum];
311 static_cast<FwAssertArgType>(portNum)
314 return &this->m_pingIn_InputPort[portNum];
319 #if !FW_DIRECT_PORT_CALLS 325 #if FW_ENABLE_TEXT_LOGGING == 1 327 void FileUplinkComponentBase ::
328 set_LogText_OutputPort(
334 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
335 static_cast<FwAssertArgType>(portNum)
338 this->m_LogText_OutputPort[portNum].addCallPort(port);
351 static_cast<FwAssertArgType>(portNum)
354 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
365 static_cast<FwAssertArgType>(portNum)
368 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
379 static_cast<FwAssertArgType>(portNum)
382 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
387 #if !FW_DIRECT_PORT_CALLS 401 static_cast<FwAssertArgType>(portNum)
404 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
415 static_cast<FwAssertArgType>(portNum)
418 this->m_fileAnnounce_OutputPort[portNum].
addCallPort(port);
429 static_cast<FwAssertArgType>(portNum)
432 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
437 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 443 #if FW_ENABLE_TEXT_LOGGING == 1 445 void FileUplinkComponentBase ::
446 set_LogText_OutputPort(
448 Fw::InputSerializePort* port
452 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
453 static_cast<FwAssertArgType>(portNum)
456 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
464 Fw::InputSerializePort* port
469 static_cast<FwAssertArgType>(portNum)
472 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
478 Fw::InputSerializePort* port
483 static_cast<FwAssertArgType>(portNum)
486 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
492 Fw::InputSerializePort* port
497 static_cast<FwAssertArgType>(portNum)
500 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
505 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 514 Fw::InputSerializePort* port
519 static_cast<FwAssertArgType>(portNum)
522 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
528 Fw::InputSerializePort* port
533 static_cast<FwAssertArgType>(portNum)
536 this->m_fileAnnounce_OutputPort[portNum].registerSerialPort(port);
542 Fw::InputSerializePort* port
547 static_cast<FwAssertArgType>(portNum)
550 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
561 Fw::ActiveComponentBase(compName)
563 this->m_FileWriteErrorThrottle = 0;
564 this->m_InvalidReceiveModeThrottle = 0;
565 this->m_PacketOutOfBoundsThrottle = 0;
566 this->m_PacketOutOfOrderThrottle = 0;
567 this->m_PacketDuplicateThrottle = 0;
576 #if !FW_DIRECT_PORT_CALLS 582 #if FW_ENABLE_TEXT_LOGGING == 1 584 bool FileUplinkComponentBase ::
585 isConnected_LogText_OutputPort(
FwIndexType portNum)
const 588 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
589 static_cast<FwAssertArgType>(portNum)
592 return this->m_LogText_OutputPort[portNum].isConnected();
602 static_cast<FwAssertArgType>(portNum)
605 return this->m_eventOut_OutputPort[portNum].
isConnected();
613 static_cast<FwAssertArgType>(portNum)
616 return this->m_timeCaller_OutputPort[portNum].
isConnected();
624 static_cast<FwAssertArgType>(portNum)
627 return this->m_tlmOut_OutputPort[portNum].
isConnected();
632 #if !FW_DIRECT_PORT_CALLS 643 static_cast<FwAssertArgType>(portNum)
646 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
654 static_cast<FwAssertArgType>(portNum)
657 return this->m_fileAnnounce_OutputPort[portNum].
isConnected();
665 static_cast<FwAssertArgType>(portNum)
668 return this->m_pingOut_OutputPort[portNum].
isConnected();
688 static_cast<FwAssertArgType>(portNum)
696 ComponentIpcSerializableBuffer msg;
700 _status = msg.serializeFrom(
701 static_cast<FwEnumStoreType>(BUFFERSENDIN_BUFFERSEND)
705 static_cast<FwAssertArgType>(_status)
709 _status = msg.serializeFrom(portNum);
712 static_cast<FwAssertArgType>(_status)
716 _status = msg.serializeFrom(fwBuffer);
719 static_cast<FwAssertArgType>(_status)
728 static_cast<FwAssertArgType>(qStatus)
741 static_cast<FwAssertArgType>(portNum)
749 ComponentIpcSerializableBuffer msg;
753 _status = msg.serializeFrom(
754 static_cast<FwEnumStoreType>(PINGIN_PING)
758 static_cast<FwAssertArgType>(_status)
762 _status = msg.serializeFrom(portNum);
765 static_cast<FwAssertArgType>(_status)
769 _status = msg.serializeFrom(key);
772 static_cast<FwAssertArgType>(_status)
781 static_cast<FwAssertArgType>(qStatus)
811 #if !FW_DIRECT_PORT_CALLS 825 static_cast<FwAssertArgType>(portNum)
829 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
830 static_cast<FwAssertArgType>(portNum)
832 this->m_bufferSendOut_OutputPort[portNum].
invoke(
845 static_cast<FwAssertArgType>(portNum)
849 this->m_fileAnnounce_OutputPort[portNum].isConnected(),
850 static_cast<FwAssertArgType>(portNum)
852 this->m_fileAnnounce_OutputPort[portNum].
invoke(
865 static_cast<FwAssertArgType>(portNum)
869 this->m_pingOut_OutputPort[portNum].isConnected(),
870 static_cast<FwAssertArgType>(portNum)
872 this->m_pingOut_OutputPort[portNum].
invoke(
893 this->timeCaller_out(0, _logTime);
903 #if FW_AMPCS_COMPATIBLE 908 static_cast<FwAssertArgType>(_status)
918 static_cast<FwAssertArgType>(_status)
921 #if FW_AMPCS_COMPATIBLE 924 static_cast<U8>(
sizeof(U32))
928 static_cast<FwAssertArgType>(_status)
934 static_cast<FwAssertArgType>(_status)
937 #if FW_AMPCS_COMPATIBLE 940 static_cast<U8>(
sizeof(U32))
944 static_cast<FwAssertArgType>(_status)
950 static_cast<FwAssertArgType>(_status)
963 #if FW_ENABLE_TEXT_LOGGING 964 if (this->isConnected_LogText_OutputPort(0)) {
965 #if FW_OBJECT_NAMES == 1 966 const char* _formatString =
967 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
969 const char* _formatString =
970 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
977 this->m_objName.toChar(),
1002 this->timeCaller_out(0, _logTime);
1012 #if FW_AMPCS_COMPATIBLE 1017 static_cast<FwAssertArgType>(_status)
1027 static_cast<FwAssertArgType>(_status)
1040 #if FW_ENABLE_TEXT_LOGGING 1041 if (this->isConnected_LogText_OutputPort(0)) {
1042 #if FW_OBJECT_NAMES == 1 1043 const char* _formatString =
1044 "(%s) %s: Could not open file %s";
1046 const char* _formatString =
1047 "%s: Could not open file %s";
1054 this->m_objName.toChar(),
1077 this->timeCaller_out(0, _logTime);
1087 #if FW_AMPCS_COMPATIBLE 1092 static_cast<FwAssertArgType>(_status)
1102 static_cast<FwAssertArgType>(_status)
1115 #if FW_ENABLE_TEXT_LOGGING 1116 if (this->isConnected_LogText_OutputPort(0)) {
1117 #if FW_OBJECT_NAMES == 1 1118 const char* _formatString =
1119 "(%s) %s: Received file %s";
1121 const char* _formatString =
1122 "%s: Received file %s";
1129 this->m_objName.toChar(),
1154 this->m_FileWriteErrorThrottle++;
1160 this->timeCaller_out(0, _logTime);
1170 #if FW_AMPCS_COMPATIBLE 1175 static_cast<FwAssertArgType>(_status)
1185 static_cast<FwAssertArgType>(_status)
1198 #if FW_ENABLE_TEXT_LOGGING 1199 if (this->isConnected_LogText_OutputPort(0)) {
1200 #if FW_OBJECT_NAMES == 1 1201 const char* _formatString =
1202 "(%s) %s: Could not write to file %s";
1204 const char* _formatString =
1205 "%s: Could not write to file %s";
1212 this->m_objName.toChar(),
1240 this->m_InvalidReceiveModeThrottle++;
1246 this->timeCaller_out(0, _logTime);
1256 #if FW_AMPCS_COMPATIBLE 1261 static_cast<FwAssertArgType>(_status)
1265 #if FW_AMPCS_COMPATIBLE 1272 static_cast<FwAssertArgType>(_status)
1278 static_cast<FwAssertArgType>(_status)
1281 #if FW_AMPCS_COMPATIBLE 1284 static_cast<U8>(
sizeof(U32))
1288 static_cast<FwAssertArgType>(_status)
1294 static_cast<FwAssertArgType>(_status)
1307 #if FW_ENABLE_TEXT_LOGGING 1308 if (this->isConnected_LogText_OutputPort(0)) {
1309 #if FW_OBJECT_NAMES == 1 1310 const char* _formatString =
1311 "(%s) %s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1313 const char* _formatString =
1314 "%s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1321 this->m_objName.toChar(),
1323 "InvalidReceiveMode ",
1350 this->m_PacketOutOfBoundsThrottle++;
1356 this->timeCaller_out(0, _logTime);
1366 #if FW_AMPCS_COMPATIBLE 1371 static_cast<FwAssertArgType>(_status)
1375 #if FW_AMPCS_COMPATIBLE 1378 static_cast<U8>(
sizeof(U32))
1382 static_cast<FwAssertArgType>(_status)
1388 static_cast<FwAssertArgType>(_status)
1397 static_cast<FwAssertArgType>(_status)
1410 #if FW_ENABLE_TEXT_LOGGING 1411 if (this->isConnected_LogText_OutputPort(0)) {
1412 #if FW_OBJECT_NAMES == 1 1413 const char* _formatString =
1414 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1416 const char* _formatString =
1417 "%s: Packet %" PRIu32
" out of bounds for file %s";
1424 this->m_objName.toChar(),
1426 "PacketOutOfBounds ",
1453 this->m_PacketOutOfOrderThrottle++;
1459 this->timeCaller_out(0, _logTime);
1469 #if FW_AMPCS_COMPATIBLE 1474 static_cast<FwAssertArgType>(_status)
1478 #if FW_AMPCS_COMPATIBLE 1481 static_cast<U8>(
sizeof(U32))
1485 static_cast<FwAssertArgType>(_status)
1491 static_cast<FwAssertArgType>(_status)
1494 #if FW_AMPCS_COMPATIBLE 1497 static_cast<U8>(
sizeof(U32))
1501 static_cast<FwAssertArgType>(_status)
1507 static_cast<FwAssertArgType>(_status)
1520 #if FW_ENABLE_TEXT_LOGGING 1521 if (this->isConnected_LogText_OutputPort(0)) {
1522 #if FW_OBJECT_NAMES == 1 1523 const char* _formatString =
1524 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1526 const char* _formatString =
1527 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1534 this->m_objName.toChar(),
1536 "PacketOutOfOrder ",
1560 this->m_PacketDuplicateThrottle++;
1566 this->timeCaller_out(0, _logTime);
1576 #if FW_AMPCS_COMPATIBLE 1581 static_cast<FwAssertArgType>(_status)
1585 #if FW_AMPCS_COMPATIBLE 1588 static_cast<U8>(
sizeof(U32))
1592 static_cast<FwAssertArgType>(_status)
1598 static_cast<FwAssertArgType>(_status)
1611 #if FW_ENABLE_TEXT_LOGGING 1612 if (this->isConnected_LogText_OutputPort(0)) {
1613 #if FW_OBJECT_NAMES == 1 1614 const char* _formatString =
1615 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1617 const char* _formatString =
1618 "%s: Received a duplicate of packet %" PRIu32
"";
1625 this->m_objName.toChar(),
1648 this->timeCaller_out(0, _logTime);
1657 #if FW_AMPCS_COMPATIBLE 1663 static_cast<FwAssertArgType>(_status)
1677 #if FW_ENABLE_TEXT_LOGGING 1678 if (this->isConnected_LogText_OutputPort(0)) {
1679 #if FW_OBJECT_NAMES == 1 1680 const char* _formatString =
1681 "(%s) %s: Received CANCEL packet";
1683 const char* _formatString =
1684 "%s: Received CANCEL packet";
1691 this->m_objName.toChar(),
1713 this->timeCaller_out(0, _logTime);
1723 #if FW_AMPCS_COMPATIBLE 1728 static_cast<FwAssertArgType>(_status)
1732 #if FW_AMPCS_COMPATIBLE 1735 static_cast<U8>(
sizeof(I32))
1739 static_cast<FwAssertArgType>(_status)
1745 static_cast<FwAssertArgType>(_status)
1758 #if FW_ENABLE_TEXT_LOGGING 1759 if (this->isConnected_LogText_OutputPort(0)) {
1760 #if FW_OBJECT_NAMES == 1 1761 const char* _formatString =
1762 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1764 const char* _formatString =
1765 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1772 this->m_objName.toChar(),
1795 this->timeCaller_out(0, _logTime);
1805 #if FW_AMPCS_COMPATIBLE 1810 static_cast<FwAssertArgType>(_status)
1814 #if FW_AMPCS_COMPATIBLE 1821 static_cast<FwAssertArgType>(_status)
1827 static_cast<FwAssertArgType>(_status)
1840 #if FW_ENABLE_TEXT_LOGGING 1841 if (this->isConnected_LogText_OutputPort(0)) {
1842 #if FW_OBJECT_NAMES == 1 1843 const char* _formatString =
1844 "(%s) %s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1846 const char* _formatString =
1847 "%s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1854 this->m_objName.toChar(),
1856 "InvalidPacketReceived ",
1879 this->m_FileWriteErrorThrottle = 0;
1886 this->m_InvalidReceiveModeThrottle = 0;
1893 this->m_PacketOutOfBoundsThrottle = 0;
1900 this->m_PacketOutOfOrderThrottle = 0;
1907 this->m_PacketDuplicateThrottle = 0;
1926 this->timeCaller_out(0, _tlmTime);
1956 static_cast<FwAssertArgType>(_stat)
1978 static_cast<FwAssertArgType>(_stat)
2000 static_cast<FwAssertArgType>(_stat)
2020 this->timeCaller_out(0, _time);
2035 ComponentIpcSerializableBuffer _msg;
2045 static_cast<FwAssertArgType>(_msgStatus)
2055 static_cast<FwAssertArgType>(_deserStatus)
2058 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2060 if (_msgType == FILEUPLINK_COMPONENT_EXIT) {
2065 _deserStatus = _msg.deserializeTo(portNum);
2068 static_cast<FwAssertArgType>(_deserStatus)
2073 case BUFFERSENDIN_BUFFERSEND: {
2076 _deserStatus = _msg.deserializeTo(fwBuffer);
2079 static_cast<FwAssertArgType>(_deserStatus)
2094 _deserStatus = _msg.deserializeTo(key);
2097 static_cast<FwAssertArgType>(_deserStatus)
2119 void FileUplinkComponentBase ::
2120 m_p_bufferSendIn_in(
2128 compPtr->bufferSendIn_handlerBase(
2134 void FileUplinkComponentBase ::
2143 compPtr->pingIn_handlerBase(
2149 #if !FW_DIRECT_PORT_CALLS 2155 #if FW_ENABLE_TEXT_LOGGING 2157 void FileUplinkComponentBase ::
2167 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
2168 static_cast<FwAssertArgType>(portNum)
2172 this->m_LogText_OutputPort[portNum].isConnected(),
2173 static_cast<FwAssertArgType>(portNum)
2175 this->m_LogText_OutputPort[portNum].invoke(
2185 void FileUplinkComponentBase ::
2196 static_cast<FwAssertArgType>(portNum)
2200 this->m_eventOut_OutputPort[portNum].isConnected(),
2201 static_cast<FwAssertArgType>(portNum)
2203 this->m_eventOut_OutputPort[portNum].
invoke(
2211 void FileUplinkComponentBase ::
2219 static_cast<FwAssertArgType>(portNum)
2223 this->m_timeCaller_OutputPort[portNum].isConnected(),
2224 static_cast<FwAssertArgType>(portNum)
2226 this->m_timeCaller_OutputPort[portNum].
invoke(
2231 void FileUplinkComponentBase ::
2241 static_cast<FwAssertArgType>(portNum)
2245 this->m_tlmOut_OutputPort[portNum].isConnected(),
2246 static_cast<FwAssertArgType>(portNum)
2248 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
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.
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
Error decoding file packet.
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].
Throttle reset count for PacketDuplicate.
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOut.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
An error occurred opening a file.
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.
The File Uplink component received a CANCEL packet.
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.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
The File Uplink component successfully received a file.
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.
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.
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()
Throttle reset count for InvalidReceiveMode.
#define FW_MIN(a, b)
MIN macro (deprecated in C++, use std::min)
void invoke(Fw::Buffer &fwBuffer) const
Invoke a port connection.
Throttle reset count for FileWriteError.
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)
message to exit active component task
bool isConnected_fileAnnounce_OutputPort(FwIndexType portNum) const
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
Channel ID for FilesReceived.
Channel ID for PacketsReceived.
During receipt of a file, the computed checksum value did not match the stored value.
Throttle reset count for PacketOutOfBounds.
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.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName) const
Enum representing event severity.
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)
An error occurred writing to a file.
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.
A message was sent requesting an exit of the loop.
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 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.
void invoke(Fw::StringBase &file_name) const
Invoke a port connection.
RateGroupDivider component implementation.
message sent/received okay
The File Uplink component received a packet with a type that was invalid for the current receive mode...
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()
void log_WARNING_HI_PacketOutOfBounds_ThrottleClear()
Reset throttle value for PacketOutOfBounds.
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
The File Uplink component encountered a duplicate packet during file receipt.
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
Throttle reset count for PacketOutOfOrder.
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void init()
Initialization function.