diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index f71ab69..911c804 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -89,9 +89,9 @@ class hg_scanner std::string family_; std::string save_multiout; //保存多留输出类型 bool save_sizecheck; - bool read_over_with_no_data_; // 针对第三方调用,在最后一段数据时是否返回“SCANNER_ERR_NO_DATA? - int is_color_type_;//保存最后下发到设备的颜色类? - bool have_max_size; //条目是否存在最大尺? + bool read_over_with_no_data_; // 针对第三方调用,在最后一段数据时是否返回“SCANNER_ERR_NO_DATA” + int is_color_type_;//保存最后下发到设备的颜色类型 + bool have_max_size; //条目是否存在最大尺寸 sane_callback ui_ev_cb_; @@ -135,17 +135,17 @@ class hg_scanner void reset_custom_area_range(int paper); float reset_custom_area_jsn_value(const char* name, double& var, float range_l, float range_u, float value_l, float value_u); // return cur value int set_color_change(void); - bool jsn_reorganize(); // 固件版本不同 初始化json要做出相对应的删? + bool jsn_reorganize(); // 固件版本不同 初始化json要做出相对应的删除 public: // 设置接口 protected: - // 配置序号映射数组,各子类必须重载“init_setting_map”方法以初始化该数组 --> 2022-05-09:基类中以title自动匹配功能序号,子类不必再处理并屏蔽此项工? - // 比如? 某型设备的“颜色模式”功能号?,则 setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = 1 + // 配置序号映射数组,各子类必须重载“init_setting_map”方法以初始化该数组 --> 2022-05-09:基类中以title自动匹配功能序号,子类不必再处理并屏蔽此项工作 + // 比如: 某型设备的“颜色模式”功能号为1,则 setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = 1 // 如果设备的“颜色模式”配置逻辑与基类预定义的不同, - // ?setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = -1,在子类重载的set_setting_value方法中处? + // 则 setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = -1,在子类重载的set_setting_value方法中处理 // // 2022-06-28: 属性处理函数改用map结构存储,只须处理set_setting_map函数即可 // int setting_map_[HG_BASE_SETTING_INDEX_MAX]; @@ -259,14 +259,14 @@ protected: virtual int on_skew_check_level_changed(int& check) = 0; virtual int on_get_feedmode(int& feedmode) = 0; //获取分纸强度 virtual int on_set_feedmode(int feedmode) = 0; //设置分纸强度 - virtual int on_pic_type(bool& pic) = 0; //照片模式或者文本模? + virtual int on_pic_type(bool& pic) = 0; //照片模式或者文本模式 virtual int on_pick_paper(bool autostrength) = 0; //设置搓纸使能 - 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_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_set_period(int val); //PWM占空? + virtual int on_detect_lens_dirty(bool &type); //检测镜头脏污 + virtual int on_set_period(int val); //PWM占空比 protected: virtual int set_setting_value(const char* name, void* data, long* len); @@ -274,7 +274,7 @@ protected: virtual void thread_handle_usb_read(void) = 0; virtual void thread_handle_islock_read(); int hg_version_init_handle(); - int set_server_blacklist_lock(); // 0:不锁?1:锁定 + int set_server_blacklist_lock(); // 0:不锁定 1:锁定 void hg_version_free_handle(); // adjust color or apply custom gamma void adjust_color(hg_imgproc::HIMGPRC handle); @@ -300,9 +300,9 @@ protected: int status_; bool async_io_; bool cb_mem_; - bool test_1_paper_; // 是否为单张扫描模? + bool test_1_paper_; // 是否为单张扫描模式 std::vector jsn_children_; - std::vector erase_depend_; //需要删除父依赖? + std::vector erase_depend_; //需要删除父依赖项 json setting_jsn_; IMGPRCFIXPARAM image_prc_param_; @@ -311,57 +311,57 @@ protected: int noise_range_; // 噪点优化尺寸 TwSS paper_size_; int omit_empty_level_; // 跳过空白页灵敏度 - int resolution_; // 分辨? + int resolution_; // 分辨率 double rid_hole_range_; // 穿孔移除范围 int bright_; // 亮度 - int contrast_; // 对比? + int contrast_; // 对比度 double gamma_; // 伽玛 - int threshold_; // 阈? + int threshold_; // 阈值 int anti_noise_; // 背景搞噪等级 int margin_; // 边缘缩进 int fractate_level_; // 折角检测复杂度 int scan_count_; // 扫描张数,各实例化类在重载set_setting_value中,如果发现该设置项对该参数有影响时,需要对此值作更改 bool is_auto_matic_color;// 自动颜色识别 - int is_quality_; // 画质设置 0 - 速度优先? - 画质优先 + int is_quality_; // 画质设置 0 - 速度优先;1 - 画质优先 bool is_color_fill; // 色彩填充 bool is_multiout; // 多流输出 - int bw_threshold_; // 黑白图像阈?(added on 2022-06-28? + int bw_threshold_; // 黑白图像阈值 (added on 2022-06-28) int feedmode_; // 分纸强度 int sleeptime_; // 睡眠时间 bool is_auto_paper_scan; // 待纸扫描 - bool size_check; // 尺寸检? - bool save_feedmode_type_; //保存分支强度狀? + bool size_check; // 尺寸检测 + bool save_feedmode_type_; //保存分支强度狀態 bool save_sleeptime_type_; //保存休眠時間 - bool isremove_left_hole; //设置左边除穿? - bool isremove_right_hole; //设置右边除穿? - bool isremove_top_hole; //设置上边除穿? - bool isremove_low_hole; //设置下边除穿? - double isremove_left_hole_threshold; //设置左边除穿孔阈? - double isremove_right_hole_threshold; //设置右边除穿孔阈? - double isremove_top_hole_threshold; //设置上边除穿孔阈? - double isremove_low_hole_threshold; //设置下边除穿孔阈? + bool isremove_left_hole; //设置左边除穿孔 + bool isremove_right_hole; //设置右边除穿孔 + bool isremove_top_hole; //设置上边除穿孔 + bool isremove_low_hole; //设置下边除穿孔 + double isremove_left_hole_threshold; //设置左边除穿孔阈值 + double isremove_right_hole_threshold; //设置右边除穿孔阈值 + double isremove_top_hole_threshold; //设置上边除穿孔阈值 + double isremove_low_hole_threshold; //设置下边除穿孔阈值 int fold_type_; //对折类型 bool is_cis_image; //设置cis获取原图 - bool is_dpi_color_check; //纵向DPI、色差检? ,畸变自动计算 - float save_dpi_color_check_val; //保存纵向DPI、色差检? ,畸变自动计算 的? + bool is_dpi_color_check; //纵向DPI、色差检测 ,畸变自动计算 + float save_dpi_color_check_val; //保存纵向DPI、色差检测 ,畸变自动计算 的值 bool is_auto_falt; //是否进行平场校正 bool color_correction_; //是否色彩校正 - int is_auto_paper_scan_exit_time; //待纸扫描退出时? + int is_auto_paper_scan_exit_time; //待纸扫描退出时间 bool is_auto_feedmode_; //是否启用自动分纸强度 - bool is_discardblank; //是否启动跳过空白? - bool is_lens_dirty; //是否检测镜头脏? - int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处? + bool is_discardblank; //是否启动跳过空白页 + bool is_lens_dirty; //是否检测镜头脏污 + int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处理 int pid_; - SANE_DISTORTION_VAL distortion_val; //畸变修正结构体保? + SANE_DISTORTION_VAL distortion_val; //畸变修正结构体保存 /////////不同的固件号版本支持 bool firmware_sup_wait_paper_; //固件支持 待纸扫描 139 239-3B0431, 439-3B0629 bool firmware_sup_pick_strength_; //固件支持 分纸强度 139 239-3B0830 bool firmware_sup_log_export_; //固件支持 日志导出 139 239-3B0429 - bool firmware_sup_log_export_G300_; //固件支持 不用协议,直接读片上文件,设备日志导? 300 - 0430 + bool firmware_sup_log_export_G300_; //固件支持 不用协议,直接读片上文件,设备日志导出 300 - 0430 bool firmware_sup_color_corr_; //固件支持 偏色校正 139 239 439-3C bool firmware_sup_wake_device_; //固件支持 唤醒设备 139 239-3B0830 bool firmware_sup_double_img; //固件支持 双张保留 139 239-3C @@ -369,19 +369,19 @@ protected: bool firmware_sup_dpi_300; //固件支持 真实DPI300 139 239-21227,此版本以下,不支持真实dpi,dpi设置1 //3288 G300 用到 bool firmware_sup_dpi_600; //固件支持 真实DPI600 139 239-21227,此版本以下,不支持真实dpi,dpi设置1 bool firmware_sup_auto_speed_; //固件支持 自适应速度 139 239 439 -3C - bool firmware_sup_morr_; //固件支持 摩尔? 139 239-3C0518 + 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; //固件支持 双张校验 231027 - bool firmware_sup_dirty_check; //固件支持 脏污检? 231027 + bool firmware_sup_dirty_check; //固件支持 脏污检测 231027 bool firmware_sup_backup_restore; //固件支持 备份还原 231021 bool firmware_sup_boardTime; //固件支持 板级时间校验 231021 - bool firmware_sup_permeation_level; //固件支持 防渗透等? 3399-3C1206 + bool firmware_sup_permeation_level; //固件支持 防渗透等级 3399-3C1206 bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21 int mat_width; int mat_height; - SCANCONF img_conf_; //此参数外部不做任何改变,请在writedown_image_configuration做修? + SCANCONF img_conf_; //此参数外部不做任何改变,请在writedown_image_configuration做修改 std::string img_type_; std::string dump_usb_path_; // 诊断模式,输出USB原始图像 @@ -392,7 +392,7 @@ protected: unsigned long memory_size_; // MB unsigned long wait_mem_seconds_; // wait up to wait_mem_seconds_ if memory usage is great than memory_size_ bool isx86_Advan_; - bool no_paper_check_ = false; // 扫描前是否检测无纸状态;可以通过配置[func]no-paper-chk=1开? + bool no_paper_check_ = false; // 扫描前是否检测无纸状态;可以通过配置[func]no-paper-chk=1开启 int stop_fatal_; BlockingQueue> imgs_; @@ -407,7 +407,7 @@ protected: int init_settings(int pid); void change_string_2_lang_id(const char* name, const char* key); std::string get_setting_item_string(const char* name, const char* key); - int on_scann_error(int err); // 返回?”忽略错误继续执行,其它值则停止后续工作 + int on_scann_error(int err); // 返回“0”忽略错误继续执行,其它值则停止后续工作 int try_third_app_handle_start(bool& handled); int try_third_app_after_start(int err); std::shared_ptr aquire_memory(int size, bool from_usb = true); @@ -424,24 +424,24 @@ protected: int wait_one_image_from_start(bool& handled); //////////////////////////////////////////////////////////////// - // 新增自定义伽玛曲线及扫描区域属?- 2022-05-05 - bool custom_gamma_; // 为true时,应用custom_gamma_val_阵列调整图像色彩;为false时,保持原来的处理方? - SANE_Gamma *custom_gamma_val_; // 当为RGB或者彩色时,为三组256字节的数据;当为黑白或灰度时,只有一?56字节 + // 新增自定义伽玛曲线及扫描区域属性 - 2022-05-05 + bool custom_gamma_; // 为true时,应用custom_gamma_val_阵列调整图像色彩;为false时,保持原来的处理方式 + SANE_Gamma *custom_gamma_val_; // 当为RGB或者彩色时,为三组256字节的数据;当为黑白或灰度时,只有一组256字节 bool custom_area_; // 是否启用自定义区域,为true时才使用下列4个数据;为false时保持原来的处理方式 double custom_area_lt_x_; // 自定义区域左上角x坐标 double custom_area_lt_y_; // 自定义区域左上角y坐标 double custom_area_br_x_; // 自定义区域右下角x坐标 double custom_area_br_y_; // 自定义区域右下角y坐标 - SIZE paper_size_mm_; // 当前纸张尺寸(mm? - // 新增自定义伽玛曲线及扫描区域属?- END + SIZE paper_size_mm_; // 当前纸张尺寸(mm) + // 新增自定义伽玛曲线及扫描区域属性 - END //////////////////////////////////////////////////////////////// // 2022-07-23 新增双张之后留图继续扫描 int double_paper_handle_; // 汉王要求出现双张的时候可保留 - bool keep_watermark_; // 汉王要求图像处理过程中保留水?- 是否与背景移除、背景填充相关??? + bool keep_watermark_; // 汉王要求图像处理过程中保留水印 - 是否与背景移除、背景填充相关??? - // 2022-08-31 新增黑白图像是否反色输出(PNM黑白像素与BMP黑白像素相反? - bool is_white_0_; // 是否?’代表白? + // 2022-08-31 新增黑白图像是否反色输出(PNM黑白像素与BMP黑白像素相反) + bool is_white_0_; // 是否‘0’代表白色 public: int start(void); @@ -480,7 +480,7 @@ public: virtual int reset(void); virtual int device_io_control(unsigned long code, void* data, unsigned* len); virtual int discard_all_images(void) = 0; - virtual int get_roller_life(void); // 获取滚轴最大寿? + virtual int get_roller_life(void); // 获取滚轴最大寿命 public: hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io,int pid); @@ -497,52 +497,52 @@ public: virtual std::string get_device_model(void); virtual int set_device_model(string str); - virtual int set_serial_num(string str) = 0; //设置序列? + virtual int set_serial_num(string str) = 0; //设置序列号 virtual int set_vid_pid(int data) = 0; //设置vidpid virtual int get_vid_pid(int& data) = 0; //获取vidpid /////////////成功返回:SCANNER_ERR_OK ///////////// - /////////////失败返回:IO错误? ///////////// + /////////////失败返回:IO错误码 ///////////// virtual int set_leaflet_scan(void) = 0; //单张扫描 virtual int get_abuot_info(void); //获取软件关于信息 (基类实现) virtual int restore_default_setting(void); //恢复默认设置 (基类实现) virtual int set_final_image_format(SANE_FinalImgFormat* fmt);//设置图像处理最终输出(final())的图像数据格式 (基类实现) *** - virtual int get_compression_format(void); //获取支持的压缩格? 不支? - virtual int set_compression_format(void); //设置图像数据最终输出的压缩格式 不支? + virtual int get_compression_format(void); //获取支持的压缩格式 不支持 + virtual int set_compression_format(void); //设置图像数据最终输出的压缩格式 不支持 virtual int set_auto_color_type(void); //设置自动匹配颜色模式 (基类实现) virtual int set_clear_roller_num(void) = 0; //清除滚轴计数 virtual int set_clear_history_num(void) = 0; //清除历史张数 - virtual int get_device_code(void); //获取设备编码 不支? - virtual int get_scanner_paperon(SANE_Bool& type)=0; //获取设备有无纸张 /*/ type : false无纸(不正常状态false? true有纸 */ - virtual int get_scan_is_sleep(SANE_Bool& type) = 0; //获取设备是否休眠当中 /*/ type : false休眠(不正常状态false? true未休?/ - virtual int get_sleep_time(int& data) = 0; //获取功耗模式(休眠? /*/ data > 0*/ - virtual int set_sleep_time(int data) = 0; //设置功耗模式(休眠? /*/ data > 0*/ + virtual int get_device_code(void); //获取设备编码 不支持 + virtual int get_scanner_paperon(SANE_Bool& type)=0; //获取设备有无纸张 /*/ type : false无纸(不正常状态false) true有纸 */ + virtual int get_scan_is_sleep(SANE_Bool& type) = 0; //获取设备是否休眠当中 /*/ type : false休眠(不正常状态false) true未休眠*/ + virtual int get_sleep_time(int& data) = 0; //获取功耗模式(休眠) /*/ data > 0*/ + virtual int set_sleep_time(int data) = 0; //设置功耗模式(休眠) /*/ data > 0*/ virtual int get_history_scan_count(int &data) = 0; //获取历史扫描张数 /*/ data > 0*/ virtual int get_roller_num(int &data) = 0; //获取滚轮张数 /*/ data > 0*/ virtual int set_notify_sleep(void) = 0; //唤醒设备 virtual int get_device_log(string &log) = 0; //获取设备日志 /*/ log :储存路径*/ - virtual int set_devreboot(int data) = 0; //设置设备重启 /*/ data:0 reboot data:1 1进入loader,0普通重? + virtual int set_devreboot(int data) = 0; //设置设备重启 /*/ data:0 reboot data:1 1进入loader,0普通重启 virtual int set_devshtudown() = 0; //设置设备关机 - virtual int set_scan_islock(SANE_Bool type) = 0; //设置设备是否锁定 /*/ type:0解锁?锁定*/ - virtual int get_scan_islock(SANE_Bool& type) = 0; //获取设备是否锁定 /*/ type:0解锁?锁定*/ - virtual int set_scan_lock_check_val(string str) = 0; //获取设备是否锁定 /*/ str:校验?/ - virtual int set_firmware_upgrade(std::string str) = 0; //固件升级 /*/ str:文件名路?/ + virtual int set_scan_islock(SANE_Bool type) = 0; //设置设备是否锁定 /*/ type:0解锁,1锁定*/ + virtual int get_scan_islock(SANE_Bool& type) = 0; //获取设备是否锁定 /*/ type:0解锁,1锁定*/ + virtual int set_scan_lock_check_val(string str) = 0; //获取设备是否锁定 /*/ str:校验码*/ + virtual int set_firmware_upgrade(std::string str) = 0; //固件升级 /*/ str:文件名路径*/ virtual int set_clean_paper_road() = 0; //清理纸道 - virtual int get_dev_islock_file(int &data) = 0; //获取设备文件 /*/ data:0 未上锁,1 上锁?1 未发现黑名单列表 -2列表没有信息*/ + virtual int get_dev_islock_file(int &data) = 0; //获取设备文件 /*/ data:0 未上锁,1 上锁。-1 未发现黑名单列表 -2列表没有信息*/ virtual int set_dev_islock_file(int data) = 0; //设置设备文件 /*/ data:0 未上锁,1 上锁*/ - virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模? - virtual int set_speed_mode(int data) = 0; //设置速度模式 /*/ 设备不同值不同,详情见子类注? - virtual int get_speed_mode(int &data) = 0; //获取速度模式 /*/ 设备不同值不同,详情见子类注? - virtual int set_distortion_image(bool type); //设置畸变校正? /*/ 基类处理 - virtual int get_distortion_check_val(int &val); //获取自动计算畸变校正? /*/ 基类处理 - virtual int set_devs_distortion_check_val(float data) = 0; //设置畸变矫正? float; - virtual int get_devs_distortion_check_val(float& data) = 0; //获取设备畸变? float; + virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模式 + virtual int set_speed_mode(int data) = 0; //设置速度模式 /*/ 设备不同值不同,详情见子类注释 + virtual int get_speed_mode(int &data) = 0; //获取速度模式 /*/ 设备不同值不同,详情见子类注释 + virtual int set_distortion_image(bool type); //设置畸变校正图 /*/ 基类处理 + virtual int get_distortion_check_val(int &val); //获取自动计算畸变校正值 /*/ 基类处理 + virtual int set_devs_distortion_check_val(float data) = 0; //设置畸变矫正值 float; + virtual int get_devs_distortion_check_val(float& data) = 0; //获取设备畸变值 float; virtual int set_auto_flat(int data) = 0; //设置自动平场校正 // data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color) virtual int set_updata0303(void) ; - virtual int get_motor_board_ver(string &ver); //获取G239电机板的固件?//3399设备支持 + virtual int get_motor_board_ver(string &ver); //获取G239电机板的固件号 //3399设备支持 virtual int set_devs_time(string times); //设置设备时间 //3399设备支持 virtual int get_devs_time(string ×); //获取设备时间 //3399设备支持 virtual int get_devs_cpu(int& cpu); //获取设备内存大小(kb) diff --git a/hgdriver/hgdev/hg_scanner_200.cpp b/hgdriver/hgdev/hg_scanner_200.cpp index 4728d00..c8d29c4 100644 --- a/hgdriver/hgdev/hg_scanner_200.cpp +++ b/hgdriver/hgdev/hg_scanner_200.cpp @@ -87,7 +87,7 @@ hg_scanner_200::hg_scanner_200(const char* dev_name,int pid, usb_io* io) : hg_sc dsp_config_.value = 0; #ifndef MAPPING_FUNCTION_IN_BASE - init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始? + init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化 #endif if (init_settings(0x200)) init_settings((jsontext1 + jsontext2 + jsontext3).c_str()); @@ -491,7 +491,7 @@ int hg_scanner_200::writedown_device_configuration(bool type,setting_hardware::H int ret = SCANNER_ERR_OK, len = 0; - setting_hardware::HGSCANCONF_DSP p = dsp_config_; //不得改变外部的? + setting_hardware::HGSCANCONF_DSP p = dsp_config_; //不得改变外部的值 if (!d) d = &p; @@ -688,7 +688,7 @@ int hg_scanner_200::on_is_auto_paper(bool isautopaper) int hg_scanner_200::on_cis_get_image(bool isautopaper) { is_cis_image = isautopaper; - dsp_config_.params_dsp.isCorrect = isautopaper == true ? 0 : 1; //0设置获取cis原图?校正之后的图 + dsp_config_.params_dsp.isCorrect = isautopaper == true ? 0 : 1; //0设置获取cis原图,1校正之后的图 return writedown_device_configuration(); } int hg_scanner_200::on_process_double_paper(bool type) @@ -746,7 +746,7 @@ void hg_scanner_200::writedown_image_configuration(void) ic.hardwarecaps.skrewdetectlevel = dsp_config_.params_dsp.screw_detect_level; // ic.hardwarecaps.is_autopaper = dsp_config_.params_dsp.is_autopaper; ic.hardwarecaps.capturepixtype = 0; //暂无参数 获取图像类型 - ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使? + ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使用 image_configuration(ic); //agreement(); @@ -774,7 +774,7 @@ std::string hg_scanner_200::get_firmware_version() { char buf[20] = { 0 }; int ret = SCANNER_ERR_OK, - len = 8; //协议定义长度? 300 400 =10 + len = 8; //协议定义长度为8 300 400 =10 USBCB cmd = { setting3288dsp::GET_FW_VERSION, len, 0 }; { @@ -792,7 +792,7 @@ std::string hg_scanner_200::get_serial_num() { char buf[20] = { 0 }; int ret = SCANNER_ERR_OK, - len = 12; //协议定义长度? 300 400 =10 + len = 12; //协议定义长度为8 300 400 =10 USBCB cmd = { setting3288dsp::GET_SERIAL, len, 0 }; { diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 2e9b5c9..f709521 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -89,7 +89,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : { VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "hg_scanner_300(%s) constructing ...\n", hg_log::format_ptr(this).c_str()); dsp_config.value = 0; - dsp_config.params_3288.enableLed = 1; //默认? + dsp_config.params_3288.enableLed = 1; //榛樿鍊? dsp_config.params_3288.isCorrect = 1; int ret = initdevice(); @@ -118,7 +118,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : firmware_sup_log_export_G300_ = year_date.compare("230430") >= 0 ? true : false; #ifndef MAPPING_FUNCTION_IN_BASE - init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始? + init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化 #endif if (init_settings(pid_)) @@ -159,11 +159,11 @@ void hg_scanner_300::thread_handle_usb_read(void) } //printf("usb.u32_Data = %d ret = %d\r\n",usb.u32_Data,ret); - //如果设备出现卡纸 或者双张等设备信息问题,需要等到设备进行发送stop才能停止?所以始终以 "停止" 消息为结束信? - //如果有图的情况下,并且卡纸或双张等,设备会先发送卡纸双张信息。所以接受到错误信息之后,仍需要把图像取出来? + //如果设备出现卡纸 或者双张等设备信息问题,需要等到设备进行发送stop才能停止。 所以始终以 "停止" 消息为结束信号 + //如果有图的情况下,并且卡纸或双张等,设备会先发送卡纸双张信息。所以接受到错误信息之后,仍需要把图像取出来。 if (ret == SCANNER_ERR_DEVICE_STOPPED) { - status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_OK;//以第一个消息为? + status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_OK;//以第一个消息为准 savestatus_.clear(); if (user_cancel_) { @@ -240,7 +240,7 @@ void hg_scanner_300::thread_handle_usb_read(void) VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "%s\n", hg_scanner_err_description(status_)); break; } - if (sw.elapsed_ms() > 30000 && img_conf_.resolution_dst != 600)//防止状态信息一直取不上来导致卡? + if (sw.elapsed_ms() > 30000 && img_conf_.resolution_dst != 600)//防止状态信息一直取不上来导致卡死 { if ((img_conf_.papertype == TwSS::MaxSize || img_conf_.papertype == TwSS::USStatement) && pid_ == 0x0300 && firmware_sup_dpi_600) { @@ -248,7 +248,7 @@ void hg_scanner_300::thread_handle_usb_read(void) } else { - if (!savestatus_.empty())//以第一个消息为? + if (!savestatus_.empty())//以第一个消息为准 { status_ = savestatus_[0]; } @@ -260,7 +260,7 @@ void hg_scanner_300::thread_handle_usb_read(void) } if (sw.elapsed_s() > 130) { - if (!savestatus_.empty())//以第一个消息为? + if (!savestatus_.empty())//以第一个消息为准 { status_ = savestatus_[0]; } @@ -271,7 +271,7 @@ void hg_scanner_300::thread_handle_usb_read(void) } if (ret == SCANNER_ERR_OK && usb.u32_Count > 0) { - int totalNum = usb.u32_Count & 0x3fffffff; // 2022-08-04: 兼容Android,默认图片大小均?GB以内 + int totalNum = usb.u32_Count & 0x3fffffff; // 2022-08-04: 兼容Android,默认图片大小均在1GB以内 VLOG_MINI_2(LOG_LEVEL_WARNING, "Get Scaner Image Size:%d bytes,Image Num[%d]\n", totalNum,img_num); img_num++; if (totalNum) @@ -385,7 +385,7 @@ int hg_scanner_300::do_start(void) { return ret; } - if (is_devs_sleep_)//设备在睡眠的状态当中获取固件是失败的,所以在这个地方进行标志位设置。(总感觉不保险? + if (is_devs_sleep_)//设备在睡眠的状态当中获取固件是失败的,所以在这个地方进行标志位设置。(总感觉不保险) { is_devs_sleep_ = false; set_kernelsnap_ver(); @@ -810,7 +810,7 @@ int hg_scanner_300::initdevice() if (status_ != SCANNER_ERR_DEVICE_SLEEPING) { set_kernelsnap_ver(); - is_devs_sleep_ = false; // 睡眠唤醒 客户提前点击设置这边固件版本?还没有做判断? + is_devs_sleep_ = false; // 睡眠唤醒 客户提前点击设置这边固件版本号 还没有做判断的 } return status_; } @@ -842,7 +842,7 @@ void hg_scanner_300::writedown_image_configuration(void) // ic.hardwarecaps.is_autopaper = dsp_config_.params_dsp.is_autopaper; ic.hardwarecaps.capturepixtype = 0; //暂无参数 获取图像类型 - ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使? + ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使用 image_configuration(ic); } void hg_scanner_300::printf_devconfig(setting_hardware::HGSCANCONF_3288 *d) @@ -983,7 +983,7 @@ int hg_scanner_300::get_correction_image(int inx , int dpi, int mode) cv::Mat white_mat; cv::Mat black_mat;; - for (size_t i = 0; i < 2; i++) //黑白一起保存下? + for (size_t i = 0; i < 2; i++) //黑白一起保存下来 { vector imagedata; @@ -1025,7 +1025,7 @@ int hg_scanner_300::get_correction_image(int inx , int dpi, int mode) if (mat.empty()) { VLOG_MINI_1(LOG_LEVEL_WARNING, "get_correction_image image is NULL:%d\n", image_info.info.params.status); - return SCANNER_ERR_NO_DATA; //只要有一张图没有 直接退? + return SCANNER_ERR_NO_DATA; //只要有一张图没有 直接退了 } float f = 0.0; @@ -1058,7 +1058,7 @@ std::string hg_scanner_300::get_firmware_version() { char buf[20] = { 0 }; int ret = SCANNER_ERR_OK, - len = 10; //协议定义长度?0 100 200 =8 + len = 10; //协议定义长度为10 100 200 =8 USBCB cmd = { setting3288dsp::GET_FW_VERSION,len,0,}; { diff --git a/hgdriver/hgdev/hg_scanner_306.cpp b/hgdriver/hgdev/hg_scanner_306.cpp index 1dd8337..a664154 100644 --- a/hgdriver/hgdev/hg_scanner_306.cpp +++ b/hgdriver/hgdev/hg_scanner_306.cpp @@ -84,7 +84,7 @@ hg_scanner_306::hg_scanner_306(const char* dev_name,int pid, usb_io* io) : { VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "hg_scanner_306(%s) constructing ...\n", hg_log::format_ptr(this).c_str()); dsp_config.value = 0; - dsp_config.params_7010.enableLed = 1; //默认? + dsp_config.params_7010.enableLed = 1; //默认值 dsp_config.params_7010.isCorrect = 1; int ret = get_device_type(firmware_sup_device_7010); @@ -101,7 +101,7 @@ hg_scanner_306::hg_scanner_306(const char* dev_name,int pid, usb_io* io) : } #ifndef MAPPING_FUNCTION_IN_BASE - init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始? + init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化 #endif if (init_settings(pid_)) init_settings((jsontext1 + jsontext2 + jsontext3).c_str()); @@ -136,11 +136,11 @@ void hg_scanner_306::thread_handle_usb_read(void) } //printf("usb.u32_Data = %d ret = %d\r\n",usb.u32_Data,ret); - //如果设备出现卡纸 或者双张等设备信息问题,需要等到设备进行发送stop才能停止?所以始终以 "停止" 消息为结束信? - //如果有图的情况下,并且卡纸或双张等,设备会先发送卡纸双张信息。所以接受到错误信息之后,仍需要把图像取出来? + //如果设备出现卡纸 或者双张等设备信息问题,需要等到设备进行发送stop才能停止。 所以始终以 "停止" 消息为结束信号 + //如果有图的情况下,并且卡纸或双张等,设备会先发送卡纸双张信息。所以接受到错误信息之后,仍需要把图像取出来。 if (ret == SCANNER_ERR_DEVICE_STOPPED) { - status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_OK;//以第一个消息为? + status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_OK;//以第一个消息为准 savestatus_.clear(); if (user_cancel_) { @@ -217,7 +217,7 @@ void hg_scanner_306::thread_handle_usb_read(void) VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "%s\n", hg_scanner_err_description(status_)); break; } - if (sw.elapsed_ms() > 30000 && img_conf_.resolution_dst != 600)//防止状态信息一直取不上来导致卡? + if (sw.elapsed_ms() > 30000 && img_conf_.resolution_dst != 600)//防止状态信息一直取不上来导致卡死 { if ((img_conf_.papertype == TwSS::MaxSize || img_conf_.papertype == TwSS::USStatement) && pid_ == 0x0300 && firmware_sup_dpi_600) { @@ -225,25 +225,25 @@ void hg_scanner_306::thread_handle_usb_read(void) } else { - if (!savestatus_.empty())//以第一个消息为? + if (!savestatus_.empty())//以第一个消息为准 { status_ = savestatus_[0]; } savestatus_.clear(); hg_log::log(LOG_LEVEL_WARNING, "Get Status TimeOut,get image out 30S\n"); - notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_GET_IMAGE_OUTTIME), SANE_EVENT_ERROR, status_); // 鍙栧浘閫氫俊瓒呮? + notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_GET_IMAGE_OUTTIME), SANE_EVENT_ERROR, status_); // 鍙栧浘閫氫俊瓒呮椂 break; } } if (sw.elapsed_s() > 130) { - if (!savestatus_.empty())//以第一个消息为? + if (!savestatus_.empty())//以第一个消息为准 { status_ = savestatus_[0]; } savestatus_.clear(); hg_log::log(LOG_LEVEL_WARNING, "MaxSize TimeOut,Get Image 130s\n"); - notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_GET_IMAGE_OUTTIME), SANE_EVENT_ERROR, status_); // 閸欐牕娴橀柅姘繆鐡掑懏妞? + notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_GET_IMAGE_OUTTIME), SANE_EVENT_ERROR, status_); // 闁告瑦鐗曞ù姗€鏌呭顐$箚閻℃帒鎳忓? break; } if (ret == SCANNER_ERR_OK && usb.u32_Count > 0) @@ -342,7 +342,7 @@ int hg_scanner_306::do_start(void) { return ret; } - if (is_devs_sleep_)//设备在睡眠的状态当中获取固件是失败的,所以在这个地方进行标志位设置。(总感觉不保险? + if (is_devs_sleep_)//设备在睡眠的状态当中获取固件是失败的,所以在这个地方进行标志位设置。(总感觉不保险) { is_devs_sleep_ = false; set_kernelsnap_ver(); @@ -769,7 +769,7 @@ int hg_scanner_306::initdevice() if (status_ != SCANNER_ERR_DEVICE_SLEEPING) { set_kernelsnap_ver(); - is_devs_sleep_ = false; // 睡眠唤醒 客户提前点击设置这边固件版本?还没有做判断? + is_devs_sleep_ = false; // 睡眠唤醒 客户提前点击设置这边固件版本号 还没有做判断的 } return SCANNER_ERR_OK; } @@ -801,7 +801,7 @@ void hg_scanner_306::writedown_image_configuration(void) // ic.hardwarecaps.is_autopaper = dsp_config_.params_dsp.is_autopaper; ic.hardwarecaps.capturepixtype = 0; //暂无参数 获取图像类型 - ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使? + ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使用 image_configuration(ic); } void hg_scanner_306::printf_devconfig(setting_hardware::HGSCANCONF_7010 *d) @@ -881,7 +881,7 @@ int hg_scanner_306::get_correction_image(int inx , int dpi, int mode) cv::Mat white_mat; cv::Mat black_mat;; - for (size_t i = 0; i < 2; i++) //黑白一起保存下? + for (size_t i = 0; i < 2; i++) //黑白一起保存下来 { vector imagedata; @@ -919,7 +919,7 @@ int hg_scanner_306::get_correction_image(int inx , int dpi, int mode) if (mat.empty()) { VLOG_MINI_1(LOG_LEVEL_WARNING, "get_correction_image image is NULL:%d\n", image_info.info.params.status); - return SCANNER_ERR_NO_DATA; //只要有一张图没有 直接退? + return SCANNER_ERR_NO_DATA; //只要有一张图没有 直接退了 } float f = 0.0; @@ -945,7 +945,7 @@ std::string hg_scanner_306::get_firmware_version() { char buf[20] = { 0 }; int ret = SCANNER_ERR_OK, - len = 10; //协议定义长度?0 100 200 =8 + len = 10; //协议定义长度为10 100 200 =8 USBCB cmd = { setting3288dsp::GET_FW_VERSION,len,0,}; { @@ -1232,13 +1232,13 @@ int hg_scanner_306::set_scan_lock_check_val(string str) } //#enum scanner_err //#{ -//# SCANNER_ERR_OK = 0, //设备正常状? +//# SCANNER_ERR_OK = 0, //设备正常状态 //# SCANNER_ERR_SLEEP, 1 //设备处于休眠当中 -//# SCANNER_ERR_UPDATE_OK, 2 //设备更新:成? +//# SCANNER_ERR_UPDATE_OK, 2 //设备更新:成功 //# SCANNER_ERR_UPDATE_UPDATAING, 3 //设备更新:进行中 -//# SCANNER_ERR_UPDATE_CHECK_VAL_ERROR, 4 //设备更新:校验检测错? -//# SCANNER_ERR_UPDATE_CHECK_FILE_LOST, 5 //设备更新:文件丢? -//# SCANNER_ERR_UPDATE_UNZIP_FAIL, 6 //设备更新:解压失? +//# SCANNER_ERR_UPDATE_CHECK_VAL_ERROR, 4 //设备更新:校验检测错误 +//# SCANNER_ERR_UPDATE_CHECK_FILE_LOST, 5 //设备更新:文件丢失 +//# SCANNER_ERR_UPDATE_UNZIP_FAIL, 6 //设备更新:解压失败 //#}; int hg_scanner_306::set_firmware_upgrade(std::string str) { @@ -1342,7 +1342,7 @@ int hg_scanner_306::set_firmware_upgrade(std::string str) } else { - printf("升级中\r\n"); + printf("鍗囩骇涓璡r\n"); sw.reset(); } sw.reset();