7 #ifndef Svc_FileUplinkComponentAc_HPP 8 #define Svc_FileUplinkComponentAc_HPP 18 #if !FW_DIRECT_PORT_CALLS 21 #if !FW_DIRECT_PORT_CALLS 122 #if !FW_DIRECT_PORT_CALLS 146 #if !FW_DIRECT_PORT_CALLS 154 #if FW_ENABLE_TEXT_LOGGING == 1 157 void set_LogText_OutputPort(
184 #if !FW_DIRECT_PORT_CALLS 212 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 220 #if FW_ENABLE_TEXT_LOGGING == 1 223 void set_LogText_OutputPort(
225 Fw::InputSerializePort* port
233 Fw::InputSerializePort* port
239 Fw::InputSerializePort* port
245 Fw::InputSerializePort* port
250 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 261 Fw::InputSerializePort* port
267 Fw::InputSerializePort* port
273 Fw::InputSerializePort* port
286 const char* compName =
"" 318 #if FW_ENABLE_TEXT_LOGGING == 1 323 static constexpr
FwIndexType getNum_LogText_OutputPorts() {
383 #if FW_ENABLE_TEXT_LOGGING == 1 388 bool isConnected_LogText_OutputPort(
460 #if FW_DIRECT_PORT_CALLS 718 static void m_p_bufferSendIn_in(
725 static void m_p_pingIn_in(
737 #if FW_ENABLE_TEXT_LOGGING 773 #if !FW_DIRECT_PORT_CALLS 789 #if !FW_DIRECT_PORT_CALLS 797 #if FW_ENABLE_TEXT_LOGGING == 1 815 #if !FW_DIRECT_PORT_CALLS 841 std::atomic<FwIndexType> m_FileWriteErrorThrottle;
844 std::atomic<FwIndexType> m_InvalidReceiveModeThrottle;
847 std::atomic<FwIndexType> m_PacketOutOfBoundsThrottle;
850 std::atomic<FwIndexType> m_PacketOutOfOrderThrottle;
853 std::atomic<FwIndexType> m_PacketDuplicateThrottle;
void tlmWrite_FilesReceived(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
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].
PlatformSizeType FwSizeType
void log_ACTIVITY_HI_UplinkCanceled() const
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.
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 FwIndexType getNum_pingIn_InputPorts()
The File Uplink component received a packet with a type that was invalid for the current receive mode...
Throttle reset count for PacketDuplicate.
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.
void init()
Object initializer.
void log_WARNING_HI_DecodeError(I32 status) const
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
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.
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)
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
static constexpr FwIndexType getNum_eventOut_OutputPorts()
void log_WARNING_HI_PacketDuplicate_ThrottleClear()
Reset throttle value for PacketDuplicate.
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
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 log_WARNING_HI_FileWriteError_ThrottleClear()
Reset throttle value for FileWriteError.
friend class FileUplinkTesterBase
Friend class tester to support autocoded test harness.
void log_WARNING_HI_FileOpenError(const Fw::StringBase &fileName) const
Enum representing event severity.
Channel ID for PacketsReceived.
bool isConnected_bufferSendOut_OutputPort(FwIndexType portNum) const
virtual ~FileUplinkComponentBase()
Destroy FileUplinkComponentBase object.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
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)
Auto-generated base for FileUplink component.
void log_WARNING_HI_InvalidPacketReceived(FwPacketDescriptorType packetType) const
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.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
friend class FileUplinkTester
Friend class tester implementation to support white-box testing.
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].
An error occurred writing to a file.
The File Uplink component encountered a duplicate packet during file receipt.
The File Uplink component successfully received a file.
RateGroupDivider component implementation.
Channel ID for FilesReceivedFailed.
Throttle reset count for FileWriteError.
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.