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)
771 if (qStatus == Os::Queue::Status::FULL) {
778 static_cast<FwAssertArgType>(qStatus)
808 #if !FW_DIRECT_PORT_CALLS 822 static_cast<FwAssertArgType>(portNum)
826 this->m_bufferSendOut_OutputPort[portNum].isConnected(),
827 static_cast<FwAssertArgType>(portNum)
829 this->m_bufferSendOut_OutputPort[portNum].
invoke(
842 static_cast<FwAssertArgType>(portNum)
846 this->m_fileAnnounce_OutputPort[portNum].isConnected(),
847 static_cast<FwAssertArgType>(portNum)
849 this->m_fileAnnounce_OutputPort[portNum].
invoke(
862 static_cast<FwAssertArgType>(portNum)
866 this->m_pingOut_OutputPort[portNum].isConnected(),
867 static_cast<FwAssertArgType>(portNum)
869 this->m_pingOut_OutputPort[portNum].
invoke(
890 this->timeCaller_out(0, _logTime);
900 #if FW_AMPCS_COMPATIBLE 905 static_cast<FwAssertArgType>(_status)
915 static_cast<FwAssertArgType>(_status)
918 #if FW_AMPCS_COMPATIBLE 921 static_cast<U8>(
sizeof(U32))
925 static_cast<FwAssertArgType>(_status)
931 static_cast<FwAssertArgType>(_status)
934 #if FW_AMPCS_COMPATIBLE 937 static_cast<U8>(
sizeof(U32))
941 static_cast<FwAssertArgType>(_status)
947 static_cast<FwAssertArgType>(_status)
960 #if FW_ENABLE_TEXT_LOGGING 961 if (this->isConnected_LogText_OutputPort(0)) {
962 #if FW_OBJECT_NAMES == 1 963 const char* _formatString =
964 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
966 const char* _formatString =
967 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
974 this->m_objName.toChar(),
999 this->timeCaller_out(0, _logTime);
1009 #if FW_AMPCS_COMPATIBLE 1014 static_cast<FwAssertArgType>(_status)
1024 static_cast<FwAssertArgType>(_status)
1037 #if FW_ENABLE_TEXT_LOGGING 1038 if (this->isConnected_LogText_OutputPort(0)) {
1039 #if FW_OBJECT_NAMES == 1 1040 const char* _formatString =
1041 "(%s) %s: Could not open file %s";
1043 const char* _formatString =
1044 "%s: Could not open file %s";
1048 (void) _logString.
format(
1051 this->m_objName.toChar(),
1074 this->timeCaller_out(0, _logTime);
1084 #if FW_AMPCS_COMPATIBLE 1089 static_cast<FwAssertArgType>(_status)
1099 static_cast<FwAssertArgType>(_status)
1112 #if FW_ENABLE_TEXT_LOGGING 1113 if (this->isConnected_LogText_OutputPort(0)) {
1114 #if FW_OBJECT_NAMES == 1 1115 const char* _formatString =
1116 "(%s) %s: Received file %s";
1118 const char* _formatString =
1119 "%s: Received file %s";
1123 (void) _logString.
format(
1126 this->m_objName.toChar(),
1151 this->m_FileWriteErrorThrottle++;
1157 this->timeCaller_out(0, _logTime);
1167 #if FW_AMPCS_COMPATIBLE 1172 static_cast<FwAssertArgType>(_status)
1182 static_cast<FwAssertArgType>(_status)
1195 #if FW_ENABLE_TEXT_LOGGING 1196 if (this->isConnected_LogText_OutputPort(0)) {
1197 #if FW_OBJECT_NAMES == 1 1198 const char* _formatString =
1199 "(%s) %s: Could not write to file %s";
1201 const char* _formatString =
1202 "%s: Could not write to file %s";
1206 (void) _logString.
format(
1209 this->m_objName.toChar(),
1237 this->m_InvalidReceiveModeThrottle++;
1243 this->timeCaller_out(0, _logTime);
1253 #if FW_AMPCS_COMPATIBLE 1258 static_cast<FwAssertArgType>(_status)
1262 #if FW_AMPCS_COMPATIBLE 1269 static_cast<FwAssertArgType>(_status)
1275 static_cast<FwAssertArgType>(_status)
1278 #if FW_AMPCS_COMPATIBLE 1281 static_cast<U8>(
sizeof(U32))
1285 static_cast<FwAssertArgType>(_status)
1291 static_cast<FwAssertArgType>(_status)
1304 #if FW_ENABLE_TEXT_LOGGING 1305 if (this->isConnected_LogText_OutputPort(0)) {
1306 #if FW_OBJECT_NAMES == 1 1307 const char* _formatString =
1308 "(%s) %s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1310 const char* _formatString =
1311 "%s: Packet type %" PRIu16
" received in mode %" PRIu32
"";
1315 (void) _logString.
format(
1318 this->m_objName.toChar(),
1320 "InvalidReceiveMode ",
1347 this->m_PacketOutOfBoundsThrottle++;
1353 this->timeCaller_out(0, _logTime);
1363 #if FW_AMPCS_COMPATIBLE 1368 static_cast<FwAssertArgType>(_status)
1372 #if FW_AMPCS_COMPATIBLE 1375 static_cast<U8>(
sizeof(U32))
1379 static_cast<FwAssertArgType>(_status)
1385 static_cast<FwAssertArgType>(_status)
1394 static_cast<FwAssertArgType>(_status)
1407 #if FW_ENABLE_TEXT_LOGGING 1408 if (this->isConnected_LogText_OutputPort(0)) {
1409 #if FW_OBJECT_NAMES == 1 1410 const char* _formatString =
1411 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1413 const char* _formatString =
1414 "%s: Packet %" PRIu32
" out of bounds for file %s";
1418 (void) _logString.
format(
1421 this->m_objName.toChar(),
1423 "PacketOutOfBounds ",
1450 this->m_PacketOutOfOrderThrottle++;
1456 this->timeCaller_out(0, _logTime);
1466 #if FW_AMPCS_COMPATIBLE 1471 static_cast<FwAssertArgType>(_status)
1475 #if FW_AMPCS_COMPATIBLE 1478 static_cast<U8>(
sizeof(U32))
1482 static_cast<FwAssertArgType>(_status)
1488 static_cast<FwAssertArgType>(_status)
1491 #if FW_AMPCS_COMPATIBLE 1494 static_cast<U8>(
sizeof(U32))
1498 static_cast<FwAssertArgType>(_status)
1504 static_cast<FwAssertArgType>(_status)
1517 #if FW_ENABLE_TEXT_LOGGING 1518 if (this->isConnected_LogText_OutputPort(0)) {
1519 #if FW_OBJECT_NAMES == 1 1520 const char* _formatString =
1521 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1523 const char* _formatString =
1524 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1528 (void) _logString.
format(
1531 this->m_objName.toChar(),
1533 "PacketOutOfOrder ",
1557 this->m_PacketDuplicateThrottle++;
1563 this->timeCaller_out(0, _logTime);
1573 #if FW_AMPCS_COMPATIBLE 1578 static_cast<FwAssertArgType>(_status)
1582 #if FW_AMPCS_COMPATIBLE 1585 static_cast<U8>(
sizeof(U32))
1589 static_cast<FwAssertArgType>(_status)
1595 static_cast<FwAssertArgType>(_status)
1608 #if FW_ENABLE_TEXT_LOGGING 1609 if (this->isConnected_LogText_OutputPort(0)) {
1610 #if FW_OBJECT_NAMES == 1 1611 const char* _formatString =
1612 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1614 const char* _formatString =
1615 "%s: Received a duplicate of packet %" PRIu32
"";
1619 (void) _logString.
format(
1622 this->m_objName.toChar(),
1645 this->timeCaller_out(0, _logTime);
1654 #if FW_AMPCS_COMPATIBLE 1660 static_cast<FwAssertArgType>(_status)
1674 #if FW_ENABLE_TEXT_LOGGING 1675 if (this->isConnected_LogText_OutputPort(0)) {
1676 #if FW_OBJECT_NAMES == 1 1677 const char* _formatString =
1678 "(%s) %s: Received CANCEL packet";
1680 const char* _formatString =
1681 "%s: Received CANCEL packet";
1685 (void) _logString.
format(
1688 this->m_objName.toChar(),
1710 this->timeCaller_out(0, _logTime);
1720 #if FW_AMPCS_COMPATIBLE 1725 static_cast<FwAssertArgType>(_status)
1729 #if FW_AMPCS_COMPATIBLE 1732 static_cast<U8>(
sizeof(I32))
1736 static_cast<FwAssertArgType>(_status)
1742 static_cast<FwAssertArgType>(_status)
1755 #if FW_ENABLE_TEXT_LOGGING 1756 if (this->isConnected_LogText_OutputPort(0)) {
1757 #if FW_OBJECT_NAMES == 1 1758 const char* _formatString =
1759 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1761 const char* _formatString =
1762 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1766 (void) _logString.
format(
1769 this->m_objName.toChar(),
1792 this->timeCaller_out(0, _logTime);
1802 #if FW_AMPCS_COMPATIBLE 1807 static_cast<FwAssertArgType>(_status)
1811 #if FW_AMPCS_COMPATIBLE 1818 static_cast<FwAssertArgType>(_status)
1824 static_cast<FwAssertArgType>(_status)
1837 #if FW_ENABLE_TEXT_LOGGING 1838 if (this->isConnected_LogText_OutputPort(0)) {
1839 #if FW_OBJECT_NAMES == 1 1840 const char* _formatString =
1841 "(%s) %s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1843 const char* _formatString =
1844 "%s: Invalid packet received. Wrong packet type: %" PRIu16
"";
1848 (void) _logString.
format(
1851 this->m_objName.toChar(),
1853 "InvalidPacketReceived ",
1876 this->m_FileWriteErrorThrottle = 0;
1883 this->m_InvalidReceiveModeThrottle = 0;
1890 this->m_PacketOutOfBoundsThrottle = 0;
1897 this->m_PacketOutOfOrderThrottle = 0;
1904 this->m_PacketDuplicateThrottle = 0;
1923 this->timeCaller_out(0, _tlmTime);
1953 static_cast<FwAssertArgType>(_stat)
1975 static_cast<FwAssertArgType>(_stat)
1997 static_cast<FwAssertArgType>(_stat)
2019 static_cast<FwAssertArgType>(_stat)
2039 this->timeCaller_out(0, _time);
2054 ComponentIpcSerializableBuffer _msg;
2064 static_cast<FwAssertArgType>(_msgStatus)
2074 static_cast<FwAssertArgType>(_deserStatus)
2077 MsgTypeEnum _msgType =
static_cast<MsgTypeEnum
>(_desMsg);
2079 if (_msgType == FILEUPLINK_COMPONENT_EXIT) {
2084 _deserStatus = _msg.deserializeTo(portNum);
2087 static_cast<FwAssertArgType>(_deserStatus)
2092 case BUFFERSENDIN_BUFFERSEND: {
2095 _deserStatus = _msg.deserializeTo(fwBuffer);
2098 static_cast<FwAssertArgType>(_deserStatus)
2113 _deserStatus = _msg.deserializeTo(key);
2116 static_cast<FwAssertArgType>(_deserStatus)
2138 void FileUplinkComponentBase ::
2139 m_p_bufferSendIn_in(
2147 compPtr->bufferSendIn_handlerBase(
2153 void FileUplinkComponentBase ::
2162 compPtr->pingIn_handlerBase(
2168 #if !FW_DIRECT_PORT_CALLS 2174 #if FW_ENABLE_TEXT_LOGGING 2176 void FileUplinkComponentBase ::
2186 (0 <= portNum) && (portNum < this->getNum_LogText_OutputPorts()),
2187 static_cast<FwAssertArgType>(portNum)
2191 this->m_LogText_OutputPort[portNum].isConnected(),
2192 static_cast<FwAssertArgType>(portNum)
2194 this->m_LogText_OutputPort[portNum].invoke(
2204 void FileUplinkComponentBase ::
2215 static_cast<FwAssertArgType>(portNum)
2219 this->m_eventOut_OutputPort[portNum].isConnected(),
2220 static_cast<FwAssertArgType>(portNum)
2222 this->m_eventOut_OutputPort[portNum].
invoke(
2230 void FileUplinkComponentBase ::
2238 static_cast<FwAssertArgType>(portNum)
2242 this->m_timeCaller_OutputPort[portNum].isConnected(),
2243 static_cast<FwAssertArgType>(portNum)
2245 this->m_timeCaller_OutputPort[portNum].
invoke(
2250 void FileUplinkComponentBase ::
2260 static_cast<FwAssertArgType>(portNum)
2264 this->m_tlmOut_OutputPort[portNum].isConnected(),
2265 static_cast<FwAssertArgType>(portNum)
2267 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
Channel ID for PacketsReceived.
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.
Channel ID for FilesReceivedFailed.
static constexpr FwIndexType getNum_bufferSendOut_OutputPorts()
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.
The File Uplink component encountered an out-of-order packet during file receipt. ...
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...
message to exit active component task
Throttle reset count for PacketOutOfBounds.
An error occurred writing to a file.
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
Throttle reset count for FileWriteError.
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
Error decoding file packet.
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.
During receipt of a file, the computed checksum value did not match the stored value.
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.
Throttle reset count for PacketOutOfOrder.
void invoke(Fw::Time &time) const
Invoke a port connection.
void log_WARNING_HI_FileWriteError(const Fw::StringBase &fileName)
The File Uplink component encountered a duplicate packet during file receipt.
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.
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()
The File Uplink component received a CANCEL packet.
uint8_t U8
8-bit unsigned integer
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
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.
A message was sent requesting an exit of the loop.
Channel ID for FilesReceived.
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.
Throttle reset count for InvalidReceiveMode.
void invoke(Fw::StringBase &file_name) const
Invoke a port connection.
void incNumMsgDropped()
increment the number of messages dropped
RateGroupDivider component implementation.
message sent/received okay
The File Uplink component successfully received a file.
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.
An error occurred opening a file.
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
Throttle reset count for PacketDuplicate.
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
SerializeStatus serializeTo(SerialBufferBase &buffer, Endianness mode=Endianness::BIG) const override
Serialize the contents of this object to a buffer.
void init()
Initialization function.