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
|
|||
|
};
|