新增边界检测
This commit is contained in:
parent
1c4b6a2653
commit
36bf3518e2
|
@ -799,7 +799,9 @@ namespace setting3288dsp
|
||||||
SCANNER_ACTIVED=0x10, //设备未休眠 休眠返回0x100 未休眠返回0x10
|
SCANNER_ACTIVED=0x10, //设备未休眠 休眠返回0x100 未休眠返回0x10
|
||||||
DOUBLE_FEED_IMAGE=203,//双张校验图像
|
DOUBLE_FEED_IMAGE=203,//双张校验图像
|
||||||
IMAGE_DIRTY_BAND=204,//图像脏污
|
IMAGE_DIRTY_BAND=204,//图像脏污
|
||||||
IMAGE_DIRTY_CIS = 205
|
IMAGE_DIRTY_CIS = 205,
|
||||||
|
//检测到边界异常
|
||||||
|
BOUNDS_OUT_TEST = 99
|
||||||
|
|
||||||
} UsbSupported, * PUsbSupported;
|
} UsbSupported, * PUsbSupported;
|
||||||
//
|
//
|
||||||
|
|
|
@ -675,6 +675,7 @@ void hg_scanner::init_setting_func_map(void)
|
||||||
setting_map_[SANE_STD_OPT_NAME_DISCARDBLANK] = &hg_scanner::setting_set_discardblank;
|
setting_map_[SANE_STD_OPT_NAME_DISCARDBLANK] = &hg_scanner::setting_set_discardblank;
|
||||||
setting_map_[SANE_STD_OPT_NAME_LENS_DIRTY] = &hg_scanner::setting_detect_lens_dirty;
|
setting_map_[SANE_STD_OPT_NAME_LENS_DIRTY] = &hg_scanner::setting_detect_lens_dirty;
|
||||||
setting_map_[SANE_STD_OPT_NAME_PERIOD] = &hg_scanner::setting_set_period;
|
setting_map_[SANE_STD_OPT_NAME_PERIOD] = &hg_scanner::setting_set_period;
|
||||||
|
setting_map_[SANE_STD_OPT_NAME_OUT_BOUNDARY] = &hg_scanner::setting_set_out_boundary;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1257,6 +1258,9 @@ void hg_scanner::working_done(void*)
|
||||||
case SCANNER_ERR_IMAGE_PROC_FATAL:
|
case SCANNER_ERR_IMAGE_PROC_FATAL:
|
||||||
notify_ui_working_status(from_default_language(STATU_DESC_SCANNER_ERR_IMAGE_PROC_FATAL), SANE_EVENT_SCAN_FINISHED, status_);
|
notify_ui_working_status(from_default_language(STATU_DESC_SCANNER_ERR_IMAGE_PROC_FATAL), SANE_EVENT_SCAN_FINISHED, status_);
|
||||||
break;
|
break;
|
||||||
|
case SCANNER_ERR_DEVICE_OUT_BOUNDARY:
|
||||||
|
notify_ui_working_status(from_default_language(STATU_DESC_SCANNER_ERR_DEVICE_OUT_BOUNDARY), SANE_EVENT_SCAN_FINISHED, status_);
|
||||||
|
break;
|
||||||
default:
|
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_);
|
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;
|
break;
|
||||||
|
@ -3044,6 +3048,16 @@ int hg_scanner::setting_set_period(void* data, long* len)
|
||||||
return on_set_period(val);
|
return on_set_period(val);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
int hg_scanner::setting_set_out_boundary(void* data, long* len)
|
||||||
|
{
|
||||||
|
bool use = *((bool*)data);
|
||||||
|
int ret = on_set_out_boundary(use);
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
*((bool*)data) = use;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
int hg_scanner::on_color_mode_changed(int& color_mode)
|
int hg_scanner::on_color_mode_changed(int& color_mode)
|
||||||
{
|
{
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
|
@ -3116,6 +3130,11 @@ int hg_scanner::on_set_period(int val)
|
||||||
{
|
{
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
}
|
}
|
||||||
|
int hg_scanner::on_set_out_boundary(bool& type)
|
||||||
|
{
|
||||||
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
|
}
|
||||||
|
|
||||||
void hg_scanner::on_device_reconnected(void)
|
void hg_scanner::on_device_reconnected(void)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(io_lock_);
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
|
|
|
@ -245,6 +245,7 @@ protected:
|
||||||
int setting_set_discardblank(void* data, long* len);
|
int setting_set_discardblank(void* data, long* len);
|
||||||
int setting_detect_lens_dirty(void* data, long* len);
|
int setting_detect_lens_dirty(void* data, long* len);
|
||||||
int setting_set_period(void* data, long* len);
|
int setting_set_period(void* data, long* len);
|
||||||
|
int setting_set_out_boundary(void* data, long* len);
|
||||||
|
|
||||||
virtual void on_device_reconnected(void);
|
virtual void on_device_reconnected(void);
|
||||||
virtual int on_scanner_closing(bool force);
|
virtual int on_scanner_closing(bool force);
|
||||||
|
@ -266,7 +267,8 @@ protected:
|
||||||
virtual int on_cis_get_image(bool type) = 0;
|
virtual int on_cis_get_image(bool type) = 0;
|
||||||
virtual int on_process_double_paper(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占空比
|
virtual int on_set_period(int val); //PWM占空比
|
||||||
|
virtual int on_set_out_boundary(bool& type); //边界检测
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual int set_setting_value(const char* name, void* data, long* len);
|
virtual int set_setting_value(const char* name, void* data, long* len);
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -46,6 +46,7 @@ protected:
|
||||||
virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取
|
virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取
|
||||||
virtual int on_process_double_paper(bool type) override; //双张图像校验
|
virtual int on_process_double_paper(bool type) override; //双张图像校验
|
||||||
virtual int on_set_period(int val) override; //PWM占空比
|
virtual int on_set_period(int val) override; //PWM占空比
|
||||||
|
virtual int on_set_out_boundary(bool& type); //边界检测
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue