10 #if FW_ENABLE_TEXT_LOGGING
19 BUFFERSENDIN_BUFFERSEND,
32 class ComponentIpcSerializableBuffer :
47 return sizeof(m_buff);
54 const U8* getBuffAddr()
const {
60 U8 m_buff[SERIALIZATION_SIZE];
84 this->m_bufferSendIn_InputPort[port].
init();
89 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
91 #if FW_OBJECT_NAMES == 1
95 this->m_objName.toChar(),
98 this->m_bufferSendIn_InputPort[port].setObjName(portName.
toChar());
108 this->m_pingIn_InputPort[port].
init();
113 this->m_pingIn_InputPort[port].
setPortNum(port);
115 #if FW_OBJECT_NAMES == 1
119 this->m_objName.toChar(),
122 this->m_pingIn_InputPort[port].setObjName(portName.
toChar());
126 #if FW_ENABLE_TEXT_LOGGING == 1
130 port < static_cast<FwIndexType>(this->getNum_LogText_OutputPorts());
133 this->m_LogText_OutputPort[port].
init();
135 #if FW_OBJECT_NAMES == 1
139 this->m_objName.toChar(),
142 this->m_LogText_OutputPort[port].setObjName(portName.
toChar());
153 this->m_eventOut_OutputPort[port].
init();
155 #if FW_OBJECT_NAMES == 1
159 this->m_objName.toChar(),
162 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
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());
191 this->m_tlmOut_OutputPort[port].
init();
193 #if FW_OBJECT_NAMES == 1
197 this->m_objName.toChar(),
200 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
210 this->m_bufferSendOut_OutputPort[port].
init();
212 #if FW_OBJECT_NAMES == 1
216 this->m_objName.toChar(),
219 this->m_bufferSendOut_OutputPort[port].setObjName(portName.
toChar());
229 this->m_pingOut_OutputPort[port].
init();
231 #if FW_OBJECT_NAMES == 1
235 this->m_objName.toChar(),
238 this->m_pingOut_OutputPort[port].setObjName(portName.
toChar());
244 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
264 return &this->m_bufferSendIn_InputPort[portNum];
275 return &this->m_pingIn_InputPort[portNum];
282 #if FW_ENABLE_TEXT_LOGGING == 1
284 void FileUplinkComponentBase ::
285 set_LogText_OutputPort(
291 portNum < this->getNum_LogText_OutputPorts(),
295 this->m_LogText_OutputPort[portNum].addCallPort(port);
311 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
325 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
339 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
357 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
371 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
374 #if FW_PORT_SERIALIZATION
380 #if FW_ENABLE_TEXT_LOGGING == 1
382 void FileUplinkComponentBase ::
383 set_LogText_OutputPort(
385 Fw::InputSerializePort* port
389 portNum < this->getNum_LogText_OutputPorts(),
393 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
401 Fw::InputSerializePort* port
409 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
415 Fw::InputSerializePort* port
423 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
429 Fw::InputSerializePort* port
437 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
442 #if FW_PORT_SERIALIZATION
451 Fw::InputSerializePort* port
459 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
465 Fw::InputSerializePort* port
473 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
484 Fw::ActiveComponentBase(compName)
486 this->m_FileWriteErrorThrottle = 0;
487 this->m_InvalidReceiveModeThrottle = 0;
488 this->m_PacketOutOfBoundsThrottle = 0;
489 this->m_PacketOutOfOrderThrottle = 0;
490 this->m_PacketDuplicateThrottle = 0;
519 #if FW_ENABLE_TEXT_LOGGING == 1
522 getNum_LogText_OutputPorts()
const
567 #if FW_ENABLE_TEXT_LOGGING == 1
569 bool FileUplinkComponentBase ::
570 isConnected_LogText_OutputPort(
FwIndexType portNum)
573 portNum < this->getNum_LogText_OutputPorts(),
577 return this->m_LogText_OutputPort[portNum].isConnected();
590 return this->m_eventOut_OutputPort[portNum].
isConnected();
601 return this->m_timeCaller_OutputPort[portNum].
isConnected();
612 return this->m_tlmOut_OutputPort[portNum].
isConnected();
627 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
638 return this->m_pingOut_OutputPort[portNum].
isConnected();
664 ComponentIpcSerializableBuffer msg;
668 _status = msg.serialize(
677 _status = msg.serialize(portNum);
684 _status = msg.serialize(fwBuffer);
717 ComponentIpcSerializableBuffer msg;
721 _status = msg.serialize(
730 _status = msg.serialize(portNum);
737 _status = msg.serialize(key);
793 this->m_bufferSendOut_OutputPort[portNum].
invoke(
808 this->m_pingOut_OutputPort[portNum].
invoke(
826 if (this->m_timeCaller_OutputPort[0].isConnected()) {
827 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
835 if (this->m_eventOut_OutputPort[0].isConnected()) {
839 #if FW_AMPCS_COMPATIBLE
854 #if FW_AMPCS_COMPATIBLE
857 static_cast<U8>(
sizeof(U32))
870 #if FW_AMPCS_COMPATIBLE
873 static_cast<U8>(
sizeof(U32))
886 this->m_eventOut_OutputPort[0].
invoke(
895 #if FW_ENABLE_TEXT_LOGGING
896 if (this->m_LogText_OutputPort[0].isConnected()) {
897 #if FW_OBJECT_NAMES == 1
898 const char* _formatString =
899 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
901 const char* _formatString =
902 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
909 this->m_objName.toChar(),
917 this->m_LogText_OutputPort[0].invoke(
932 if (this->m_timeCaller_OutputPort[0].isConnected()) {
933 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
941 if (this->m_eventOut_OutputPort[0].isConnected()) {
945 #if FW_AMPCS_COMPATIBLE
960 this->m_eventOut_OutputPort[0].
invoke(
969 #if FW_ENABLE_TEXT_LOGGING
970 if (this->m_LogText_OutputPort[0].isConnected()) {
971 #if FW_OBJECT_NAMES == 1
972 const char* _formatString =
973 "(%s) %s: Could not open file %s";
975 const char* _formatString =
976 "%s: Could not open file %s";
983 this->m_objName.toChar(),
989 this->m_LogText_OutputPort[0].invoke(
1004 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1005 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1013 if (this->m_eventOut_OutputPort[0].isConnected()) {
1017 #if FW_AMPCS_COMPATIBLE
1032 this->m_eventOut_OutputPort[0].
invoke(
1041 #if FW_ENABLE_TEXT_LOGGING
1042 if (this->m_LogText_OutputPort[0].isConnected()) {
1043 #if FW_OBJECT_NAMES == 1
1044 const char* _formatString =
1045 "(%s) %s: Received file %s";
1047 const char* _formatString =
1048 "%s: Received file %s";
1055 this->m_objName.toChar(),
1061 this->m_LogText_OutputPort[0].invoke(
1079 this->m_FileWriteErrorThrottle++;
1084 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1085 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1093 if (this->m_eventOut_OutputPort[0].isConnected()) {
1097 #if FW_AMPCS_COMPATIBLE
1112 this->m_eventOut_OutputPort[0].
invoke(
1121 #if FW_ENABLE_TEXT_LOGGING
1122 if (this->m_LogText_OutputPort[0].isConnected()) {
1123 #if FW_OBJECT_NAMES == 1
1124 const char* _formatString =
1125 "(%s) %s: Could not write to file %s";
1127 const char* _formatString =
1128 "%s: Could not write to file %s";
1135 this->m_objName.toChar(),
1141 this->m_LogText_OutputPort[0].invoke(
1162 this->m_InvalidReceiveModeThrottle++;
1167 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1168 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1176 if (this->m_eventOut_OutputPort[0].isConnected()) {
1180 #if FW_AMPCS_COMPATIBLE
1189 #if FW_AMPCS_COMPATIBLE
1192 static_cast<U8>(
sizeof(U32))
1199 _status = _logBuff.
serialize(packetType);
1205 #if FW_AMPCS_COMPATIBLE
1208 static_cast<U8>(
sizeof(U32))
1221 this->m_eventOut_OutputPort[0].
invoke(
1230 #if FW_ENABLE_TEXT_LOGGING
1231 if (this->m_LogText_OutputPort[0].isConnected()) {
1232 #if FW_OBJECT_NAMES == 1
1233 const char* _formatString =
1234 "(%s) %s: Packet type %" PRIu32
" received in mode %" PRIu32
"";
1236 const char* _formatString =
1237 "%s: Packet type %" PRIu32
" received in mode %" PRIu32
"";
1244 this->m_objName.toChar(),
1246 "InvalidReceiveMode ",
1251 this->m_LogText_OutputPort[0].invoke(
1272 this->m_PacketOutOfBoundsThrottle++;
1277 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1278 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1286 if (this->m_eventOut_OutputPort[0].isConnected()) {
1290 #if FW_AMPCS_COMPATIBLE
1299 #if FW_AMPCS_COMPATIBLE
1302 static_cast<U8>(
sizeof(U32))
1309 _status = _logBuff.
serialize(packetIndex);
1321 this->m_eventOut_OutputPort[0].
invoke(
1330 #if FW_ENABLE_TEXT_LOGGING
1331 if (this->m_LogText_OutputPort[0].isConnected()) {
1332 #if FW_OBJECT_NAMES == 1
1333 const char* _formatString =
1334 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1336 const char* _formatString =
1337 "%s: Packet %" PRIu32
" out of bounds for file %s";
1344 this->m_objName.toChar(),
1346 "PacketOutOfBounds ",
1351 this->m_LogText_OutputPort[0].invoke(
1372 this->m_PacketOutOfOrderThrottle++;
1377 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1378 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1386 if (this->m_eventOut_OutputPort[0].isConnected()) {
1390 #if FW_AMPCS_COMPATIBLE
1399 #if FW_AMPCS_COMPATIBLE
1402 static_cast<U8>(
sizeof(U32))
1409 _status = _logBuff.
serialize(packetIndex);
1415 #if FW_AMPCS_COMPATIBLE
1418 static_cast<U8>(
sizeof(U32))
1425 _status = _logBuff.
serialize(lastPacketIndex);
1431 this->m_eventOut_OutputPort[0].
invoke(
1440 #if FW_ENABLE_TEXT_LOGGING
1441 if (this->m_LogText_OutputPort[0].isConnected()) {
1442 #if FW_OBJECT_NAMES == 1
1443 const char* _formatString =
1444 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1446 const char* _formatString =
1447 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1454 this->m_objName.toChar(),
1456 "PacketOutOfOrder ",
1461 this->m_LogText_OutputPort[0].invoke(
1479 this->m_PacketDuplicateThrottle++;
1484 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1485 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1493 if (this->m_eventOut_OutputPort[0].isConnected()) {
1497 #if FW_AMPCS_COMPATIBLE
1506 #if FW_AMPCS_COMPATIBLE
1509 static_cast<U8>(
sizeof(U32))
1516 _status = _logBuff.
serialize(packetIndex);
1522 this->m_eventOut_OutputPort[0].
invoke(
1531 #if FW_ENABLE_TEXT_LOGGING
1532 if (this->m_LogText_OutputPort[0].isConnected()) {
1533 #if FW_OBJECT_NAMES == 1
1534 const char* _formatString =
1535 "(%s) %s: Received a duplicate of packet %" PRIu32
"";
1537 const char* _formatString =
1538 "%s: Received a duplicate of packet %" PRIu32
"";
1545 this->m_objName.toChar(),
1551 this->m_LogText_OutputPort[0].invoke(
1566 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1567 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1575 if (this->m_eventOut_OutputPort[0].isConnected()) {
1578 #if FW_AMPCS_COMPATIBLE
1588 this->m_eventOut_OutputPort[0].
invoke(
1597 #if FW_ENABLE_TEXT_LOGGING
1598 if (this->m_LogText_OutputPort[0].isConnected()) {
1599 #if FW_OBJECT_NAMES == 1
1600 const char* _formatString =
1601 "(%s) %s: Received CANCEL packet";
1603 const char* _formatString =
1604 "%s: Received CANCEL packet";
1611 this->m_objName.toChar(),
1616 this->m_LogText_OutputPort[0].invoke(
1631 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1632 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1640 if (this->m_eventOut_OutputPort[0].isConnected()) {
1644 #if FW_AMPCS_COMPATIBLE
1653 #if FW_AMPCS_COMPATIBLE
1656 static_cast<U8>(
sizeof(I32))
1669 this->m_eventOut_OutputPort[0].
invoke(
1678 #if FW_ENABLE_TEXT_LOGGING
1679 if (this->m_LogText_OutputPort[0].isConnected()) {
1680 #if FW_OBJECT_NAMES == 1
1681 const char* _formatString =
1682 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1684 const char* _formatString =
1685 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1692 this->m_objName.toChar(),
1698 this->m_LogText_OutputPort[0].invoke(
1716 this->m_FileWriteErrorThrottle = 0;
1723 this->m_InvalidReceiveModeThrottle = 0;
1730 this->m_PacketOutOfBoundsThrottle = 0;
1737 this->m_PacketOutOfOrderThrottle = 0;
1744 this->m_PacketDuplicateThrottle = 0;
1757 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1759 this->m_timeCaller_OutputPort[0].isConnected() &&
1762 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1776 this->m_tlmOut_OutputPort[0].
invoke(
1790 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1792 this->m_timeCaller_OutputPort[0].isConnected() &&
1795 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1809 this->m_tlmOut_OutputPort[0].
invoke(
1823 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1825 this->m_timeCaller_OutputPort[0].isConnected() &&
1828 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1842 this->m_tlmOut_OutputPort[0].
invoke(
1857 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1859 this->m_timeCaller_OutputPort[0].
invoke(_time);
1874 ComponentIpcSerializableBuffer msg;
1897 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1899 if (msgType == FILEUPLINK_COMPONENT_EXIT) {
1904 deserStatus = msg.deserialize(portNum);
1912 case BUFFERSENDIN_BUFFERSEND: {
1933 deserStatus = msg.deserialize(key);
1958 void FileUplinkComponentBase ::
1959 m_p_bufferSendIn_in(
1967 compPtr->bufferSendIn_handlerBase(
1973 void FileUplinkComponentBase ::
1982 compPtr->pingIn_handlerBase(
#define FW_MIN(a, b)
MIN macro.
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
PlatformSizeType FwSizeType
#define FW_LOG_STRING_MAX_SIZE
Max size of log string parameter type.
PlatformQueuePriorityType FwQueuePriorityType
PlatformIndexType FwIndexType
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
@ WARNING_HI
A serious but recoverable event.
@ ACTIVITY_HI
Important informational events.
void init()
Object initializer.
const char * toChar() const
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Buffer &fwBuffer)
Invoke a port interface.
void init()
Initialization function.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Invoke a port interface.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::Time &time)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Initialization function.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Os::Queue m_queue
queue object for active component
@ MSG_DISPATCH_OK
Dispatch was normal.
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
NATIVE_UINT_TYPE SizeType
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
virtual const CHAR * toChar() const =0
void format(const CHAR *formatString,...)
write formatted string to buffer
virtual SerializeStatus serialize(SerializeBufferBase &buffer) const
serialization function
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
@ BLOCKING
Message will block until space is available.
@ NONBLOCKING
Message will return with status when space is unavailable.
Status
status returned from the queue send function
@ OP_OK
message sent/received okay
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void log_WARNING_HI_DecodeError(I32 status)
@ EVENTID_INVALIDRECEIVEMODE_THROTTLE
Throttle reset count for InvalidReceiveMode.
@ EVENTID_PACKETDUPLICATE_THROTTLE
Throttle reset count for PacketDuplicate.
@ EVENTID_PACKETOUTOFBOUNDS_THROTTLE
Throttle reset count for PacketOutOfBounds.
@ EVENTID_FILEWRITEERROR_THROTTLE
Throttle reset count for FileWriteError.
@ EVENTID_PACKETOUTOFORDER_THROTTLE
Throttle reset count for PacketOutOfOrder.
void log_ACTIVITY_HI_UplinkCanceled()
void log_WARNING_HI_FileWriteError(const Fw::StringBase &fileName)
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void log_WARNING_HI_FileWriteError_ThrottleClear()
Reset throttle value for FileWriteError.
FileUplinkComponentBase(const char *compName="")
Construct FileUplinkComponentBase object.
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName)
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
FwIndexType getNum_eventOut_OutputPorts() const
void log_WARNING_HI_PacketDuplicate_ThrottleClear()
Reset throttle value for PacketDuplicate.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
void log_WARNING_HI_PacketOutOfOrder_ThrottleClear()
Reset throttle value for PacketOutOfOrder.
FwIndexType getNum_bufferSendOut_OutputPorts() const
FwIndexType getNum_pingIn_InputPorts() const
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
void log_WARNING_HI_PacketDuplicate(U32 packetIndex)
void tlmWrite_Warnings(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual ~FileUplinkComponentBase()
Destroy FileUplinkComponentBase object.
void log_WARNING_HI_PacketOutOfBounds(U32 packetIndex, const Fw::StringBase &fileName)
void tlmWrite_PacketsReceived(U32 arg, Fw::Time _tlmTime=Fw::Time())
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_PacketOutOfBounds_ThrottleClear()
Reset throttle value for PacketOutOfBounds.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
void tlmWrite_FilesReceived(U32 arg, Fw::Time _tlmTime=Fw::Time())
void log_WARNING_HI_BadChecksum(const Fw::StringBase &fileName, U32 computed, U32 read)
FwIndexType getNum_tlmOut_OutputPorts() const
@ CHANNELID_FILESRECEIVED
Channel ID for FilesReceived.
@ CHANNELID_WARNINGS
Channel ID for Warnings.
@ CHANNELID_PACKETSRECEIVED
Channel ID for PacketsReceived.
FwIndexType getNum_timeCaller_OutputPorts() const
void bufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
@ EVENTID_UPLINKCANCELED
The File Uplink component received a CANCEL packet.
@ EVENTID_PACKETDUPLICATE
The File Uplink component encountered a duplicate packet during file receipt.
@ EVENTID_FILEOPENERROR
An error occurred opening a file.
@ EVENTID_FILEWRITEERROR
An error occurred writing to a file.
@ EVENTID_FILERECEIVED
The File Uplink component successfully received a file.
@ EVENTID_BADCHECKSUM
During receipt of a file, the computed checksum value did not match the stored value.
@ EVENTID_INVALIDRECEIVEMODE
The File Uplink component received a packet with a type that was invalid for the current receive mode...
@ EVENTID_PACKETOUTOFORDER
The File Uplink component encountered an out-of-order packet during file receipt.
@ EVENTID_DECODEERROR
Error decoding file packet.
@ EVENTID_PACKETOUTOFBOUNDS
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
FwIndexType getNum_bufferSendIn_InputPorts() const
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
void log_WARNING_HI_InvalidReceiveMode_ThrottleClear()
Reset throttle value for InvalidReceiveMode.
void log_ACTIVITY_HI_FileReceived(const Fw::StringBase &fileName)
void set_bufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
FwIndexType getNum_pingOut_OutputPorts() const
void log_WARNING_HI_InvalidReceiveMode(U32 packetType, U32 mode)
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void invoke(U32 key)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputPingPort *callPort)
Register an input port.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
@ OP_OK
Operation succeeded.