13 #ifndef Svc_FileUplink_HPP 14 #define Svc_FileUplink_HPP 31 typedef enum { START, DATA } ReceiveMode;
59 void getChecksum(::
CFDP::Checksum& checksum) { checksum = this->m_checksum; }
68 FilesReceived(
FileUplink*
const fileUplink) : m_received_files_counter(0), m_fileUplink(fileUplink) {}
73 ++this->m_received_files_counter;
74 this->m_fileUplink->tlmWrite_FilesReceived(m_received_files_counter);
79 U32 m_received_files_counter;
86 class PacketsReceived {
91 PacketsReceived(
FileUplink*
const fileUplink) : m_received_packet_count(0), m_fileUplink(fileUplink) {}
95 void packetReceived() {
96 ++this->m_received_packet_count;
97 this->m_fileUplink->tlmWrite_PacketsReceived(m_received_packet_count);
102 U32 m_received_packet_count;
114 Warnings(
FileUplink*
const fileUplink) : m_warning_count(0), m_fileUplink(fileUplink) {}
124 void packetOutOfBounds(
const U32 sequenceIndex,
Fw::LogStringArg& fileName);
127 void packetOutOfOrder(
const U32 sequenceIndex,
const U32 lastSequenceIndex);
130 void packetDuplicate(
const U32 sequenceIndex);
136 void badChecksum(
const U32 computed,
const U32 read);
141 ++this->m_warning_count;
142 this->m_fileUplink->tlmWrite_Warnings(m_warning_count);
174 void bufferSendIn_handler(
const FwIndexType portNum,
199 void handleCancelPacket();
202 void checkSequenceIndex(
const U32 sequenceIndex);
205 bool checkDuplicatedPacket(
const U32 sequenceIndex);
211 void goToStartMode();
222 ReceiveMode m_receiveMode;
225 U32 m_lastSequenceIndex;
234 FilesReceived m_filesReceived;
237 PacketsReceived m_packetsReceived;
The type of a data packet.
Class representing a 32-bit checksum as mandated by the CCSDS File Delivery Protocol.
friend class FileUplinkTester
The type of a start packet.
uint8_t U8
8-bit unsigned integer
FileUplink(const char *const name)
Auto-generated base for FileUplink component.
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
The type of an end packet.