From f692b92e7aa6f65d9bf48c1d6990452230daa528 Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Thu, 5 Jan 2023 18:18:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AE=BE=E7=BD=AE=E7=95=B8?= =?UTF-8?q?=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner.cpp | 37 ++++++++-- hgdriver/hgdev/hg_scanner.h | 8 ++- hgdriver/hgdev/hg_scanner_200.cpp | 2 +- hgdriver/hgdev/hg_scanner_200.h | 2 +- hgdriver/hgdev/hg_scanner_239.cpp | 109 +++++++++++++++++++++++------ hgdriver/hgdev/hg_scanner_239.h | 7 +- hgdriver/hgdev/hg_scanner_300.cpp | 20 +++++- hgdriver/hgdev/hg_scanner_300.h | 3 +- hgdriver/hgdev/hg_scanner_302.cpp | 2 +- hgdriver/hgdev/hg_scanner_302.h | 2 +- hgdriver/hgdev/hg_scanner_400.cpp | 4 +- hgdriver/hgdev/hg_scanner_400.h | 2 +- hgdriver/hgdev/hg_scanner_402.cpp | 4 +- hgdriver/hgdev/hg_scanner_402.h | 2 +- hgdriver/hgdev/scanner_manager.cpp | 2 +- 15 files changed, 159 insertions(+), 47 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 8f30c40..fcfcde4 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -3416,9 +3416,21 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) { return start();; } - else if (code == IO_CTRL_CODE_GET_DPI_COLOR_CHECK_VAL) + else if (code == IO_CTRL_CODE_SET_DISTORTION_IMAGE) { - return set_dpi_color_check(*((bool*)data)); + return set_distortion_image(*((bool*)data)); + } + else if(code == IO_CTRL_CODE_GET_DISTORTION_CHECK_VAL) + { + return get_distortion_check_val(*((int*)data)); + } + else if(code == IO_CTRL_CODE_SET_DISTORTION_CHECK_VAL) + { + return set_distortion_check_val(*((int*)data)); + } + else if (code == IO_CTRL_CODE_GET_DISTORTION_DEVS_CHECK_VAL) + { + return get_devs_distortion_check_val(*((int*)data)); } else if(code == IO_CTRL_CODE_SET_DEVS_REBOOT) { @@ -3444,6 +3456,7 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) } else if (code == IO_CTRL_CODE_SET_SERIAL) { + string str = (char*)data; return set_serial_num((char*)data); } else if (code == IO_CTRL_CODE_GET_VIDPID) @@ -3532,7 +3545,7 @@ 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_distortion_image(bool type) { is_dpi_color_check = type; int ret = SCANNER_ERR_OK; @@ -3542,7 +3555,22 @@ int hg_scanner::set_dpi_color_check(bool type) } return ret; } -int hg_scanner::set_dpi_color_check_val(void) +int hg_scanner::get_distortion_check_val(int &val) +{ + val = *(int*)&save_dpi_color_check_val; + //val = ; + + if (val != 0) + { + return SCANNER_ERR_NO_DATA; + } + return 0; +} +int hg_scanner::set_distortion_check_val(int data) +{ + return SCANNER_ERR_DEVICE_NOT_SUPPORT; +} +int hg_scanner::get_devs_distortion_check_val(int& data) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } @@ -3668,7 +3696,6 @@ void hg_scanner::image_process(std::shared_ptr& buffer) err = hg_imgproc::cis_test_image(ImagePrc_pHandle_, res); save_dpi_color_check_val = res.scaleXY1; is_dpi_color_check = false; - set_dpi_color_check_val(); } else if (param.cis_image) { diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index 878b2ad..5906756 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -336,7 +336,7 @@ protected: int fold_type_; //对折类型 bool is_cis_image; //设置cis获取原图 bool is_dpi_color_check; //纵向DPI、色差检测 ,畸变自动计算 - double save_dpi_color_check_val; //保存纵向DPI、色差检测 ,畸变自动计算 的值 + float save_dpi_color_check_val; //保存纵向DPI、色差检测 ,畸变自动计算 的值 bool is_auto_falt; //是否进行平场校正 int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处理 @@ -482,9 +482,11 @@ public: 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_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 set_dpi_color_check_val(void) = 0; //设置畸变矫正值 virtual int set_auto_flat(void) = 0; //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_200.cpp b/hgdriver/hgdev/hg_scanner_200.cpp index 9d01bbb..ec61da4 100644 --- a/hgdriver/hgdev/hg_scanner_200.cpp +++ b/hgdriver/hgdev/hg_scanner_200.cpp @@ -926,7 +926,7 @@ 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_distortion_check_val(int data) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } diff --git a/hgdriver/hgdev/hg_scanner_200.h b/hgdriver/hgdev/hg_scanner_200.h index b1578cf..f676771 100644 --- a/hgdriver/hgdev/hg_scanner_200.h +++ b/hgdriver/hgdev/hg_scanner_200.h @@ -102,6 +102,6 @@ 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_dpi_color_check_val(void) override; //设置畸变矫正 + virtual int set_distortion_check_val(int data) override; //设置畸变矫正 virtual int set_auto_flat(void); //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index 642eeeb..bbe66fc 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -269,7 +269,7 @@ 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_distortion_check_val(int data) { setting3399::Scanner_Reg_Defs ratio = setting3399::SR_SET_H_200_RATIO; if (resolution_ <= 200) @@ -279,7 +279,7 @@ int hg_scanner_239::set_dpi_color_check_val(void) else if (resolution_ > 300 && resolution_ <= 600) ratio = setting3399::SR_SET_H_600_RATIO; - return write_register(ratio, *(int*)&save_dpi_color_check_val); + return write_register(ratio, data); } int hg_scanner_239::get_dpi_color_check_val(int &data) { @@ -926,18 +926,76 @@ int hg_scanner_239::on_scanner_closing(bool force) { return SCANNER_ERR_OK; } -void hg_scanner_239::thread_handle_usb_read(void) +void hg_scanner_239::thread_correction(void) +{ + StopWatch sw; + char buf[64]; + setting3399::HGEIntInfo* info = (setting3399::HGEIntInfo*)buf; + int size = sizeof(buf), + ret = SCANNER_ERR_OK; + + while (run_) + { + size = sizeof(buf); + { + std::lock_guard lock(io_lock_); + + ret = io_->read_interrupt(buf, &size); + io_->set_timeout(1000); + printf("size:%d\r\n",size); + } + if (ret == SCANNER_ERR_TIMEOUT) + { + if (sw.elapsed_s() == 60) + { + status_ = ret; + notify_ui_working_status(" \350\256\276\345\244\207\346\240\241\346\255\243\350\266\205\346\227\266", SANE_EVENT_ERROR, ret); // 通信超时 + VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "设备校正超时 '%s'\n", hg_scanner_err_name(status_)); + break; + } + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + } + if (size == sizeof(buf)) + { + if (setting3399::AutoCorrect ==info->From) + { + status_ == SCANNER_ERR_DEVICE_AUTO_FAIL_INFO; + sw.reset(); + std::string sinfo; + int len = info->Img_Index; + sinfo.resize(len); + + io_->read_bulk(&sinfo[0],&len); + char buf[1024]; + strcpy(buf, sinfo.c_str()); + notify_ui_working_status(buf, SANE_EVENT_STATUS, status_); + printf("%s\r\n", sinfo.c_str()); + + if (info->Code == 4) + { + status_ = SCANNER_ERR_DEVICE_AUTO_FAIL_OVER; + notify_ui_working_status(buf, SANE_EVENT_STATUS, status_); + return; + } + break; + } + } + + this_thread::sleep_for(chrono::milliseconds(10)); + } +} +void hg_scanner_239::thread_get_dves_image(void) { char buf[64]; setting3399::HGEIntInfo* info = (setting3399::HGEIntInfo*)buf; int size = sizeof(buf), - ret = SCANNER_ERR_OK, - to_cnt = 0, - count = 0; + ret = SCANNER_ERR_OK, + to_cnt = 0, + count = 0; int auoto_paper_indx = 0; - + //status_ = SCANNER_ERR_DEVICE_BUSY; - while (run_ )//&& !user_cancel_ + while (run_)//&& !user_cancel_ { size = sizeof(buf); { @@ -955,7 +1013,7 @@ void hg_scanner_239::thread_handle_usb_read(void) VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "600dpi '%s'\n", hg_scanner_err_name(status_)); break; } - else if (img_conf_.resolution_dst != 600.0 &&++to_cnt > 20 && !is_auto_paper_scan) + else if (img_conf_.resolution_dst != 600.0 && ++to_cnt > 20 && !is_auto_paper_scan) { status_ = ret; notify_ui_working_status("\351\200\232\344\277\241\350\266\205\346\227\266", SANE_EVENT_ERROR, ret); // 通信超时 @@ -990,8 +1048,8 @@ void hg_scanner_239::thread_handle_usb_read(void) status_ = settings::device_status_to_hg_err(info); VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "status from interrupt point is '%s'\n", hg_scanner_err_name(status_)); - if (status_ != SCANNER_ERR_OK - && status_ != SCANNER_ERR_TIMEOUT + if (status_ != SCANNER_ERR_OK + && status_ != SCANNER_ERR_TIMEOUT && status_ != SCANNER_ERR_DEVICE_STOPPED && status_ != SCANNER_ERR_DEVICE_AUTO_FAIL_OVER && status_ != SCANNER_ERR_DEVICE_AUTO_FAIL_INFO @@ -1004,7 +1062,7 @@ void hg_scanner_239::thread_handle_usb_read(void) std::this_thread::sleep_for(std::chrono::milliseconds(30)); StopWatch delay; - if((double_paper_handle_ & DOUBLE_PAPER_SAVE_IMG) && st == SCANNER_ERR_DEVICE_DOUBLE_FEEDING) + if ((double_paper_handle_ & DOUBLE_PAPER_SAVE_IMG) && st == SCANNER_ERR_DEVICE_DOUBLE_FEEDING) { int wait = 3000 + (img_conf_.resolution_dst / 200 * 10000); while (get_image_count() == 0) @@ -1034,7 +1092,7 @@ void hg_scanner_239::thread_handle_usb_read(void) } status_ = st; } - + VLOG_MINI_1(LOG_LEVEL_WARNING, "\346\211\253\346\217\217\345\244\261\350\264\245, read interrupt\350\277\224\345\233\236\347\212\266\346\200\201\344\270\272\357\274\232%s\n", hg_scanner_err_description(status_)); break; } @@ -1042,7 +1100,7 @@ void hg_scanner_239::thread_handle_usb_read(void) if (info->From == setting3399::IMG) { int s = get_status(); - // if (s > 0 && s < 4) // running ... + // if (s > 0 && s < 4) // running ... { while (get_image_count() > 0) { @@ -1094,10 +1152,10 @@ void hg_scanner_239::thread_handle_usb_read(void) std::lock_guard lock(io_lock_); LOG_INFO(LOG_LEVEL_DEBUG_INFO, "First message received from USB is 'STOPSCAN'\n"); - // notify_ui_working_status(STATU_DESC_DEVICE_RESET); - // reset_ = true; - // ret = io_->reset(); - // status_ = SCANNER_ERR_IO; + // notify_ui_working_status(STATU_DESC_DEVICE_RESET); + // reset_ = true; + // ret = io_->reset(); + // status_ = SCANNER_ERR_IO; } else if (status_ == SCANNER_ERR_TIMEOUT || status_ == SCANNER_ERR_IO || status_ == SCANNER_ERR_DEVICE_STOPPED) status_ = SCANNER_ERR_OK; @@ -1107,10 +1165,10 @@ void hg_scanner_239::thread_handle_usb_read(void) if (count || (s & 3) == 0) { LOG_INFO(LOG_LEVEL_DEBUG_INFO, "Really stopped ^_^\n"); - + //string str = "当前批次扫描完成(第"+to_string(++auoto_paper_indx)+"批)"; - string str = "\345\275\223\345\211\215\346\211\271\346\254\241\346\211\253\346\217\217\345\256\214\346\210\220(\347\254\254"+to_string(++auoto_paper_indx)+"\346\211\271)"; - if(is_auto_paper_scan) + string str = "\345\275\223\345\211\215\346\211\271\346\254\241\346\211\253\346\217\217\345\256\214\346\210\220(\347\254\254" + to_string(++auoto_paper_indx) + "\346\211\271)"; + if (is_auto_paper_scan) notify_ui_working_status(str.c_str(), SANE_EVENT_STATUS, status_); else break; @@ -1119,7 +1177,7 @@ void hg_scanner_239::thread_handle_usb_read(void) else if (info->From == setting3399::V4L2) { VLOG_MINI_2(LOG_LEVEL_WARNING, "V4L2 message received, code = %d, index = %d\n", info->Code, info->Img_Index); - // stop(); + // stop(); break; } else if (info->From == setting3399::AutoCorrect) @@ -1158,6 +1216,13 @@ void hg_scanner_239::thread_handle_usb_read(void) } VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "USB thread exit with code: %s, status = %s\n", hg_scanner_err_name(ret), hg_scanner_err_name(status_)); } +void hg_scanner_239::thread_handle_usb_read(void) +{ + if (is_auto_falt) + thread_correction(); + else + thread_get_dves_image(); +} int hg_scanner_239::start(void) { diff --git a/hgdriver/hgdev/hg_scanner_239.h b/hgdriver/hgdev/hg_scanner_239.h index 83f2a80..d2e0f6a 100644 --- a/hgdriver/hgdev/hg_scanner_239.h +++ b/hgdriver/hgdev/hg_scanner_239.h @@ -43,8 +43,9 @@ class hg_scanner_239 : public hg_scanner bool is_dev_image_process_done(void); bool is_dev_image_keep_last_paper(void); void discard_all_images(void); - void init_version(void -); + void init_version(void); + void thread_get_dves_image(void); + void thread_correction(void); protected: virtual void on_device_reconnected(void) override; virtual int on_scanner_closing(bool force) override; @@ -119,7 +120,7 @@ public: 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_distortion_check_val(int data) override; //设置畸变矫正值 virtual int get_dpi_color_check_val(int &data); //获取畸变矫正 virtual int set_auto_flat(void); //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 1c8922e..da58f5b 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -837,11 +837,11 @@ int hg_scanner_300::get_speed_mode(int& data) } return ret; } -int hg_scanner_300::set_dpi_color_check_val(void) +int hg_scanner_300::set_distortion_check_val(int data) { int ret = SCANNER_ERR_OK, len = 0; - USBCB usbcb = { setting3288dsp::SET_JUST_COF_V ,save_dpi_color_check_val,resolution_ }; + USBCB usbcb = { setting3288dsp::SET_JUST_COF_V ,data,resolution_ }; len = sizeof(usbcb); io_->write_bulk(&usbcb, &len); @@ -852,6 +852,22 @@ int hg_scanner_300::set_dpi_color_check_val(void) //int ratio = cmd.u32_Data; return ret; } +int hg_scanner_300::get_devs_distortion_check_val(int& data) +{ + int ret = SCANNER_ERR_OK, + len = 0; + USBCB usbcb = { setting3288dsp::GET_JUST_COF_V ,0,resolution_ }; + ret = io_->write_bulk(&usbcb, &len); + if (ret == SCANNER_ERR_OK) + { + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + io_->set_timeout(3000); + ret = io_->read_bulk(&usbcb, &len); + + data = usbcb.u32_Data; + } + return ret; +} int hg_scanner_300::set_auto_flat(void) { USBCB usbcb = { setting3288dsp::START_FLAT,0,0 }; diff --git a/hgdriver/hgdev/hg_scanner_300.h b/hgdriver/hgdev/hg_scanner_300.h index f85c010..f05fdae 100644 --- a/hgdriver/hgdev/hg_scanner_300.h +++ b/hgdriver/hgdev/hg_scanner_300.h @@ -103,7 +103,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_dpi_color_check_val(void) override; //设置畸变矫正 + 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; //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_302.cpp b/hgdriver/hgdev/hg_scanner_302.cpp index ced72ef..148d276 100644 --- a/hgdriver/hgdev/hg_scanner_302.cpp +++ b/hgdriver/hgdev/hg_scanner_302.cpp @@ -1282,7 +1282,7 @@ 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_distortion_check_val(int data) { setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO; if (resolution_ <= 200) diff --git a/hgdriver/hgdev/hg_scanner_302.h b/hgdriver/hgdev/hg_scanner_302.h index 375af2e..10003ca 100644 --- a/hgdriver/hgdev/hg_scanner_302.h +++ b/hgdriver/hgdev/hg_scanner_302.h @@ -125,6 +125,6 @@ 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_dpi_color_check_val(void) override; //设置畸变矫正 + virtual int set_distortion_check_val(int data) override; //设置畸变矫正 virtual int set_auto_flat(void) override; //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_400.cpp b/hgdriver/hgdev/hg_scanner_400.cpp index f5d31d2..f148204 100644 --- a/hgdriver/hgdev/hg_scanner_400.cpp +++ b/hgdriver/hgdev/hg_scanner_400.cpp @@ -879,11 +879,11 @@ int hg_scanner_400::get_speed_mode(int& data) } return ret; } -int hg_scanner_400::set_dpi_color_check_val(void) +int hg_scanner_400::set_distortion_check_val(int data) { int ret = SCANNER_ERR_OK, len = 0; - USBCB usbcb = { setting3288dsp::SET_JUST_COF_H ,1,resolution_ }; + USBCB usbcb = { setting3288dsp::SET_JUST_COF_H ,data,resolution_ }; len = sizeof(usbcb); io_->write_bulk(&usbcb, &len); diff --git a/hgdriver/hgdev/hg_scanner_400.h b/hgdriver/hgdev/hg_scanner_400.h index 41e2edb..f41edc5 100644 --- a/hgdriver/hgdev/hg_scanner_400.h +++ b/hgdriver/hgdev/hg_scanner_400.h @@ -107,6 +107,6 @@ 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,80 virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,70,80 - virtual int set_dpi_color_check_val(void) override; //设置畸变矫正 + virtual int set_distortion_check_val(int data) override; //设置畸变矫正 virtual int set_auto_flat(void); //设置自动平场校正 }; diff --git a/hgdriver/hgdev/hg_scanner_402.cpp b/hgdriver/hgdev/hg_scanner_402.cpp index 4af34c5..ed26229 100644 --- a/hgdriver/hgdev/hg_scanner_402.cpp +++ b/hgdriver/hgdev/hg_scanner_402.cpp @@ -1242,7 +1242,7 @@ 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_distortion_check_val(int data) { setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO; if (resolution_ <= 200) @@ -1252,7 +1252,7 @@ int hg_scanner_402::set_dpi_color_check_val(void) else if (resolution_ > 300 && resolution_ <= 600) retio = setting3399::SR_SET_H_600_RATIO; - return write_register(retio, *(int*)&save_dpi_color_check_val); + return write_register(retio, data); } int hg_scanner_402::set_auto_flat(void) { diff --git a/hgdriver/hgdev/hg_scanner_402.h b/hgdriver/hgdev/hg_scanner_402.h index 7eecac8..e0d575d 100644 --- a/hgdriver/hgdev/hg_scanner_402.h +++ b/hgdriver/hgdev/hg_scanner_402.h @@ -125,6 +125,6 @@ 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,80 virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ data:40,50,60,70,80 - virtual int set_dpi_color_check_val(void) override; //设置畸变矫正 + virtual int set_distortion_check_val(int data) override; //设置畸变矫正 virtual int set_auto_flat(void) override; //设置自动平场校正 }; diff --git a/hgdriver/hgdev/scanner_manager.cpp b/hgdriver/hgdev/scanner_manager.cpp index ca23839..e5d50c6 100644 --- a/hgdriver/hgdev/scanner_manager.cpp +++ b/hgdriver/hgdev/scanner_manager.cpp @@ -61,7 +61,7 @@ g_supporting_devices[] = { #else {0x3072, PID_AND_NAME(100, SCANNER_NAME_HG_G100), "G100", "", &hg_scanner_mgr::create_scanner_g100} , {0x3072, PID_AND_NAME(139, SCANNER_NAME_HG_G100), "G100", "", &hg_scanner_mgr::create_scanner_g239} - , {0x3072, PID_AND_NAME(200, SCANNER_NAME_HG_G200), "G200", "", &hg_scanner_mgr::create_scanner_g100} + , {0x3072, PID_AND_NAME(200, SCANNER_NAME_HG_G200), "G200", "", &hg_scanner_mgr::create_scanner_g239} , {0x3072, PID_AND_NAME(239, SCANNER_NAME_HG_G200), "G200", "", &hg_scanner_mgr::create_scanner_g239} , {0x3072, PID_AND_NAME(300, SCANNER_NAME_HG_G300), "G300", "", &hg_scanner_mgr::create_scanner_g300} , {0x3072, PID_AND_NAME(302, SCANNER_NAME_HG_G300), "G300", "", &hg_scanner_mgr::create_scanner_g302}