QT port
This commit is contained in:
57
YmodemFileReceive.h
Normal file
57
YmodemFileReceive.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#ifndef YMODEMFILERECEIVE_H
|
||||
#define YMODEMFILERECEIVE_H
|
||||
|
||||
#include "TimeoutSerial.h"
|
||||
#include "Ymodem.h"
|
||||
#include <boost/signals2.hpp>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class YmodemFileReceive : public Ymodem
|
||||
{
|
||||
|
||||
public:
|
||||
explicit YmodemFileReceive();
|
||||
~YmodemFileReceive();
|
||||
|
||||
void setFilePath(const string &path);
|
||||
|
||||
void setSerialPort(TimeoutSerial *port);
|
||||
TimeoutSerial *getSerialPort();
|
||||
|
||||
bool startReceive();
|
||||
void stopReceive();
|
||||
|
||||
int getReceiveProgress();
|
||||
Status getReceiveStatus();
|
||||
|
||||
boost::signals2::signal<void (int)> receiveProgress;
|
||||
boost::signals2::signal<void (YmodemFileReceive::Status status)> receiveStatus;
|
||||
/*
|
||||
private slots:
|
||||
void readTimeOut();
|
||||
void writeTimeOut();
|
||||
*/
|
||||
private:
|
||||
Code callback(Status status, uint8_t *buff, uint32_t *len);
|
||||
|
||||
uint32_t read(uint8_t *buff, uint32_t len);
|
||||
uint32_t write(uint8_t *buff, uint32_t len);
|
||||
|
||||
ofstream file;
|
||||
QTimer *readTimer;
|
||||
QTimer *writeTimer;
|
||||
TimeoutSerial *serialPort;
|
||||
|
||||
int progress;
|
||||
Status status;
|
||||
string filePath;
|
||||
string fileName;
|
||||
uint64_t fileSize;
|
||||
uint64_t fileCount;
|
||||
};
|
||||
|
||||
#endif // YMODEMFILERECEIVE_H
|
||||
Reference in New Issue
Block a user