mirror of http://192.168.1.51:8099/lmh188/twain3
141 lines
3.1 KiB
C++
141 lines
3.1 KiB
C++
#pragma once
|
||
#include <memory>
|
||
#include <vector>
|
||
#include <string>
|
||
#include <queue>
|
||
#include <time.h>
|
||
#include <mutex>
|
||
#include <thread>
|
||
#include <opencv2/opencv.hpp>
|
||
#ifdef WIN32
|
||
#include <Windows.h>
|
||
#include <WinUser.h>
|
||
#endif
|
||
#include "callbackdefines.h"
|
||
#include "common.h"
|
||
#include "Global.h"
|
||
class CImageApply;
|
||
class IUsb;
|
||
class ImageMatQueue;
|
||
|
||
class IGScan
|
||
{
|
||
public:
|
||
IGScan();
|
||
virtual ~IGScan(){}
|
||
|
||
|
||
virtual void open(int vid, int pid) = 0;
|
||
virtual int open(int vid) = 0;
|
||
virtual bool close() = 0;//add 2020.3.11
|
||
virtual bool is_open() = 0;//add 2020.3.11
|
||
virtual void setusbreport_callback(usbreport_callback callback=0,void* usrdata=0)=0;
|
||
virtual int get_image_front_info(ImageInfo* info) = 0;
|
||
virtual int aquire_image(cv::Mat& mat, int& bppinfo) = 0;
|
||
virtual void clear_hwerror() = 0;
|
||
virtual bool IsConnected() = 0;
|
||
virtual std::string GetFWVersion(int mode) = 0;
|
||
virtual std::string GetSerialNum(int mode) = 0;
|
||
virtual bool is_scan() = 0;
|
||
virtual bool Get_Scanner_PaperOn() = 0;
|
||
virtual void config_params(GScanCap& params,int mode) = 0;
|
||
virtual void Scanner_StartScan(UINT32 count,int mode) = 0;
|
||
virtual void Stop_scan() = 0;
|
||
virtual void ResetScanner() =0;
|
||
virtual bool Get_IsImageQueueEmpty() = 0;
|
||
virtual void reset() = 0;
|
||
|
||
virtual void setdecodepixtype(int twpixtype)= 0;
|
||
virtual UINT32 get_ErrorCode() = 0;
|
||
virtual void Set_ErrorCode(UINT32 value) = 0;
|
||
virtual int get_scanned_num() = 0;
|
||
|
||
virtual int get_roller_num() = 0;
|
||
virtual void clr_roller_num() = 0;
|
||
virtual int get_sleep_time() = 0;
|
||
virtual void set_sleep_time(int time) =0;
|
||
virtual bool clr_hardware_cache() = 0;
|
||
void setmode(int mode);
|
||
volatile UINT32 Error_Code;
|
||
volatile int devState;
|
||
std::shared_ptr<ImageMatQueue> m_pImages;
|
||
|
||
std::mutex m_Locker;
|
||
std::mutex m_imgLocker;
|
||
std::string fwVersion;
|
||
std::string SerialNum;
|
||
int pixType;
|
||
};
|
||
|
||
|
||
//
|
||
//class GScan
|
||
//{
|
||
//public:
|
||
// GScan();
|
||
// virtual ~GScan();
|
||
//
|
||
//protected:
|
||
//
|
||
//};
|
||
|
||
void DoEvents();
|
||
|
||
typedef enum tagUsbSupported
|
||
{
|
||
/*ֹͣɨ<D6B9><C9A8>**/
|
||
SCAN_STOP = -1,
|
||
/*<2A>쳣******/
|
||
HAVE_ERROR = -2,
|
||
/*<2A><><EFBFBD><EFBFBD>״̬****/
|
||
NORMAL = 0,
|
||
/*<2A><><EFBFBD><EFBFBD>***/
|
||
OPEN_COVER = 1,
|
||
/*<2A><>ֽ****/
|
||
NO_FEED = 2,
|
||
/*<2A><>ֽʧ<D6BD><CAA7>****/
|
||
FEED_IN_ERROR = 4,
|
||
/**<2A><>ֽ*****/
|
||
PAPER_JAM = 8,
|
||
/**<2A><><EFBFBD>˫<E2B5BD><CBAB>**/
|
||
DETECT_DOUBLE_FEED = 16,
|
||
/**<2A><><EFBFBD><EFBFBD><E2B5BD><EFBFBD>鶤**/
|
||
DETECT_STAPLE = 32,
|
||
/*ֽ<><D6BD><EFBFBD><EFBFBD>б******/
|
||
PAPER_SKEW = 64,
|
||
/**<2A>Զ<EFBFBD>ģʽ****/
|
||
AUTO_SCAN_MODE = 65,
|
||
/**<2A>ֶ<EFBFBD>ģʽ****/
|
||
MANAUL_SCAN_MODE = 66,
|
||
/**<2A><><EFBFBD><EFBFBD>ģʽ****/
|
||
COUNT_MODE = 67,
|
||
/*Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*****/
|
||
HARDWARE_ERROR = 68,
|
||
/*FPGA<47><41><EFBFBD><EFBFBD>***/
|
||
FPGA_ERROR = 68,
|
||
/*<2A><>ʼ******/
|
||
START_SCAN = 69,
|
||
/**ֹͣ*****/
|
||
STOP_SCAN = 70,
|
||
/**<2A><>ͼ*****/
|
||
HAVE_IMAGE = 71,
|
||
/*<2A><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***/
|
||
UPDATE_SCAN_PARAMETER = 72,
|
||
/*PC<50><43>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***/
|
||
PC_SCAN_BUSY_or_ERROR = 73,
|
||
/*PC<50><43>æ<EFBFBD><C3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***/
|
||
DOG_EAR = 74,
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
SIZE_ERROR = 75,
|
||
/*USB<53><42><EFBFBD>ӶϿ<D3B6>***/
|
||
DEVICE_OFF_LINE = 200,
|
||
/*<2A>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ֹͣ***/
|
||
USER_STOP = 201
|
||
} UsbSupported;
|
||
|
||
enum tagDevState
|
||
{
|
||
DEV_STOP = -1,
|
||
DEV_RUNNING,
|
||
DEV_WRONG
|
||
}; |