增加上传图像并校验功能,屏蔽302代码内的尺寸检测

This commit is contained in:
yangjiaxuan 2023-10-11 17:39:36 +08:00
parent 2d7d9b5e52
commit e5f3e22cdd
7 changed files with 239 additions and 253 deletions

View File

@ -1,4 +1,4 @@
#include "common_setting.h" #include "common_setting.h"
#include "sane/sane_option_definitions.h" #include "sane/sane_option_definitions.h"
#include "hg_log.h" #include "hg_log.h"
@ -504,12 +504,12 @@ int double_paper_flag_from_option_value(std::string& opt_val, bool* exact)
if (exact) if (exact)
*exact = true; *exact = true;
if (opt_val == hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_SCTXBJXSM)) if (opt_val == hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_SCTXBTZSM))//上传图像并停止
return DOUBLE_PAPER_CONTINUE | DOUBLE_PAPER_SAVE_IMG; return DOUBLE_PAPER_SAVE_IMG;
else if (opt_val == hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_SCTXBTZSM)) else if (opt_val == hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM))//丢弃图像并停止
return DOUBLE_PAPEAR_STOP;
else if (opt_val == from_default_language(OPTION_VALUE_SZTPCL_SCTXBJY))//上传图像并校验
return DOUBLE_PAPER_SAVE_IMG; return DOUBLE_PAPER_SAVE_IMG;
else if (opt_val == hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBJXSM))
return DOUBLE_PAPER_CONTINUE;
else else
{ {
if (exact) if (exact)

View File

@ -273,6 +273,7 @@ enum
{ {
DOUBLE_PAPER_CONTINUE = 0x01, // 继续扫描 DOUBLE_PAPER_CONTINUE = 0x01, // 继续扫描
DOUBLE_PAPER_SAVE_IMG = 0x02, // 保存图片 DOUBLE_PAPER_SAVE_IMG = 0x02, // 保存图片
DOUBLE_PAPEAR_STOP = 0x03 //丢弃并停止
}; };
int double_paper_flag_from_option_value(std::string& opt_val, bool* exact); int double_paper_flag_from_option_value(std::string& opt_val, bool* exact);
std::string double_paper_flag_to_option_value(int flag); std::string double_paper_flag_to_option_value(int flag);
@ -632,7 +633,7 @@ namespace setting_hardware
unsigned int ultrasonic_enable : 1; // 是否进行超声波检测(双/多张进纸检测) unsigned int ultrasonic_enable : 1; // 是否进行超声波检测(双/多张进纸检测)
unsigned int staple_enbale : 1; // 是否进行钉书钉检测 unsigned int staple_enbale : 1; // 是否进行钉书钉检测
unsigned int screw_detect_enable : 1; // 是否歪斜检测 unsigned int screw_detect_enable : 1; // 是否歪斜检测
unsigned int screw_detect_level : 3; // 歪斜检测水平 unsigned int screw_detect_level : 3; // 歪斜检测水平 bit14
unsigned int iscorrect_mod : 1; // 是否自动校正 unsigned int iscorrect_mod : 1; // 是否自动校正
unsigned int is_autopaper : 1; // 是否自动进纸 unsigned int is_autopaper : 1; // 是否自动进纸
// unsigned int reserved1 : 4; // 保留 // unsigned int reserved1 : 4; // 保留
@ -641,7 +642,8 @@ namespace setting_hardware
unsigned int en_anlogic_key : 1; // unsigned int en_anlogic_key : 1; //
unsigned int en_autosize : 1; // unsigned int en_autosize : 1; //
unsigned int pc_correct : 1; // 是否在PC端校正 1:不校正 cis原图0:校正 unsigned int pc_correct : 1; // 是否在PC端校正 1:不校正 cis原图0:校正
unsigned int enable_sizecheck : 1; // 是否进行尺寸检测 //unsigned int enable_sizecheck : 1; // 是否进行尺寸检测 2023-10-11 屏蔽 此bit位变更为double_out_en
unsigned int double_out_en : 1; //true 双张纸搓出出纸口, false 卡在出纸口
unsigned int enabledsp_cache : 1; // 是否在片上缓存 unsigned int enabledsp_cache : 1; // 是否在片上缓存
unsigned int sizeerror_errorratio : 9; // 幅面检测 unsigned int sizeerror_errorratio : 9; // 幅面检测
}params_3399; }params_3399;
@ -1113,11 +1115,24 @@ namespace setting3399
AutoCorrect, AutoCorrect,
STOPSCAN, STOPSCAN,
}; };
enum Image_Status
{
Image_Status_OK = 0, // normal
Image_Status_Double = 1 << 0, // double-feeded paper
Image_Status_Jammed = 1 << 1, // jammed paper
Image_Status_Staple = 1 << 2, // staples on the paper
Image_Status_Size_Error = 1 << 3, // size check failed
Image_Status_Dogear = 1 << 4, // paper has dogear - common
Image_Status_Partial = 1 << 5, // dogear - scanned partial
Image_Status_Blank = 1 << 6 // blank image
};
struct HGEIntInfo struct HGEIntInfo
{ {
HGType From; HGType From;
unsigned int Code; unsigned int Code;
unsigned int Img_Index; unsigned int Img_Index;
Image_Status Img_Status;
}; };
enum PaperSize_ //239 302 402 enum PaperSize_ //239 302 402
{ {

View File

@ -2318,6 +2318,8 @@ int hg_scanner::setting_go_on_when_double_checked(void* data, long* len)
double_paper_handle_ = double_paper_flag_from_option_value(val, &ok); double_paper_handle_ = double_paper_flag_from_option_value(val, &ok);
on_process_double_paper(double_paper_handle_ == DOUBLE_PAPEAR_STOP ? false : true);
// 此处需要通知设备双张处理方式 // 此处需要通知设备双张处理方式
// OPTION_VALUE_SZTPCL_xxx 共4种选择,目前只支持出现双张后停止的两种方式 // OPTION_VALUE_SZTPCL_xxx 共4种选择,目前只支持出现双张后停止的两种方式
// 若要上传出现双张的图片,请确保双张信号在图片之前发出来 // 若要上传出现双张的图片,请确保双张信号在图片之前发出来
@ -2948,6 +2950,10 @@ int hg_scanner::on_cis_get_image(bool isautopaper)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner::on_process_double_paper(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_);
@ -5153,6 +5159,7 @@ int hg_scanner::image_configuration(SCANCONF& ic)
//ic.imageRotateDegree *= 90.0f; //ic.imageRotateDegree *= 90.0f;
//} //}
ic.en_sizecheck = size_check;
ic.is_duplex = (image_prc_param_.bits.page == PAGE_DOUBLE ic.is_duplex = (image_prc_param_.bits.page == PAGE_DOUBLE
|| image_prc_param_.bits.page == PAGE_OMIT_EMPTY || image_prc_param_.bits.page == PAGE_OMIT_EMPTY

View File

@ -260,6 +260,7 @@ protected:
virtual int on_pick_paper_threshold(double threshold) = 0; //设置搓纸阈值 virtual int on_pick_paper_threshold(double threshold) = 0; //设置搓纸阈值
virtual int on_is_auto_paper(bool isautopaper) = 0; //待纸扫描 virtual int on_is_auto_paper(bool isautopaper) = 0; //待纸扫描
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);
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

View File

@ -38,7 +38,7 @@ class hg_scanner_239 : public hg_scanner
int read_register(int addr, int* val); int read_register(int addr, int* val);
int write_register(int addr, int val); int write_register(int addr, int val);
int write_command(int cmd); int write_command(int cmd);
int writedown_device_configuration(bool type = false, setting_hardware::HGSCANCONF_3399* dev_conf = NULL);//false 在startå†<EFBFBD>把type置为true,å…¶ä»å<E28093>šè®¾ç½®æ—¶ä¸<C3A4>å<EFBFBD> int writedown_device_configuration(bool type = false, setting_hardware::HGSCANCONF_3399* dev_conf = NULL);//false 鍦╯tart鍐嶆妸type缃负true,鍏朵粬鍋氳缃椂涓嶅彂
int writedown_image_configuration(void); int writedown_image_configuration(void);
int pop_first_image(void); int pop_first_image(void);
int read_one_image_from_usb(SANE_Image_Statu statu = IMG_STATUS_OK); int read_one_image_from_usb(SANE_Image_Statu statu = IMG_STATUS_OK);
@ -58,21 +58,22 @@ protected:
virtual int discard_all_images(void); virtual int discard_all_images(void);
protected: protected:
virtual int on_color_mode_changed(int& color_mode) override; //颜色切æ<EFBFBD>¢ virtual int on_color_mode_changed(int& color_mode) override; //棰滆壊鍒囨崲
virtual int on_paper_changed(int& paper) override; //纸张大å°<EFBFBD>设置 virtual int on_paper_changed(int& paper) override; //绾稿紶澶у皬璁剧疆
virtual int on_paper_check_changed(bool& check) override; //尺寸检æµ? virtual int on_paper_check_changed(bool& check) override; //灏哄妫€娴?
virtual int on_resolution_changed(int& dpi) override; //分辨率设ç½? virtual int on_resolution_changed(int& dpi) override; //鍒嗚鲸鐜囪缃?
virtual int on_ultrasonic_check_changed(bool& check) override; //设置超声波检æµ? virtual int on_ultrasonic_check_changed(bool& check) override; //璁剧疆瓒呭0娉㈡娴?
virtual int on_staple_check_changed(bool& check) override; //设置订书针检æµ? virtual int on_staple_check_changed(bool& check) override; //璁剧疆璁功閽堟娴?
virtual int on_skew_check_changed(bool& check) override; //设置歪斜检æµ? virtual int on_skew_check_changed(bool& check) override; //璁剧疆姝枩妫€娴?
virtual int on_skew_check_level_changed(int& check) override; //设置歪斜检测强åº? virtual int on_skew_check_level_changed(int& check) override; //璁剧疆姝枩妫€娴嬪己搴?
virtual int on_get_feedmode(int& feedmode) override; //获å<EFBFBD>分纸强度 virtual int on_get_feedmode(int& feedmode) override; //鑾峰彇鍒嗙焊寮哄害
virtual int on_set_feedmode(int feedmode) override; //设置分纸强度 virtual int on_set_feedmode(int feedmode) override; //璁剧疆鍒嗙焊寮哄害
virtual int on_pic_type(bool& pic)override; //照片模å¼<EFBFBD>æˆè€…æ‡æœ¬æ¨¡å¼? virtual int on_pic_type(bool& pic)override; //鐓х墖妯″紡鎴栬€呮枃鏈ā寮?
virtual int on_pick_paper(bool autostrength)override; //自动分纸强度 virtual int on_pick_paper(bool autostrength)override; //鑷姩鍒嗙焊寮哄害
virtual int on_pick_paper_threshold(double threshold)override; virtual int on_pick_paper_threshold(double threshold)override;
virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫æ<C2AB><C3A6> virtual int on_is_auto_paper(bool isautopaper)override; //寰呯焊鎵弿
virtual int on_cis_get_image(bool isautopaper) override; //cis 原å¾èŽ·å<C2B7> virtual int on_cis_get_image(bool isautopaper) override; //cis 鍘熷浘鑾峰彇
virtual int on_process_double_paper(bool type) override;
public: public:
@ -89,60 +90,60 @@ public:
virtual int get_roller_life(void) override; virtual int get_roller_life(void) override;
public: public:
//////////////åºå®šçš„硬件信æ<EFBFBD>¯è®¾ç½®æˆèŽ·å<EFBFBD>////////////// //////////////鍥哄畾鐨勭‖浠朵俊鎭缃垨鑾峰彇//////////////
virtual std::string get_firmware_version(void)override; virtual std::string get_firmware_version(void)override;
virtual std::string get_serial_num(void)override; virtual std::string get_serial_num(void)override;
virtual std::string get_ip(void)override; virtual std::string get_ip(void)override;
virtual std::string get_device_model(void); virtual std::string get_device_model(void);
virtual int set_device_model(string str); virtual int set_device_model(string str);
virtual int set_serial_num(string str) override; //设置åº<EFBFBD>列å<EFBFBD>? virtual int set_serial_num(string str) override; //璁剧疆搴忓垪鍙?
virtual int set_vid_pid(int data) override; //设置vidpid virtual int set_vid_pid(int data) override; //璁剧疆vidpid
virtual int get_vid_pid(int& data)override; //获å<EFBFBD>vidpid virtual int get_vid_pid(int& data)override; //鑾峰彇vidpid
/////////////////æˆ<EFBFBD>功返åž:SCANNER_ERR_OK ///////////// /////////////////鎴愬姛杩斿洖:SCANNER_ERR_OK /////////////
/////////////////失败返回:IO错误ç ?or SCANNER_ERR_DEVICE_NOT_SUPPORT ///////////// /////////////////澶辫触杩斿洖:IO閿欒鐮?or SCANNER_ERR_DEVICE_NOT_SUPPORT /////////////
virtual int set_leaflet_scan(void) override; //å<EFBFBD>•å¼ æ‰«æ<EFBFBD><EFBFBD> virtual int set_leaflet_scan(void) override; //鍗曞紶鎵弿
virtual int set_clear_roller_num(void) override; //清除滚轴计数 virtual int set_clear_roller_num(void) override; //娓呴櫎婊氳酱璁℃暟
virtual int set_clear_history_num(void) override; //清除历å<EFBFBD>²å¼ æ•° virtual int set_clear_history_num(void) override; //娓呴櫎鍘嗗彶寮犳暟
virtual int get_device_code(void); //获å<EFBFBD>设备ç¼ç <EFBFBD> ä¸<C3A4>支æŒ? virtual int get_device_code(void); //鑾峰彇璁惧缂栫爜 涓嶆敮鎸?
virtual int get_scanner_paperon(SANE_Bool& type) override; //获å<EFBFBD>设备有无纸张 /*/ type : 0无纸 1有纸 */ virtual int get_scanner_paperon(SANE_Bool& type) override; //鑾峰彇璁惧鏈夋棤绾稿紶 /*/ type : 0鏃犵焊 1鏈夌焊 */
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获å<EFBFBD>设备是å<EFBFBD>¦ä¼çœ å½“中 /*/ type : 0ä¼çœ  1唤é†çŠ¶æ€?/ virtual int get_scan_is_sleep(SANE_Bool& type) override; //鑾峰彇璁惧鏄惁浼戠湢褰撲腑 /*/ type : 0浼戠湢 1鍞ら啋鐘舵€?/
virtual int get_sleep_time(int& data) override; //获å<EFBFBD>功耗模å¼<EFBFBD>(ä¼çœ ï¼? /*/ data > 0*/ virtual int get_sleep_time(int& data) override; //鑾峰彇鍔熻€楁ā寮忥紙浼戠湢锛? /*/ data > 0*/
virtual int set_sleep_time(int data) override; //设置功耗模å¼<EFBFBD>(ä¼çœ ï¼? /*/ data > 0*/ virtual int set_sleep_time(int data) override; //璁剧疆鍔熻€楁ā寮忥紙浼戠湢锛? /*/ data > 0*/
virtual int get_history_scan_count(int& data) override; //获å<EFBFBD>历å<EFBFBD>²æ‰«æ<EFBFBD><EFBFBD>å¼ æ•° /*/ data > 0*/ virtual int get_history_scan_count(int& data) override; //鑾峰彇鍘嗗彶鎵弿寮犳暟 /*/ data > 0*/
virtual int get_roller_num(int& data) override; //获å<EFBFBD>滚轮张数 /*/ 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; //获å<EFBFBD>设备日志 /*/ log :储存路径*/ virtual int get_device_log(string& log) override; //鑾峰彇璁惧鏃ュ織 /*/ log :鍌ㄥ瓨璺緞*/
virtual int set_devreboot(int data) override; //设置设备é‡<EFBFBD>å<EFBFBD>¯ virtual int set_devreboot(int data) override; //璁剧疆璁惧閲嶅惎
virtual int set_devshtudown() override; //设置设备关机 virtual int set_devshtudown() override; //璁剧疆璁惧鍏虫満
virtual int set_scan_islock(SANE_Bool type) override; //设置设备是å<EFBFBD>¦é”<EFBFBD>定 /*/ type:0解é”<C3A9>ï¼?é”<C3A9>定*/ virtual int set_scan_islock(SANE_Bool type) override; //璁剧疆璁惧鏄惁閿佸畾 /*/ type:0瑙攣锛?閿佸畾*/
virtual int get_scan_islock(SANE_Bool& type) override; //获å<EFBFBD>设备是å<EFBFBD>¦é”<EFBFBD>定 /*/ type:0解é”<C3A9>ï¼?é”<C3A9>定*/ virtual int get_scan_islock(SANE_Bool& type) override; //鑾峰彇璁惧鏄惁閿佸畾 /*/ type:0瑙攣锛?閿佸畾*/
virtual int set_scan_lock_check_val(string str) override; //获å<EFBFBD>设备是å<EFBFBD>¦é”<EFBFBD>定 /*/ str:校验ç ?/ virtual int set_scan_lock_check_val(string str) override; //鑾峰彇璁惧鏄惁閿佸畾 /*/ str:鏍¢獙鐮?/
virtual int set_firmware_upgrade(std::string str) override; //åºä»¶å<EFBFBD>‡çº§ /*/ str:æ‡ä»¶å<C2B6><C3A5>è·¯å¾?/ virtual int set_firmware_upgrade(std::string str) override; //鍥轰欢鍗囩骇 /*/ str:鏂囦欢鍚嶈矾寰?/
virtual int set_clean_paper_road() override; //清ç<EFBFBD>†çº¸é<EFBFBD> virtual int set_clean_paper_road() override; //娓呯悊绾搁亾
virtual int get_dev_islock_file(int& data) override; //获å<EFBFBD>设备æ‡ä»¶ /*/ data:0 未上é”<C3A9>,1 上é”<C3A9>ã€?1 未å<C2AA>现é»å<E28098><C3A5>å<EFBFBD>•åˆ—表 -2列表没有信æ<C2A1>¯*/ 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 未上é”<C3A9>,1 上é”<C3A9>*/ virtual int set_dev_islock_file(int data) override; //璁剧疆璁惧鏂囦欢 /*/ data:0 鏈笂閿侊紝1 涓婇攣*/
virtual int get_scan_mode(bool& type); //获å<EFBFBD>是å<EFBFBD>¦æ˜¯è®¡æ•°æ¨¡å¼? /*/ type : fasle计数模å¼<C3A5> trueé<65>žè®¡æ•?*/ virtual int get_scan_mode(bool& type); //鑾峰彇鏄惁鏄鏁版ā寮? /*/ type : fasle璁℃暟妯″紡 true闈炶鏁?*/
virtual int set_speed_mode(int data) override; //设置速度模å¼<EFBFBD> /*/ data:100,110,120 virtual int set_speed_mode(int data) override; //璁剧疆閫熷害妯″紡 /*/ data:100,110,120
virtual int get_speed_mode(int& data)override; //获å<EFBFBD>速度模å¼<EFBFBD> /*/ data:100,110,120 virtual int get_speed_mode(int& data)override; //鑾峰彇閫熷害妯″紡 /*/ data:100,110,120
virtual int set_devs_distortion_check_val(float data) override; //设置畸å<EFBFBD>˜çŸ«æ­£å€? virtual int set_devs_distortion_check_val(float data) override; //璁剧疆鐣稿彉鐭鍊?
virtual int get_devs_distortion_check_val(float &data) override; //获å<EFBFBD>畸å<EFBFBD>˜çŸ«æ­£å€? virtual int get_devs_distortion_check_val(float &data) override; //鑾峰彇鐣稿彉鐭鍊?
virtual int set_auto_flat(int data); //设置自动平场校正 virtual int set_auto_flat(int data); //璁剧疆鑷姩骞冲満鏍℃
// data:0(ALL) 1(200dpiã€<EFBFBD>gray) 2(200dpiã€<C3A3>color) 3(300dpiã€<C3A3>gray) 4(300dpiã€<C3A3>color) 5(600dpiã€<C3A3>gray) 6(600dpiã€<C3A3>color) // data:0(ALL) 1(200dpi銆乬ray) 2(200dpi銆乧olor) 3(300dpi銆乬ray) 4(300dpi銆乧olor) 5(600dpi銆乬ray) 6(600dpi銆乧olor)
virtual int get_motor_board_ver(string &ver); virtual int get_motor_board_ver(string &ver);
virtual int set_devs_time(string times); //设置设备时间 //3399设备支æŒ<C3A6> virtual int set_devs_time(string times); //璁剧疆璁惧鏃堕棿 //3399璁惧鏀寔
virtual int get_devs_time(string& times); //获å<EFBFBD>设备时间 //3399设备支æŒ<C3A6> virtual int get_devs_time(string& times); //鑾峰彇璁惧鏃堕棿 //3399璁惧鏀寔
virtual int get_devs_cpu(string& cpu); //获å<EFBFBD>设备内存大å°<EFBFBD> virtual int get_devs_cpu(string& cpu); //鑾峰彇璁惧鍐呭瓨澶у皬
virtual int get_devs_disk(string& disk); //获å<EFBFBD>设备硬ç˜å®¹é‡<EFBFBD>大å°<EFBFBD> virtual int get_devs_disk(string& disk); //鑾峰彇璁惧纭洏瀹归噺澶у皬
}; };

View File

@ -478,7 +478,7 @@ int hg_scanner_302::writedown_device_configuration(bool type,setting_hardware::H
|| image_prc_param_.bits.paper == PAPER_16K_LATERAL || image_prc_param_.bits.paper == PAPER_16K_LATERAL
) )
{ {
dev_conf->params_3399.enable_sizecheck = false; //dev_conf->params_3399.enable_sizecheck = false;
} }
{ {
std::lock_guard<std::mutex> lock(io_lock_); std::lock_guard<std::mutex> lock(io_lock_);
@ -500,7 +500,7 @@ int hg_scanner_302::writedown_image_configuration(void)
ic.imageRotateDegree = (float)image_prc_param_.bits.text_direction; ic.imageRotateDegree = (float)image_prc_param_.bits.text_direction;
else else
ic.imageRotateDegree = 0; ic.imageRotateDegree = 0;
ic.en_sizecheck = dev_conf_.params_3399.enable_sizecheck; //ic.en_sizecheck = dev_conf_.params_3399.enable_sizecheck;
ic.hardwarecaps.en_skrewdetect = dev_conf_.params_3399.screw_detect_enable; ic.hardwarecaps.en_skrewdetect = dev_conf_.params_3399.screw_detect_enable;
ic.hardwarecaps.en_doublefeed = dev_conf_.params_3399.ultrasonic_enable; ic.hardwarecaps.en_doublefeed = dev_conf_.params_3399.ultrasonic_enable;
ic.hardwarecaps.en_stapledetect = dev_conf_.params_3399.staple_enbale; ic.hardwarecaps.en_stapledetect = dev_conf_.params_3399.staple_enbale;
@ -742,17 +742,17 @@ int hg_scanner_302::on_paper_check_changed(bool& check)
{ {
int ret = SCANNER_ERR_OK; int ret = SCANNER_ERR_OK;
if (dev_conf_.params_3399.enable_sizecheck ^ check) //if (dev_conf_.params_3399.enable_sizecheck ^ check)
{ //{
dev_conf_.params_3399.enable_sizecheck = check; // dev_conf_.params_3399.enable_sizecheck = check;
ret = writedown_device_configuration(); // ret = writedown_device_configuration();
if (ret) // if (ret)
{ // {
dev_conf_.params_3399.enable_sizecheck = !check; // dev_conf_.params_3399.enable_sizecheck = !check;
check = dev_conf_.params_3399.enable_sizecheck; // check = dev_conf_.params_3399.enable_sizecheck;
} // }
} //}
if (image_prc_param_.bits.paper == PAPER_AUTO_MATCH if (image_prc_param_.bits.paper == PAPER_AUTO_MATCH
||image_prc_param_.bits.paper == PAPER_MAX_SIZE ||image_prc_param_.bits.paper == PAPER_MAX_SIZE
||image_prc_param_.bits.paper == PAPER_MAX_SIZE_CLIP ||image_prc_param_.bits.paper == PAPER_MAX_SIZE_CLIP
@ -763,7 +763,7 @@ int hg_scanner_302::on_paper_check_changed(bool& check)
) )
{ {
setting_hardware::HGSCANCONF_3399 *d = &dev_conf_; setting_hardware::HGSCANCONF_3399 *d = &dev_conf_;
d->params_3399.enable_sizecheck = false; //d->params_3399.enable_sizecheck = false;
ret = writedown_device_configuration(d); ret = writedown_device_configuration(d);
} }