From 9e724b839562f3c6fe4618597b882649a934247c Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Tue, 26 Jul 2022 15:14:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AE=BE=E5=A4=87=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/common_setting.h | 3 +- hgdriver/hgdev/hg_scanner.cpp | 12 +++---- hgdriver/hgdev/hg_scanner_239.cpp | 53 ++++++++++++++++++++++++++----- hgdriver/hgdev/hg_scanner_239.h | 2 +- 4 files changed, 53 insertions(+), 17 deletions(-) diff --git a/hgdriver/hgdev/common_setting.h b/hgdriver/hgdev/common_setting.h index b6816ca..351d0d6 100644 --- a/hgdriver/hgdev/common_setting.h +++ b/hgdriver/hgdev/common_setting.h @@ -812,7 +812,8 @@ typedef struct _scan_conf bool normalCrop; /**< 自动裁切深色样张>*/ uint32_t dogeardistabce; bool fadeback; /**< 背景除色>*/ - int fadebackrange; + int fadebackrange; + bool isuoloadexceptionimage; /**< 是否保留双张出图>*/ uint32_t reserve[1024]; /**< 预留4096字节做协议扩展*/ }SCANCONF ,*LPSCANCONF; diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 519d350..736d17a 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -2715,20 +2715,18 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) } else if(code == IO_CTRL_CODE_GET_LOG_FILE && len && *len == LOG_FILE_DEVICE) { - string save_path = hg_log::temporary_path() + PATH_SEPARATOR + "device.log"; - - int ret = get_device_log(save_path); + string str; + int ret = get_device_log(str); *(char*)data = 0; if (ret != SCANNER_ERR_OK) { return ret; } - strcpy((char*)data, save_path.c_str()); - - return ret; + strcpy((char*)data, str.c_str()); + printf("log path:%s\r\n",*((char*)data)); + return 0; } - return SCANNER_ERR_DEVICE_NOT_SUPPORT; } std::string hg_scanner::get_firmware_version(void) diff --git a/hgdriver/hgdev/hg_scanner_239.cpp b/hgdriver/hgdev/hg_scanner_239.cpp index aea1338..1ff2f9e 100644 --- a/hgdriver/hgdev/hg_scanner_239.cpp +++ b/hgdriver/hgdev/hg_scanner_239.cpp @@ -903,6 +903,7 @@ int hg_scanner_239::writedown_image_configuration(void) ic.dogeardistabce = fractate_level_; ic.fadeback = image_prc_param_.bits.erase_bakground; ic.fadebackrange = erase_bkg_range_; + ic.isuoloadexceptionimage = double_paper_handle_; int filter_clr[] = { 3, 0, 1, 2, 5, 6, 7 }; if(image_prc_param_.bits.color_mode == COLOR_MODE_24_BITS || image_prc_param_.bits.color_mode == COLOR_MODE_AUTO_MATCH) @@ -1637,6 +1638,8 @@ int hg_scanner_239::start(void) reset(); get_roller_num(); val = get_sleep_time(); + string a; + //if (val != 1) //{ // status_ = SCANNER_ERR_DEVICE_SLEEPING; @@ -1924,16 +1927,50 @@ int hg_scanner_239::get_history_count() { return -2; } -int hg_scanner_239::get_device_log(string &log) +int hg_scanner_239::get_device_log(string &logpath) { - int ret = SCANNER_ERR_OK; - int len = log.size(); - ret = write_register(SR_SET_JSON_PATH, len); - if (ret == SCANNER_ERR_OK) - ret = io_->write_bulk(&log[0],&len); - - VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "log path:%s ret:%s\n", log.c_str(),hg_scanner_err_name(ret)); + string save_path = hg_log::temporary_path() + PATH_SEPARATOR + "device.log"; + string device_log_path = "/var/log/syslog"; + string str ; + + int ret = SCANNER_ERR_OK; + int buffersize = 0; + int len = device_log_path.size(); + + io_->set_timeout(3000); + ret = write_register(SR_SET_JSON_PATH, len); + if (ret != SCANNER_ERR_OK) + return ret; + + ret = io_->write_bulk(&device_log_path[0],&len); + if (ret != SCANNER_ERR_OK) + return ret; + + ret = read_register(SR_GET_JSON_SIZE,&buffersize); + if (ret != SCANNER_ERR_OK || buffersize <= 0) + return ret; + + + ret = write_register(SR_GET_JSON,buffersize); + if (ret != SCANNER_ERR_OK || buffersize <= 0) + return ret; + + + str.resize(buffersize); + ret = io_->read_bulk(&str[0],&buffersize); + if (ret != SCANNER_ERR_OK) + return ret; + + ofstream f; + f.open(save_path,ios::out | ios::app); + if (!f.is_open()) + return SCANNER_ERR_CREATE_FILE_FAILED; + + f << str << endl; + f.close(); + logpath = save_path; + VLOG_MINI_3(LOG_LEVEL_DEBUG_INFO, "log path:%s ret:%s buffersize%s:\n", logpath.c_str(),hg_scanner_err_name(ret),buffersize); return ret; } diff --git a/hgdriver/hgdev/hg_scanner_239.h b/hgdriver/hgdev/hg_scanner_239.h index eabea20..23463b6 100644 --- a/hgdriver/hgdev/hg_scanner_239.h +++ b/hgdriver/hgdev/hg_scanner_239.h @@ -120,7 +120,7 @@ public: virtual int notify_sleep(void);//唤醒设备 virtual int get_history_count(void);//获取历史扫描张数 -2:设备不支持该功能;-1:与设备通信失败;其它大于等于0的为正常 为实现 - virtual int get_device_log(string &log);//获取设备日志 + virtual int get_device_log(string &get_device_log);//获取设备日志 }; static int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处理 \ No newline at end of file