2020-03-11 01:58:06 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
#include "GScan.h"
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
|
|
typedef struct tag_USBCB {
|
|
|
|
|
UINT32 u32_CMD;
|
|
|
|
|
UINT32 u32_Data;
|
|
|
|
|
UINT32 u32_Count;
|
|
|
|
|
}USBCB, * PUSBCB;
|
|
|
|
|
|
|
|
|
|
|
2020-06-20 03:13:18 +00:00
|
|
|
|
class GScanO200 : public IScanner
|
2020-03-11 01:58:06 +00:00
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GScanO200();
|
|
|
|
|
virtual ~GScanO200();
|
|
|
|
|
// ͨ<><CDA8> IGScan <20>̳<EFBFBD>
|
|
|
|
|
virtual void open(int vid, int pid) override;
|
2020-08-31 07:46:14 +00:00
|
|
|
|
virtual void regist_deviceevent_callback(deviceevent_callback callback, void* usrdata = 0) override;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
virtual int aquire_bmpdata(std::vector<unsigned char>& bmpdata) override;
|
|
|
|
|
virtual BOOL IsConnected() override;
|
|
|
|
|
virtual std::string GetFWVersion() override;
|
|
|
|
|
virtual std::string GetSerialNum() override;
|
|
|
|
|
virtual bool is_scan() override;
|
|
|
|
|
virtual BOOL Get_Scanner_PaperOn() override;
|
|
|
|
|
virtual void config_params(GScanCap& params) override;
|
|
|
|
|
virtual void Scanner_StartScan(UINT16 count) override;
|
|
|
|
|
virtual void Stop_scan() override;
|
|
|
|
|
virtual void ResetScanner() override;
|
|
|
|
|
virtual bool Get_IsImageQueueEmpty() override;
|
|
|
|
|
virtual void reset() override;
|
|
|
|
|
virtual void setdecodepixtype(int twpixtype) override;
|
|
|
|
|
virtual UINT32 get_ErrorCode() override;
|
|
|
|
|
virtual void Set_ErrorCode(UINT32 value) override;
|
|
|
|
|
virtual int get_scanned_num() override;
|
2020-05-16 01:50:34 +00:00
|
|
|
|
virtual void clear_hwerror() override;
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
private:
|
|
|
|
|
static void usbhotplug_callback(bool isleft, void* userdata);
|
|
|
|
|
void usbhotplug(bool isleft);
|
2020-05-16 01:50:34 +00:00
|
|
|
|
void updateHVRatio();
|
2020-03-11 01:58:06 +00:00
|
|
|
|
void usbmain();
|
|
|
|
|
USBCB Get_Scanner_Status();
|
|
|
|
|
std::shared_ptr<std::vector<char>> Get_Img_Data(int buffersize);
|
|
|
|
|
void Pop_Image();
|
2020-05-16 01:50:34 +00:00
|
|
|
|
private:
|
|
|
|
|
bool m_bread_fixed_ratio_fromDSP;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
std::shared_ptr<IUsb> m_usb;
|
|
|
|
|
std::unique_ptr<thread> m_threadUsb;
|
2020-05-16 01:50:34 +00:00
|
|
|
|
GScanCap gcap;
|
2020-08-31 07:46:14 +00:00
|
|
|
|
void* huagods;
|
|
|
|
|
deviceevent_callback dev_callback;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
};
|
|
|
|
|
|