调整协议

This commit is contained in:
13038267101 2022-12-29 18:05:59 +08:00
parent 82dd0aaab2
commit dd2ccf4499
15 changed files with 153 additions and 57 deletions

View File

@ -3186,38 +3186,44 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
switch (val) switch (val)
{ {
case SANE_POWER_NONE: case SLEEP_TIME_0MIN:
sleeptime = -1; if (pid_ == 0x300 || pid_ == 0x400)
val = 999999; //3288不休眠
else
val = -1; //不休眠 -1 3399
break; break;
case SANE_POWER_MINUTES_5: case SLEEP_TIME_5MIN:
sleeptime = 5; val = 5;
break; break;
case SANE_POWER_MINUTES_10: case SLEEP_TIME_10MIN:
sleeptime = 10; val = 10;
break; break;
case SANE_POWER_MINUTES_20: case SLEEP_TIME_30MIN:
sleeptime = 20; val = 30;
break; break;
case SANE_POWER_MINUTES_30: case SLEEP_TIME_60MIN:
sleeptime = 30; val = 60;
break; break;
case SANE_POWER_MINUTES_60: case SLEEP_TIME_120MIN:
sleeptime = 60; val = 120;
break; break;
case SANE_POWER_MINUTES_120: case SLEEP_TIME_240MIN:
sleeptime = 120; val = 240;
break;
case SANE_POWER_MINUTES_240:
sleeptime = 240;
break; break;
case SANE_POWER_SHUTDOWN: case SANE_POWER_SHUTDOWN:
return set_devshtudown(); return set_devshtudown();
case SANE_POWER_RESTART: case SANE_POWER_RESTART:
return set_devreboot(val); return set_devreboot(val);
default: default:
sleeptime = -1; val = -1;
break; break;
} }
sleeptime = val;
if (val != -1 && val != 999999)
{
sleeptime = val * 60;
}
return set_sleep_time(sleeptime); return set_sleep_time(sleeptime);
} }
else if (code == IO_CTRL_CODE_GET_CUSTOM_GAMMA) else if (code == IO_CTRL_CODE_GET_CUSTOM_GAMMA)
@ -3316,10 +3322,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
string str = (char*)data; string str = (char*)data;
return set_firmware_upgrade(str); return set_firmware_upgrade(str);
} }
else if (code == IO_CTRL_CODE_GET_HISTORY_ROLLER_NUM) else if (code == IO_CTRL_CODE_GET_HISTORY_SCAN_NUM)
{ {
int num = 0; int num = 0;
int ret = get_history_roller_count(num); int ret = get_history_scan_count(num);
(*(int*)data) = num; (*(int*)data) = num;
return ret; return ret;
} }
@ -3327,7 +3333,7 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
{ {
return set_clean_paper_road(); return set_clean_paper_road();
} }
else if (code == IO_CTRL_CODE_GET_SCANN_NUM) else if (code == IO_CTRL_CODE_GET_ROLLER_NUM)
{ {
int num = 0; int num = 0;
int ret = get_roller_num(num); int ret = get_roller_num(num);
@ -3358,6 +3364,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
{ {
return set_speed_mode(*((int*)data)); return set_speed_mode(*((int*)data));
} }
else if (code == IO_CTRL_CODE_GET_SPEED_MODE)
{
return get_speed_mode(*((int*)data));
}
else if (code == IO_CTRL_CODE_SET_CIS_IMAGE) else if (code == IO_CTRL_CODE_SET_CIS_IMAGE)
{ {
return on_cis_get_image(*((bool*)data)); return on_cis_get_image(*((bool*)data));
@ -3370,6 +3380,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
{ {
return set_dpi_color_check(*((bool*)data)); return set_dpi_color_check(*((bool*)data));
} }
else if(code == IO_CTRL_CODE_SET_DEVS_REBOOT)
{
return set_devreboot(*((int*)data));
}
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
std::string hg_scanner::get_firmware_version(void) std::string hg_scanner::get_firmware_version(void)
@ -3404,7 +3418,7 @@ int hg_scanner::set_clear_roller_num(void)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner::get_history_roller_count(int &num) int hg_scanner::get_history_scan_count(int &num)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
@ -3444,6 +3458,11 @@ int hg_scanner::set_speed_mode(int data)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner::get_speed_mode(int& data)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::set_dpi_color_check(bool type) int hg_scanner::set_dpi_color_check(bool type)
{ {
is_dpi_color_check = type; is_dpi_color_check = type;

View File

@ -458,11 +458,11 @@ public:
virtual int get_scan_is_sleep(SANE_Bool& type) = 0; //获取设备是否休眠当中 /*/ type : false休眠不正常状态false true未休眠*/ virtual int get_scan_is_sleep(SANE_Bool& type) = 0; //获取设备是否休眠当中 /*/ type : false休眠不正常状态false true未休眠*/
virtual int get_sleep_time(int& data) = 0; //获取功耗模式(休眠) /*/ data > 0*/ virtual int get_sleep_time(int& data) = 0; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) = 0; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) = 0; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_count(int &data) = 0; //获取历史扫描张数 /*/ data > 0*/ virtual int get_history_scan_count(int &data) = 0; //获取历史扫描张数 /*/ data > 0*/
virtual int get_roller_num(int &data) = 0; //获取滚轮张数 /*/ data > 0*/ virtual int get_roller_num(int &data) = 0; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) = 0; //唤醒设备 virtual int set_notify_sleep(void) = 0; //唤醒设备
virtual int get_device_log(string &log) = 0; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string &log) = 0; //获取设备日志 /*/ log :储存路径*/
virtual int set_devreboot(int data) = 0; //设置设备重启 /*/ data:0 reboot data:1 virtual int set_devreboot(int data) = 0; //设置设备重启 /*/ data:0 reboot data:1 1进入loader,0普通重启
virtual int set_devshtudown() = 0; //设置设备关机 virtual int set_devshtudown() = 0; //设置设备关机
virtual int set_scan_islock(SANE_Bool type) = 0; //设置设备是否锁定 /*/ type:0解锁1锁定*/ virtual int set_scan_islock(SANE_Bool type) = 0; //设置设备是否锁定 /*/ type:0解锁1锁定*/
virtual int get_scan_islock(SANE_Bool& type) = 0; //获取设备是否锁定 /*/ type:0解锁1锁定*/ virtual int get_scan_islock(SANE_Bool& type) = 0; //获取设备是否锁定 /*/ type:0解锁1锁定*/
@ -473,6 +473,7 @@ public:
virtual int set_dev_islock_file(int data) = 0; //设置设备文件 /*/ data:0 未上锁1 上锁*/ virtual int set_dev_islock_file(int data) = 0; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模式 virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模式
virtual int set_speed_mode(int data) = 0; //设置速度模式 /*/ 设备不同值不同,详情见子类注释 virtual int set_speed_mode(int data) = 0; //设置速度模式 /*/ 设备不同值不同,详情见子类注释
virtual int get_speed_mode(int &data) = 0; //获取速度模式 /*/ 设备不同值不同,详情见子类注释
virtual int set_dpi_color_check(bool type); //获取畸变矫正 virtual int set_dpi_color_check(bool type); //获取畸变矫正
virtual int set_dpi_color_check_val(void) = 0; //设置畸变矫正值 virtual int set_dpi_color_check_val(void) = 0; //设置畸变矫正值
}; };

View File

@ -840,16 +840,21 @@ int hg_scanner_200::set_speed_mode(int data)
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner_200::get_speed_mode(int& data)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner_200::set_dpi_color_check_val(void) int hg_scanner_200::set_dpi_color_check_val(void)
{ {
return 0; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner_200::set_notify_sleep() int hg_scanner_200::set_notify_sleep()
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner_200::get_history_roller_count(int& num) int hg_scanner_200::get_history_scan_count(int& num)
{ {
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
len = 0; len = 0;

View File

@ -82,7 +82,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -96,5 +96,6 @@ public:
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ 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_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ 不支持 virtual int set_speed_mode(int data) override; //设置速度模式 /*/ 不支持
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ 不支持
virtual int set_dpi_color_check_val(void) override; //设置畸变矫正 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正
}; };

View File

@ -254,6 +254,10 @@ int hg_scanner_239::set_speed_mode(int data)
{ {
return write_register(setting3399::SR_SET_SPEEDMODE, data); return write_register(setting3399::SR_SET_SPEEDMODE, data);
} }
int hg_scanner_239::get_speed_mode(int& data)
{
return read_register(setting3399::SR_GET_SPEEDMODE, &data);
}
int hg_scanner_239::set_dpi_color_check_val(void) int hg_scanner_239::set_dpi_color_check_val(void)
{ {
setting3399::Scanner_Reg_Defs ratio = setting3399::SR_SET_H_200_RATIO; setting3399::Scanner_Reg_Defs ratio = setting3399::SR_SET_H_200_RATIO;
@ -1248,7 +1252,7 @@ std::string hg_scanner_239::get_ip(void)
{ {
return control_fetch(setting3399::SR_GET_IPADDR, 0, 40); return control_fetch(setting3399::SR_GET_IPADDR, 0, 40);
} }
int hg_scanner_239::get_history_roller_count(int &val) int hg_scanner_239::get_history_scan_count(int &val)
{ {
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val); int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret; return ret;

View File

@ -97,7 +97,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -113,6 +113,7 @@ public:
virtual int get_scan_mode(bool& type); //获取是否是计数模式 /*/ type : fasle计数模式 true非计数 */ virtual int get_scan_mode(bool& type); //获取是否是计数模式 /*/ type : fasle计数模式 true非计数 */
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:100,110,120 virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:100,110,120
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:100,110,120
virtual int set_dpi_color_check_val(void) override; //设置畸变矫正值 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正值
virtual int get_dpi_color_check_val(int &data); //获取畸变矫正 virtual int get_dpi_color_check_val(int &data); //获取畸变矫正
}; };

View File

@ -116,12 +116,25 @@ void hg_scanner_300::thread_handle_usb_read(void)
statu = last_usb_image_statu(ret); statu = last_usb_image_statu(ret);
savestatus_.push_back(ret); savestatus_.push_back(ret);
} }
else else if (ret != SCANNER_ERR_NO_DATA)
statu = SANE_Image_Statu_OK;
if (sw.elapsed_ms() > 30000)//防止状态信息一直取不上来导致卡死
{ {
status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_OK;//以第一个消息为准 statu = SANE_Image_Statu_OK;
}
else if (ret == SCANNER_ERR_NO_DATA && savestatus_.empty() &&sw.elapsed_ms() > 5000)
{
SANE_Bool is_paperon = false;
get_scanner_paperon(is_paperon);
if (!is_paperon && !user_cancel_)
{
status_ = SCANNER_ERR_DEVICE_NO_PAPER;
break;
}
}
if (sw.elapsed_ms() > 20000)//防止状态信息一直取不上来导致卡死
{
status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_TIMEOUT;//以第一个消息为准
savestatus_.clear(); savestatus_.clear();
hg_log::log(LOG_LEVEL_WARNING, "get status timeout,get image out\n"); hg_log::log(LOG_LEVEL_WARNING, "get status timeout,get image out\n");
break; break;
@ -196,14 +209,14 @@ void hg_scanner_300::thread_handle_usb_read(void)
VLOG_MINI_1(LOG_LEVEL_WARNING, "device start status is(%s)\n", STATU_DESC_SCANNER_ERR_DEVICE_SLEEPING); VLOG_MINI_1(LOG_LEVEL_WARNING, "device start status is(%s)\n", STATU_DESC_SCANNER_ERR_DEVICE_SLEEPING);
return status_; return status_;
} }
ret = get_scanner_paperon(val); //ret = get_scanner_paperon(val);
if (!val) //if (!val)
{ //{
status_ = SCANNER_ERR_DEVICE_NO_PAPER; // status_ = SCANNER_ERR_DEVICE_NO_PAPER;
notify_ui_working_status(STATU_DESC_SCANNER_ERR_DEVICE_NO_PAPER, SANE_EVENT_ERROR, status_); // notify_ui_working_status(STATU_DESC_SCANNER_ERR_DEVICE_NO_PAPER, SANE_EVENT_ERROR, status_);
VLOG_MINI_1(LOG_LEVEL_WARNING, "device start status is(%s)\n", STATU_DESC_SCANNER_ERR_DEVICE_NO_PAPER); // VLOG_MINI_1(LOG_LEVEL_WARNING, "device start status is(%s)\n", STATU_DESC_SCANNER_ERR_DEVICE_NO_PAPER);
return status_; // return status_;
} //}
USBCB usb = { setting3288dsp::START_COMMAND, img_conf_.scannum, 0}; USBCB usb = { setting3288dsp::START_COMMAND, img_conf_.scannum, 0};
ret = writeusb(usb); ret = writeusb(usb);
@ -586,7 +599,8 @@ int hg_scanner_300::set_leaflet_scan(void)
int hg_scanner_300::set_clear_roller_num(void) int hg_scanner_300::set_clear_roller_num(void)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; USBCB usbcb = { setting3288dsp::CLR_ROLLER_NUM,0,4 };
return writeusb(usbcb);
} }
int hg_scanner_300::get_device_code(void) int hg_scanner_300::get_device_code(void)
{ {
@ -757,11 +771,30 @@ int hg_scanner_300::set_speed_mode(int data)
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
len = 0; len = 0;
USBCB usbcb = { setting3288dsp::SET_SPEED_MODE,data,len }; USBCB usbcb = { setting3288dsp::SET_SPEED_MODE,data,0 };
len = sizeof(usbcb); len = sizeof(usbcb);
ret = io_->write_bulk(&usbcb, &len); ret = io_->write_bulk(&usbcb, &len);
return 0; return 0;
} }
int hg_scanner_300::get_speed_mode(int& data)
{
int ret = SCANNER_ERR_OK,
len = 0;
USBCB usbcb = { setting3288dsp::GET_SPEED_MODE,0,0 };
len = sizeof(usbcb);
ret = io_->write_bulk(&usbcb, &len);
if (ret != SCANNER_ERR_OK)
{
return ret;
}
ret = io_->read_bulk(&usbcb, &len);
if (ret == SCANNER_ERR_OK)
{
data = usbcb.u32_Data;
}
return ret;
}
int hg_scanner_300::set_dpi_color_check_val(void) int hg_scanner_300::set_dpi_color_check_val(void)
{ {
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
@ -781,7 +814,7 @@ int hg_scanner_300::set_notify_sleep()
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner_300::get_history_roller_count(int& num) int hg_scanner_300::get_history_scan_count(int& num)
{ {
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
len = 0; len = 0;

View File

@ -84,7 +84,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -98,5 +98,6 @@ public:
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ 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_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70 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_dpi_color_check_val(void) override; //设置畸变矫正 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正
}; };

View File

@ -1260,6 +1260,10 @@ int hg_scanner_302::set_speed_mode(int data)
{ {
return write_register(setting3399::SR_SET_SPEEDMODE, data); return write_register(setting3399::SR_SET_SPEEDMODE, data);
} }
int hg_scanner_302::get_speed_mode(int& data)
{
return read_register(setting3399::SR_SET_SPEEDMODE, &data);
}
int hg_scanner_302::set_dpi_color_check_val(void) int hg_scanner_302::set_dpi_color_check_val(void)
{ {
setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO; setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO;
@ -1284,7 +1288,7 @@ int hg_scanner_302::get_roller_num(int& num)
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num); int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret; return ret;
} }
int hg_scanner_302::get_history_roller_count(int& val) int hg_scanner_302::get_history_scan_count(int& val)
{ {
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val); int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret; return ret;

View File

@ -105,7 +105,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -119,5 +119,6 @@ public:
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ 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_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70 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_dpi_color_check_val(void) override; //设置畸变矫正 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正
}; };

View File

@ -606,7 +606,8 @@ int hg_scanner_400::set_leaflet_scan(void)
int hg_scanner_400::set_clear_roller_num(void) int hg_scanner_400::set_clear_roller_num(void)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; USBCB usbcb = { setting3288dsp::CLR_ROLLER_NUM,0,4 };
return writeusb(usbcb);
} }
int hg_scanner_400::get_device_code(void) int hg_scanner_400::get_device_code(void)
@ -782,6 +783,25 @@ int hg_scanner_400::set_speed_mode(int data)
ret = io_->write_bulk(&usbcb, &len); ret = io_->write_bulk(&usbcb, &len);
return ret; return ret;
} }
int hg_scanner_400::get_speed_mode(int& data)
{
int ret = SCANNER_ERR_OK,
len = 0;
USBCB usbcb = { setting3288dsp::GET_SPEED_MODE,0,0 };
len = sizeof(usbcb);
ret = io_->write_bulk(&usbcb, &len);
if (ret != SCANNER_ERR_OK)
{
return ret;
}
ret = io_->read_bulk(&usbcb, &len);
if (ret == SCANNER_ERR_OK)
{
data = usbcb.u32_Data;
}
return ret;
}
int hg_scanner_400::set_dpi_color_check_val(void) int hg_scanner_400::set_dpi_color_check_val(void)
{ {
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
@ -801,7 +821,7 @@ int hg_scanner_400::set_notify_sleep()
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner_400::get_history_roller_count(int& num) int hg_scanner_400::get_history_scan_count(int& num)
{ {
int ret = SCANNER_ERR_OK, int ret = SCANNER_ERR_OK,
len = 0; len = 0;

View File

@ -87,7 +87,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -101,5 +101,6 @@ public:
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ 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_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,7080 virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,7080
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,7080
virtual int set_dpi_color_check_val(void) override; //设置畸变矫正 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正
}; };

View File

@ -1220,6 +1220,10 @@ int hg_scanner_402::set_speed_mode(int data)
{ {
return write_register(setting3399::SR_SET_SPEEDMODE, data); return write_register(setting3399::SR_SET_SPEEDMODE, data);
} }
int hg_scanner_402::get_speed_mode(int& data)
{
return read_register(setting3399::SR_SET_SPEEDMODE, &data);
}
int hg_scanner_402::set_dpi_color_check_val(void) int hg_scanner_402::set_dpi_color_check_val(void)
{ {
setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO; setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO;
@ -1244,7 +1248,7 @@ int hg_scanner_402::get_roller_num(int& num)
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num); int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret; return ret;
} }
int hg_scanner_402::get_history_roller_count(int& val) int hg_scanner_402::get_history_scan_count(int& val)
{ {
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val); int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret; return ret;

View File

@ -105,7 +105,7 @@ public:
virtual int get_scan_is_sleep(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 get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/ virtual int set_sleep_time(int data) override; //设置功耗模式(休眠) /*/ data > 0*/
virtual int get_history_roller_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 get_roller_num(int& data) override; //获取滚轮张数 /*/ data > 0*/
virtual int set_notify_sleep(void) override; //唤醒设备 virtual int set_notify_sleep(void) override; //唤醒设备
virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //获取设备日志 /*/ log :储存路径*/
@ -119,5 +119,6 @@ public:
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ 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_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,7080 virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,7080
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,7080
virtual int set_dpi_color_check_val(void) override; //设置畸变矫正 virtual int set_dpi_color_check_val(void) override; //设置畸变矫正
}; };

View File

@ -532,7 +532,7 @@ scanner_err hg_scanner_mgr::get_about_info(scanner_handle h, void* data, unsigne
set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, rolls == -1 ? BRAND_COMMUNICATION_FAIL : BRAND_DEVICE_NOT_SUPPORT, NULL); set_appendix_info_for_about(about, ptr, count, BRAND_TITLE_ROLLER_COUNT, rolls == -1 ? BRAND_COMMUNICATION_FAIL : BRAND_DEVICE_NOT_SUPPORT, NULL);
#endif #endif
ret = scanner->get_history_roller_count(rolls); ret = scanner->get_history_scan_count(rolls);
if (ret == SCANNER_ERR_OK) if (ret == SCANNER_ERR_OK)
{ {
char buf[40]; char buf[40];