From 325f3c2888be1e3c78e10c963fff1b9eeefdc58f Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Tue, 31 Oct 2023 19:10:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BA=E4=BB=B6=E4=B8=8D=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=B1=8F=E8=94=BD=E8=84=8F=E6=B1=A1=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner.cpp | 7 ++++++- hgdriver/hgdev/hg_scanner.h | 6 +++--- hgdriver/hgdev/hg_scanner_239.cpp | 7 +++++-- hgdriver/hgdev/hg_scanner_239.h | 2 +- hgdriver/hgdev/hg_scanner_300.cpp | 2 +- hgdriver/hgdev/hg_scanner_300.h | 2 +- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 55055d7..57a4b5d 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -1454,6 +1454,11 @@ bool hg_scanner::jsn_reorganize() { erase_option(SANE_STD_OPT_NAME_SIZE_CHECK); } + + if (!firmware_sup_dirty_check) + { + erase_option(SANE_STD_OPT_NAME_LENS_DIRTY); + } return true; } int hg_scanner::hgpaper_to_devspaper(Paper_Map papermap[], int len, int& paper, bool* exact, TwSS* type) @@ -3055,7 +3060,7 @@ int hg_scanner::on_process_double_paper(bool type) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } -int hg_scanner::on_detect_lens_dirty(bool type) +int hg_scanner::on_detect_lens_dirty(bool &type) { return SCANNER_ERR_DEVICE_NOT_SUPPORT; } diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index f2fe824..472ffa3 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -264,7 +264,7 @@ protected: virtual int on_is_auto_paper(bool isautopaper) = 0; //待纸扫描 virtual int on_cis_get_image(bool type) = 0; virtual int on_process_double_paper(bool type) = 0; //双张图像校验 - virtual int on_detect_lens_dirty(bool type); //检测镜头脏污 + virtual int on_detect_lens_dirty(bool &type); //检测镜头脏污 virtual int on_set_period(int val); //PWM占空比 protected: @@ -393,8 +393,8 @@ protected: bool firmware_sup_morr_; //固件支持 摩尔纹 139 239-3C0518 bool firmware_sup_color_fill_; //固件支持 色彩填充 139 239 439 -3C bool firmware_sup_history_cnt; //固件支持 清除历史张数 3288 G300 220303 - bool firmware_sup_double_check; //固件支持 双张校验 231021 - bool firmware_sup_dirty_check; //固件支持 脏污检测 231021 + bool firmware_sup_double_check; //固件支持 双张校验 231027 + bool firmware_sup_dirty_check; //固件支持 脏污检测 231027 bool firmware_sup_backup_restore; //固件支持 备份还原 231021 bool firmware_sup_boardTime; //固件支持 板级时间校验 231021 bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21 diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index fbb0efe..f7c716f 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -1113,11 +1113,14 @@ int hg_scanner_239::on_process_double_paper(bool type) dev_conf_.params_3399.double_out_en = type; return SCANNER_ERR_OK; } -int hg_scanner_239::on_detect_lens_dirty(bool type) +int hg_scanner_239::on_detect_lens_dirty(bool &type) { if (!firmware_sup_dirty_check) + { + type = false; return SCANNER_ERR_DEVICE_NOT_SUPPORT; - + } + is_lens_dirty = type; return SCANNER_ERR_OK; } diff --git a/hgdriver/hgdev/hg_scanner_239.h b/hgdriver/hgdev/hg_scanner_239.h index 940abea..1d42421 100644 --- a/hgdriver/hgdev/hg_scanner_239.h +++ b/hgdriver/hgdev/hg_scanner_239.h @@ -76,7 +76,7 @@ protected: virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫描 virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取 virtual int on_process_double_paper(bool type) override; //双张图像校验 - virtual int on_detect_lens_dirty(bool type) override; //检测镜头脏污 + virtual int on_detect_lens_dirty(bool &type) override; //检测镜头脏污 public: diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index a3bc019..6eb8b66 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -1239,7 +1239,7 @@ int hg_scanner_300::on_process_double_paper(bool type) dsp_config.params_3288.en_doublefeed_check = type; return SCANNER_ERR_OK; } -int hg_scanner_300::on_detect_lens_dirty(bool type) +int hg_scanner_300::on_detect_lens_dirty(bool &type) { if (!firmware_sup_dirty_check) return SCANNER_ERR_DEVICE_NOT_SUPPORT; diff --git a/hgdriver/hgdev/hg_scanner_300.h b/hgdriver/hgdev/hg_scanner_300.h index e971dbe..8bfb814 100644 --- a/hgdriver/hgdev/hg_scanner_300.h +++ b/hgdriver/hgdev/hg_scanner_300.h @@ -45,7 +45,7 @@ protected: virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫描 virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取 virtual int on_process_double_paper(bool type) override; //双张图像校验 - virtual int on_detect_lens_dirty(bool type) override; //检测镜头脏污 + virtual int on_detect_lens_dirty(bool &type) override; //检测镜头脏污 public: hg_scanner_300(const char* dev_name,int pid, usb_io* io);