122 lines
3.5 KiB
C++
122 lines
3.5 KiB
C++
#ifndef CORRECTION_TOOL_H
|
|
#define CORRECTION_TOOL_H
|
|
#include <QDateTime>
|
|
#include <QtDebug>
|
|
#include "qfiledialog.h"
|
|
#include "GScan.h"
|
|
#include "GScanO1003399.h"
|
|
#include "GScanO200.h"
|
|
#include "GScanO400.h"
|
|
#include "IGScanManager.h"
|
|
#include "JsonConfig.h"
|
|
|
|
struct SpeedModeinfo
|
|
{
|
|
std::string modename;
|
|
int speedmode;
|
|
int comboxindex;
|
|
ScannerSerial m_mode;
|
|
};
|
|
struct SP_TYPE{
|
|
std::string name;
|
|
int colorsp;
|
|
int graysp;
|
|
};
|
|
|
|
static std::vector<SP_TYPE> SP_139{
|
|
{"G139_70ppm",0x42d,0xc88},
|
|
{"G139_80ppm",0x37f,0xa7f},
|
|
{"G139_90ppm",0x2b6,0x822},
|
|
{"G139_110ppm",0x24e,0x706},
|
|
};
|
|
|
|
static std::vector<SpeedModeinfo> SpeedModeMap{
|
|
{"G139_70ppm",70,0,G10039Serial},
|
|
{"G139_80ppm",80,1,G10039Serial},
|
|
{"G139_90ppm",90,2,G10039Serial},
|
|
{"G139_110ppm",110,3,G10039Serial},
|
|
{"G239_100ppm",100,0,G20039Serial},
|
|
{"G239_110ppm",110,1,G20039Serial},
|
|
{"G239_120ppm",120,2,G20039Serial},
|
|
{"G239_130ppm",130,3,G20039Serial},
|
|
{"G300_40ppm",1,0,G300Serial},
|
|
{"G300_50ppm",2,1,G300Serial},
|
|
{"G300_60ppm",3,2,G300Serial},
|
|
{"G300_70ppm",4,3,G300Serial},
|
|
{"G400_40ppm",1,0,G400Serial},
|
|
{"G400_50ppm",2,1,G400Serial},
|
|
{"G400_60ppm",3,2,G400Serial},
|
|
{"G400_70ppm",4,3,G400Serial},
|
|
{"G400_80ppm",5,4,G400Serial},
|
|
{"G100_70ppm",0,0,G100Serial},
|
|
{"G100_80ppm",1,1,G100Serial},
|
|
{"G100_90ppm",2,2,G100Serial},
|
|
{"G200_100ppm",0,0,G200Serial},
|
|
{"G200_120ppm",1,1,G200Serial},
|
|
{"G200_130ppm",2,2,G200Serial},
|
|
};
|
|
|
|
class Correction_Tool
|
|
{
|
|
public:
|
|
Correction_Tool();
|
|
std::vector<deviceinfo> getonlinedevice();
|
|
bool open(std::string scannername);
|
|
bool open(int vid,int pid);
|
|
void close();
|
|
bool is_connect();
|
|
std::string GetFWVersion();
|
|
void SetFWVersion();
|
|
std::string GetSerialNum();
|
|
void SetSerialNum(std::string serial);
|
|
std::string GetMBVersion();
|
|
CaptureParams GetFlatData();
|
|
void reset();
|
|
void Stop_scan();
|
|
void SetRatio(int tyepe, int ration);
|
|
void GetRatio(int type, int& ratio);
|
|
void GetOrSetRoller(int& value,int type);
|
|
void GetExpose(int& Aside, int& Bside);
|
|
void SetExpose(int aside, int bside);
|
|
void Reboot();
|
|
void config_params(GScanCap& params);
|
|
void GetSptime(int type, int& time);
|
|
void SetSptime(int type, int time);
|
|
|
|
void GetSleepTime(int& sleeptime);
|
|
void SetSleepTime(int sleeptime);
|
|
|
|
void GetSpeedMode(int& speedmode,bool getorset=false);
|
|
void Scanner_StartScan(int count);
|
|
void SetPath(std::string path);
|
|
bool Updata(std::string filename, std::function<void(long, long)> func);
|
|
void SendFlatData(CorrectParam param,int type);
|
|
int GetImg(std::string & path,int index);
|
|
void Setformat(std::string format);
|
|
void StartFlat(bool iscolor);
|
|
std::string GetOrSetbright(bool is_get,bool is_color,uint value);
|
|
std::string GetSysInfo();
|
|
std::string getip();
|
|
std::string getkernelversion();
|
|
QImage creatqimage(std::vector<uchar>& data,int width,int height,int bpp);
|
|
void usbvidpid(int & value,bool is_get);
|
|
void setcap(GScanCap cap){m_cap =cap;}
|
|
void setflatcallback(std::function<void(std::string str,bool flag)> func){
|
|
if(is_connect())
|
|
m_scanner->SetFlatCallback(func);
|
|
}
|
|
ScannerSerial getscannerserial(){
|
|
if(m_scanner.get())
|
|
return m_scanner->getserial();
|
|
return ScannerSerial::G100Serial;
|
|
}
|
|
private:
|
|
std::shared_ptr<IGScan> m_scanner;
|
|
std::shared_ptr<IGScanManager> m_scanmanager;
|
|
GScanCap m_cap;
|
|
std::string imgpath;
|
|
std::string imgformat;
|
|
};
|
|
|
|
#endif // CORRECTION_TOOL_H
|