diff --git a/hgdriver/hgdev/common_setting.h b/hgdriver/hgdev/common_setting.h index 18b4aad..aad763a 100644 --- a/hgdriver/hgdev/common_setting.h +++ b/hgdriver/hgdev/common_setting.h @@ -732,7 +732,8 @@ namespace setting3288dsp V4L2_IMAGE_EMPTY = 80, //扫描仪内部图片丢失 SLEEPING = 81, //处于休眠中 HAVE_DOGEAR = 82, //检测到有折角 - AUTO_FLATTING = 198,//自动校正中 + HAVE_HOLE = 84 , //检测到纸张有孔洞, 注意不是穿孔,类似于中间破损一块 + AUTO_FLATTING = 198, //自动校正中 USB_DISCONNECTED = 200, //USB 未连接 USER_STOP = 201, //用户点击停止 AUTO_FLAT_FINISHED = 202, //自动校正完成 diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 26f624e..99e1771 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -1094,6 +1094,9 @@ void hg_scanner::working_done(void*) case SCANNER_ERR_DEVICE_DISTORTION: notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_DISTORTION), SANE_EVENT_SCAN_FINISHED, status_); break; + case SCANNER_ERR_DEVICE_MAYBE_IS_HOLE: + notify_ui_working_status(from_default_language(STATU_DESC_SCANNER_ERR_DEVICE_MAYBE_IS_HOLE), SANE_EVENT_SCAN_FINISHED, status_); + break; default: notify_ui_working_status(user_cancel_ ? hg_log::lang_load(ID_STATU_DESC_SCAN_CANCELED) : hg_log::lang_load(ID_STATU_DESC_SCAN_STOPPED), SANE_EVENT_SCAN_FINISHED, status_); break; diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 752b5c8..f5b3004 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -63,6 +63,9 @@ namespace settingsdsp_300 case setting3288dsp::AUTO_FLATTING: code = SCANNER_ERR_DEVICE_AUTO_FAIL_INFO; break; + case setting3288dsp::HAVE_HOLE: + code = SCANNER_ERR_DEVICE_MAYBE_IS_HOLE; + break; default: code = SCANNER_ERR_NO_DATA; break; diff --git a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp index 46d733c..b97d865 100644 --- a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp +++ b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp @@ -248,6 +248,7 @@ extern "C" RETURN_IF(err, SCANNER_ERR_DEVICE_SCANN_ERROR); RETURN_IF(err, SCANNER_ERR_DEVICE_PC_BUSY); RETURN_IF(err, SCANNER_ERR_DEVICE_ISLOCK); + RETURN_IF(err, SCANNER_ERR_DEVICE_MAYBE_IS_HOLE); if (err == SCANNER_ERR_LANG_PAK_LOST) return "SCANNER_ERR_LANG_PAK_LOST"; @@ -318,6 +319,7 @@ extern "C" RETURN_DESC_IF(err, SCANNER_ERR_DEVICE_SCANN_ERROR); RETURN_DESC_IF(err, SCANNER_ERR_DEVICE_PC_BUSY); RETURN_DESC_IF(err, SCANNER_ERR_DEVICE_ISLOCK); + RETURN_DESC_IF(err, SCANNER_ERR_DEVICE_MAYBE_IS_HOLE); if (err == SCANNER_ERR_LANG_PAK_LOST) return "SCANNER_ERR_LANG_PAK_LOST";