新增清除历史张数,平场校正颜色dpi设置
This commit is contained in:
parent
542eb6e18c
commit
583b64dac2
|
@ -3279,14 +3279,12 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
|||
}
|
||||
else if (code == IO_CTRL_CODE_SET_CLEAR_ROLLER_COUNT)
|
||||
{
|
||||
|
||||
int val = 0, ret = get_roller_num(val);
|
||||
|
||||
if (len)
|
||||
*len = val;
|
||||
|
||||
return set_clear_roller_num();
|
||||
}
|
||||
else if (code == IO_CTRL_CODE_SET_CLEAR_HISTORY_COUNT)
|
||||
{
|
||||
return set_clear_history_num();
|
||||
}
|
||||
else if (code == IO_CTRL_CODE_GET_FINAL_IMAGE_FORMAT)
|
||||
{
|
||||
SANE_FinalImgFormat* fmt = (SANE_FinalImgFormat*)data;
|
||||
|
@ -3626,7 +3624,7 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
|||
else if (code == IO_CTRL_CODE_SET_AUTO_FALT)
|
||||
{
|
||||
is_auto_falt = true;
|
||||
return set_auto_flat();
|
||||
return set_auto_flat(*((int*)data));
|
||||
}
|
||||
else if (code == IO_CTRL_CODE_SET_COLOR)
|
||||
{
|
||||
|
@ -3691,6 +3689,10 @@ int hg_scanner::set_clear_roller_num(void)
|
|||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner::set_clear_history_num(void)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner::get_history_scan_count(int &num)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -3765,7 +3767,7 @@ int hg_scanner::get_devs_distortion_check_val(int& data)
|
|||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner::set_auto_flat(void)
|
||||
int hg_scanner::set_auto_flat(int data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
|
|
@ -481,6 +481,7 @@ public:
|
|||
|
||||
virtual int set_auto_color_type(void); //设置自动匹配颜色模式 (基类实现)
|
||||
virtual int set_clear_roller_num(void) = 0; //清除滚轴计数
|
||||
virtual int set_clear_history_num(void) = 0; //清除历史张数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
|
@ -509,9 +510,11 @@ public:
|
|||
virtual int set_distortion_image(bool type); //设置畸变校正图 /*/ 基类处理
|
||||
virtual int get_distortion_check_val(int &val); //获取畸变校正指 /*/ 基类处理
|
||||
virtual int set_distortion_check_val(int data) = 0; //设置畸变矫正值 int to float;
|
||||
virtual int get_devs_distortion_check_val(int& data); //获取设备畸变值 float to int;
|
||||
virtual int get_devs_distortion_check_val(int& data); //获取设备畸变值 float to int;
|
||||
|
||||
virtual int set_auto_flat(void) = 0; //设置自动平场校正
|
||||
virtual int set_auto_flat(int data) = 0; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
};
|
||||
|
||||
#ifdef UOS
|
||||
|
|
|
@ -789,7 +789,11 @@ int hg_scanner_200::set_leaflet_scan(void)
|
|||
|
||||
int hg_scanner_200::set_clear_roller_num(void)
|
||||
{
|
||||
return 0;
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner_200::set_clear_history_num(void)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner_200::get_device_code(void)
|
||||
{
|
||||
|
@ -929,9 +933,9 @@ int hg_scanner_200::set_distortion_check_val(int data)
|
|||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
||||
int hg_scanner_200::set_auto_flat(void)
|
||||
int hg_scanner_200::set_auto_flat(int data)
|
||||
{
|
||||
USBCB usbcb = { setting3288dsp::START_FLAT,0,0 };
|
||||
USBCB usbcb = { setting3288dsp::START_FLAT,data,0 };
|
||||
int len = sizeof(usbcb);
|
||||
int ret = writeusb(usbcb);
|
||||
|
||||
|
|
|
@ -79,6 +79,7 @@ public:
|
|||
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
virtual int set_clear_history_num(void) override; //清除历史张数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
|
@ -102,6 +103,8 @@ public:
|
|||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*/
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ 不支持
|
||||
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ 不支持
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(void); //设置自动平场校正
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(int data); //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
};
|
||||
|
|
|
@ -293,10 +293,9 @@ int hg_scanner_239::get_dpi_color_check_val(int &data)
|
|||
int ret = read_register(ratio, &data);
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_239::set_auto_flat(void)
|
||||
int hg_scanner_239::set_auto_flat(int data)
|
||||
{
|
||||
int color = 0,
|
||||
ret = SCANNER_ERR_OK;
|
||||
int ret = SCANNER_ERR_OK;
|
||||
auto fw = get_firmware_version();
|
||||
if (fw.empty())
|
||||
{
|
||||
|
@ -304,7 +303,7 @@ int hg_scanner_239::set_auto_flat(void)
|
|||
}
|
||||
if ((fw[5] == 'A' && atoi(fw.substr(6, 4).c_str()) <= 9999))
|
||||
{
|
||||
color = 0 == 1 ? 1 : 0; //暂时没有用。
|
||||
data = 0 == 1 ? 1 : 0; //暂时没有用。
|
||||
}
|
||||
if (!wait_usb_.is_waiting())
|
||||
{
|
||||
|
@ -312,7 +311,7 @@ int hg_scanner_239::set_auto_flat(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
ret = write_register(setting3399::SC_AUTOCORRECT, color);
|
||||
ret = write_register(setting3399::SC_AUTOCORRECT, data);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
return ret;
|
||||
|
@ -1478,6 +1477,13 @@ int hg_scanner_239::set_clear_roller_num(void)
|
|||
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_239::set_clear_history_num(void)
|
||||
{
|
||||
int val = 0,
|
||||
ret = read_register(setting3399::SR_CLR_SCANN_NUM, &val);
|
||||
|
||||
return ret;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int hg_scanner_239::set_leaflet_scan(void)
|
||||
{
|
||||
|
|
|
@ -97,6 +97,7 @@ public:
|
|||
virtual int set_leaflet_scan(void) override; //单张扫描
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
virtual int set_clear_history_num(void) override; //清除历史张数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
|
@ -105,7 +106,7 @@ public:
|
|||
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获取设备是否休眠当中 /*/ type : 0休眠 1唤醒状态*/
|
||||
virtual int get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
|
||||
virtual int set_notify_sleep(void) override; //唤醒设备
|
||||
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
|
||||
|
@ -124,6 +125,8 @@ public:
|
|||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:100,110,120
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正值
|
||||
virtual int get_dpi_color_check_val(int &data); //获取畸变矫正
|
||||
virtual int set_auto_flat(void); //设置自动平场校正
|
||||
virtual int set_auto_flat(int data); //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -769,6 +769,11 @@ int hg_scanner_300::set_clear_roller_num(void)
|
|||
USBCB usbcb = { setting3288dsp::CLR_ROLLER_NUM,0,4 };
|
||||
return writeusb(usbcb);
|
||||
}
|
||||
int hg_scanner_300::set_clear_history_num(void)
|
||||
{
|
||||
USBCB usbcb = { setting3288dsp::CLR_SCAN_NUM,0,4 };
|
||||
return writeusb(usbcb);
|
||||
}
|
||||
int hg_scanner_300::get_device_code(void)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -998,9 +1003,13 @@ int hg_scanner_300::get_devs_distortion_check_val(int& data)
|
|||
VLOG_MINI_3(LOG_LEVEL_WARNING, "get_distortion_check_val dpi is:%d,protocol_dpi = %d get_distortion_check_val(%f)\n", resolution_, protocol_dpi, f);
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_300::set_auto_flat(void)
|
||||
int hg_scanner_300::set_auto_flat(int data)
|
||||
{
|
||||
USBCB usbcb = { setting3288dsp::START_FLAT,0,0 };
|
||||
if (data < 0 && data >6)
|
||||
{
|
||||
data = 0;
|
||||
}
|
||||
USBCB usbcb = { setting3288dsp::START_FLAT,data,0 };
|
||||
int len = sizeof(usbcb);
|
||||
int ret = writeusb(usbcb);
|
||||
|
||||
|
|
|
@ -71,8 +71,8 @@ public:
|
|||
virtual std::string get_serial_num(void)override;
|
||||
virtual std::string get_ip(void)override;
|
||||
|
||||
virtual int set_serial_num(string str) override; //设置序列号
|
||||
virtual int set_vid_pid(int data) override; //设置vidpid
|
||||
virtual int set_serial_num(string str) override; //设置序列号
|
||||
virtual int set_vid_pid(int data) override; //设置vidpid
|
||||
virtual int get_vid_pid(int& data)override; //获取vidpid
|
||||
|
||||
/////////////////成功返回:SCANNER_ERR_OK /////////////
|
||||
|
@ -81,6 +81,7 @@ public:
|
|||
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
virtual int set_clear_history_num(void) override; //清除历史张数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
|
@ -106,6 +107,7 @@ public:
|
|||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:40,50,60,70
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int get_devs_distortion_check_val(int& data)override;//获取设备畸变值 float to int;
|
||||
virtual int set_auto_flat(void)override; //设置自动平场校正
|
||||
virtual int set_auto_flat(int data)override; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
};
|
||||
|
|
|
@ -1149,6 +1149,13 @@ int hg_scanner_302::set_clear_roller_num(void)
|
|||
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_302::set_clear_history_num(void)
|
||||
{
|
||||
int val = 0,
|
||||
ret = read_register(setting3399::SR_CLR_SCANN_NUM, &val);
|
||||
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_302::set_serial_num(string str)
|
||||
{
|
||||
int len = str.size(),
|
||||
|
@ -1304,7 +1311,7 @@ int hg_scanner_302::set_distortion_check_val(int data)
|
|||
|
||||
return write_register(retio, *(int*)&save_dpi_color_check_val);
|
||||
}
|
||||
int hg_scanner_302::set_auto_flat(void)
|
||||
int hg_scanner_302::set_auto_flat(int data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
|
|
@ -102,19 +102,20 @@ public:
|
|||
virtual int set_leaflet_scan(void) override; //单张扫描
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
virtual int set_clear_history_num(void) override; //清除历史张数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
|
||||
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
|
||||
|
||||
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获取设备是否休眠当中 /*/ type : 0休眠 1唤醒状态*/
|
||||
virtual int get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
|
||||
virtual int set_notify_sleep(void) override; //唤醒设备
|
||||
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
|
||||
virtual int set_devreboot(int data) override; //设置设备重启
|
||||
virtual int set_devreboot(int data) override; //设置设备重启
|
||||
virtual int set_devshtudown() override; //设置设备关机
|
||||
virtual int set_scan_islock(SANE_Bool type) override; //设置设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
virtual int get_scan_islock(SANE_Bool& type) override; //获取设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
|
@ -125,6 +126,8 @@ public:
|
|||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*/
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70
|
||||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:40,50,60,70
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(void) override; //设置自动平场校正
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(int data) override; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
};
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,112 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
// hg_scanner is the base class of kinds of scanners
|
||||
//
|
||||
// created on 2022-01-30
|
||||
//
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
#include "hg_scanner.h"
|
||||
#include "../wrapper/hg_log.h"
|
||||
#include "PaperSize.h"
|
||||
|
||||
|
||||
//#ifdef OEM_HANWANG
|
||||
//#define hg_scanner_400 hw_scanner_400
|
||||
//#elif defined(OEM_LISICHENG)
|
||||
//#define hg_scanner_400 lsc_scanner_400
|
||||
//#endif
|
||||
|
||||
class hg_scanner_400 : public hg_scanner
|
||||
{
|
||||
protected:
|
||||
virtual int on_scanner_closing(bool force) override;
|
||||
virtual void thread_handle_usb_read(void) override;
|
||||
protected:
|
||||
virtual int on_color_mode_changed(int& color_mode) override; //颜色切换
|
||||
virtual int on_paper_changed(int& paper) override; //纸张大小设置
|
||||
virtual int on_paper_check_changed(bool& check) override; //尺寸检测
|
||||
virtual int on_resolution_changed(int& dpi) override; //分辨率设置
|
||||
virtual int on_ultrasonic_check_changed(bool& check) override; //设置超声波检测
|
||||
virtual int on_staple_check_changed(bool& check) override; //设置订书针检测
|
||||
virtual int on_skew_check_changed(bool& check) override; //设置歪斜检测
|
||||
virtual int on_skew_check_level_changed(int& check) override; //设置歪斜检测强度
|
||||
virtual int on_get_feedmode(int& feedmode) override; //获取分纸强度
|
||||
virtual int on_set_feedmode(int feedmode) override; //设置分纸强度
|
||||
virtual int on_pic_type(bool& pic)override; //照片模式或者文本模式
|
||||
virtual int on_pick_paper(bool autostrength)override; //自动分纸强度
|
||||
virtual int on_pick_paper_threshold(double threshold)override;
|
||||
virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫描
|
||||
virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取
|
||||
|
||||
|
||||
public:
|
||||
hg_scanner_400(const char* dev_name,int vid, usb_io* io);
|
||||
~hg_scanner_400();
|
||||
|
||||
public:
|
||||
virtual int start(void)override;
|
||||
virtual int stop(void)override;
|
||||
|
||||
private:
|
||||
int agreement(TwSS tw,int align);
|
||||
int initdevice();
|
||||
int writeusb(USBCB &usb);
|
||||
int readusb(USBCB &usb);
|
||||
int pop_image(void);
|
||||
int get_scanner_status(USBCB &usb);
|
||||
int get_img_data(std::shared_ptr<tiny_buffer> &imagedata);
|
||||
int writedown_device_configuration(bool type =false,setting_hardware::HGSCANCONF_3288 *d = NULL);
|
||||
void writedown_image_configuration(void);
|
||||
void printf_devconfig(setting_hardware::HGSCANCONF_3288 *d = NULL);
|
||||
|
||||
private:
|
||||
setting_hardware::HGSCANCONF_3288 dsp_config;
|
||||
Device::PaperSize papersize;
|
||||
|
||||
public:
|
||||
//////////////固定的硬件信息设置或获取//////////////
|
||||
virtual std::string get_firmware_version(void)override;
|
||||
virtual std::string get_serial_num(void)override;
|
||||
virtual std::string get_ip(void)override;
|
||||
|
||||
virtual int set_serial_num(string str) override; //设置序列号
|
||||
virtual int set_vid_pid(int data) override; //设置vidpid
|
||||
virtual int get_vid_pid(int& data)override; //获取vidpid
|
||||
|
||||
|
||||
/////////////////成功返回:SCANNER_ERR_OK /////////////
|
||||
/////////////////失败返回:IO错误码 /////////////
|
||||
virtual int set_leaflet_scan(void) override; //单张扫描
|
||||
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
|
||||
|
||||
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获取设备是否休眠当中 /*/ type : 0休眠 1唤醒状态*/
|
||||
virtual int get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
|
||||
virtual int set_notify_sleep(void) override; //唤醒设备
|
||||
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
|
||||
virtual int set_devreboot(int data) override; //设置设备重启
|
||||
virtual int set_devshtudown() override; //设置设备关机
|
||||
virtual int set_scan_islock(SANE_Bool type) override; //设置设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
virtual int get_scan_islock(SANE_Bool& type) override; //获取设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
virtual int set_scan_lock_check_val(string str) override; //获取设备是否锁定 /*/ str:校验码*/
|
||||
virtual int set_firmware_upgrade(std::string str) override; //固件升级 /*/ str:文件名路径*/
|
||||
virtual int set_clean_paper_road() override; //清理纸道
|
||||
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁,1 上锁。-1 未发现黑名单列表 -2列表没有信息*/
|
||||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70,80
|
||||
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,70,80
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(void); //设置自动平场校正
|
||||
};
|
File diff suppressed because one or more lines are too long
|
@ -1,130 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
// hg_scanner is the base class of kinds of scanners
|
||||
//
|
||||
// created on 2022-01-30
|
||||
//
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "hg_scanner.h"
|
||||
|
||||
//#ifdef OEM_HANWANG
|
||||
//#define hg_scanner_402 hw_scanner_402
|
||||
//#elif defined(OEM_LISICHENG)
|
||||
//#define hg_scanner_402 lsc_scanner_402
|
||||
//#endif
|
||||
|
||||
class hg_scanner_402 : public hg_scanner
|
||||
{
|
||||
//BlockingQueue<std::shared_ptr<std::vector<unsigned char>>> final_imgs_; // JPG ...
|
||||
// image_data final_imgs_; // JPG ..
|
||||
|
||||
setting_hardware::HGSCANCONF_3399 dev_conf_;
|
||||
bool rewrite_conf_;
|
||||
bool reset_;
|
||||
|
||||
int read_register(int addr, int* val);
|
||||
int write_register(int addr, int val);
|
||||
int write_command(int cmd);
|
||||
std::string control_fetch(int addr, int val, int size);
|
||||
|
||||
std::string get_fpga(void);
|
||||
int clr_roller_num(void);
|
||||
int get_sleep_time(void);
|
||||
int get_scan_mode(void);
|
||||
int get_status(void);
|
||||
bool is_dev_tx(void);
|
||||
bool is_dev_image_process_done(void);
|
||||
bool is_dev_image_keep_last_paper(void);
|
||||
int get_scanned_count(void);
|
||||
int get_image_count(void);
|
||||
int get_front_data_size(void);
|
||||
void init_version(void);
|
||||
int get_device_sleep_stautus(void);
|
||||
int get_device_paperon_stautus(void);
|
||||
|
||||
int writedown_device_configuration(bool type = false, setting_hardware::HGSCANCONF_3399* dev_conf = NULL);
|
||||
int writedown_image_configuration(void);
|
||||
int pop_first_image(void);
|
||||
|
||||
int read_one_image_from_usb(SANE_Image_Statu statu = SANE_Image_Statu_OK);
|
||||
void discard_all_images(void);
|
||||
protected:
|
||||
virtual void on_device_reconnected(void) override;
|
||||
virtual int on_scanner_closing(bool force) override;
|
||||
virtual void thread_handle_usb_read(void) override;
|
||||
protected:
|
||||
virtual int on_color_mode_changed(int& color_mode) override; //颜色切换
|
||||
virtual int on_paper_changed(int& paper) override; //纸张大小设置
|
||||
virtual int on_paper_check_changed(bool& check) override; //尺寸检测
|
||||
virtual int on_resolution_changed(int& dpi) override; //分辨率设置
|
||||
virtual int on_ultrasonic_check_changed(bool& check) override; //设置超声波检测
|
||||
virtual int on_staple_check_changed(bool& check) override; //设置订书针检测
|
||||
virtual int on_skew_check_changed(bool& check) override; //设置歪斜检测
|
||||
virtual int on_skew_check_level_changed(int& check) override; //设置歪斜检测强度
|
||||
virtual int on_get_feedmode(int& feedmode) override; //获取分纸强度
|
||||
virtual int on_set_feedmode(int feedmode) override; //设置分纸强度
|
||||
virtual int on_pic_type(bool& pic)override; //照片模式或者文本模式
|
||||
virtual int on_pick_paper(bool autostrength)override; //自动分纸强度
|
||||
virtual int on_pick_paper_threshold(double threshold)override;
|
||||
virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫描
|
||||
virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取
|
||||
|
||||
|
||||
public:
|
||||
hg_scanner_402(const char* dev_name, int pid,usb_io* io);
|
||||
~hg_scanner_402();
|
||||
|
||||
public:
|
||||
virtual int start(void) override;
|
||||
//virtual int get_image_info(IMG_PARAM* ii) override;
|
||||
//virtual int read_image_data(unsigned char* buf, int* len) override;
|
||||
virtual int stop(void) override;
|
||||
virtual int reset(void) override;
|
||||
virtual int device_io_control(unsigned long code, void* data, unsigned* len) override;
|
||||
|
||||
public:
|
||||
//////////////固定的硬件信息设置或获取//////////////
|
||||
virtual std::string get_firmware_version(void)override;
|
||||
virtual std::string get_serial_num(void)override;
|
||||
virtual std::string get_ip(void)override;
|
||||
|
||||
virtual int set_serial_num(string str) override; //设置序列号
|
||||
virtual int set_vid_pid(int data) override; //设置vidpid
|
||||
virtual int get_vid_pid(int& data)override; //获取vidpid
|
||||
|
||||
/////////////////成功返回:SCANNER_ERR_OK /////////////
|
||||
/////////////////失败返回:IO错误码 /////////////
|
||||
virtual int set_leaflet_scan(void) override; //单张扫描
|
||||
|
||||
virtual int set_clear_roller_num(void) override; //清除滚轴计数
|
||||
|
||||
virtual int get_device_code(void); //获取设备编码 不支持
|
||||
|
||||
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
|
||||
|
||||
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获取设备是否休眠当中 /*/ type : 0休眠 1唤醒状态*/
|
||||
virtual int get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
|
||||
virtual int get_history_scan_count(int& data) override; //获取历史扫描张数 /*/ data > 0*/
|
||||
virtual int get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
|
||||
virtual int set_notify_sleep(void) override; //唤醒设备
|
||||
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
|
||||
virtual int set_devreboot(int data) override; //设置设备重启
|
||||
virtual int set_devshtudown() override; //设置设备关机
|
||||
virtual int set_scan_islock(SANE_Bool type) override; //设置设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
virtual int get_scan_islock(SANE_Bool& type) override; //获取设备是否锁定 /*/ type:0解锁,1锁定*/
|
||||
virtual int set_scan_lock_check_val(string str) override; //获取设备是否锁定 /*/ str:校验码*/
|
||||
virtual int set_firmware_upgrade(std::string str) override; //固件升级 /*/ str:文件名路径*/
|
||||
virtual int set_clean_paper_road() override; //清理纸道
|
||||
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁,1 上锁。-1 未发现黑名单列表 -2列表没有信息*/
|
||||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*/
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70,80
|
||||
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,70,80
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_auto_flat(void) override; //设置自动平场校正
|
||||
};
|
|
@ -14,9 +14,8 @@
|
|||
#include "hg_scanner_200.h"
|
||||
#include "hg_scanner_239.h"
|
||||
#include "hg_scanner_300.h"
|
||||
#include "hg_scanner_400.h"
|
||||
#include "hg_scanner_302.h"
|
||||
#include "hg_scanner_402.h"
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// supporting devices :
|
||||
|
@ -663,7 +662,7 @@ scanner_err hg_scanner_mgr::hg_scanner_open(scanner_handle* h, const char* name,
|
|||
g_supporting_devices[it->ind].pid == 0x7000 ||
|
||||
g_supporting_devices[it->ind].pid == 0x8520)
|
||||
{
|
||||
hg_scanner_400* s400 = new hg_scanner_400(it->display_name.c_str(), 0x400, io);
|
||||
hg_scanner_300* s400 = new hg_scanner_300(it->display_name.c_str(), 0x400, io);
|
||||
scanner = dynamic_cast<hg_scanner*>(s400);
|
||||
*h = (scanner_handle)s400;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue