From a88adbadfe5dc4afad6f7eafbf1dc992f2601e7f Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Thu, 13 Apr 2023 14:42:43 +0800 Subject: [PATCH] set DPI and scan count --- .../packages/common.pkg/include/commondef.h | 27 ++++--- device/gxx-linux/scanner/scannerregs.cpp | 74 +++++++++++++++++- device/gxx-linux/usb/inc/usbdevice.h | 2 + device/gxx-linux/usb/src/common/ipc_util.cpp | 8 +- device/gxx-linux/usb/src/usbdevice.cpp | 69 +++++++++++++--- device/gxx-linux/usb/usbservice.cpp | 8 ++ device/gxx-linux/usb/xmake.lua | 2 +- .../sln/usb_tools/Debug/usb_tools.exe | Bin 1738240 -> 1738240 bytes pc/code_twain/sln/usb_tools/DlgScanner.cpp | 13 ++- pc/code_twain/sln/usb_tools/resource.h | 5 +- .../sln/usb_tools/scanner/scanner_handler.cpp | 1 + pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp | 10 +++ pc/code_twain/sln/usb_tools/usbtools.rc | Bin 28258 -> 28530 bytes 13 files changed, 186 insertions(+), 33 deletions(-) diff --git a/device/gxx-linux/packages/common.pkg/include/commondef.h b/device/gxx-linux/packages/common.pkg/include/commondef.h index 8cf3235..773df32 100644 --- a/device/gxx-linux/packages/common.pkg/include/commondef.h +++ b/device/gxx-linux/packages/common.pkg/include/commondef.h @@ -130,7 +130,7 @@ struct MotorBoardGlue struct ScannerNativeParam { - u32 TotalScanned; //扫描总计�? + u32 TotalScanned; //扫描总计? u32 RollerNum; //滚轴计数 u32 H_ratio; //横向修正系数 u32 V_ratio; //纵向修正系数 @@ -138,13 +138,13 @@ struct ScannerNativeParam u32 FeedErrorTimes; //搓纸失败次数 u32 DoubleFeedTimes; //双张次数 u32 ScanSessionsCount; //总计扫描次数 - u16 gray_sp; //灰度sp�? - u16 color_sp; //彩色sp�? - int sleeptime; //休眠模式时间 -1 不休�? - std::string SerialNum; //序列�? - std::string Token; //识别�? - u32 clr_maxbright; //彩色平场校正最大亮�? - u32 gray_maxbright; //灰度平场校正最大亮�? + u16 gray_sp; //灰度sp? + u16 color_sp; //彩色sp? + int sleeptime; //休眠模式时间 -1 不休? + std::string SerialNum; //序列? + std::string Token; //识别? + u32 clr_maxbright; //彩色平场校正最大亮? + u32 gray_maxbright; //灰度平场校正最大亮? u32 speedmode; //速度模式 G100 0->70 1->80 2->90 3->100 G200 0->100 1->110 2->120 3->130 u16 Vid; //USB vid u16 Pid; //USB Pid @@ -265,7 +265,7 @@ enum HGType STOPSCAN, }; -//usb int 端点通信结构�? +//usb int 端点通信结构? struct HGIntInfo { HGType From; @@ -440,7 +440,10 @@ enum Scanner_Reg_Defs SR_GET_MBVERSION_LENGHT, SR_GET_MBVERSION, SR_GET_USBVIDPID, - SR_SET_USBVIDPID + SR_SET_USBVIDPID, + + SR_SCAN_DPI = 0x600, + SR_SCAN_CNT, }; enum Updata_Stautus @@ -662,8 +665,8 @@ typedef struct tagCrop_Rect int enable; int x; /*****自定义裁切区域左上角x坐标*/ int y; /*****自定义裁切区域左上角y坐标*/ - int width; /*****自定义裁切区域宽�?******/ - int height; /*****自定义裁切区域高�?******/ + int width; /*****自定义裁切区域宽?******/ + int height; /*****自定义裁切区域高?******/ }CropRect; typedef enum tagMulti_Output { diff --git a/device/gxx-linux/scanner/scannerregs.cpp b/device/gxx-linux/scanner/scannerregs.cpp index dcd8492..46cac25 100644 --- a/device/gxx-linux/scanner/scannerregs.cpp +++ b/device/gxx-linux/scanner/scannerregs.cpp @@ -36,6 +36,26 @@ void get_system_output(char *cmd, char *output, int size) } } +static std::string load_mini_file(const char* path) +{ + // /root/.scanner/log + FILE *src = fopen(path, "rb"); + std::string ret(""); + + if(src) + { + int len = 0; + + fseek(src, 0, SEEK_END); + len = ftell(src); + fseek(src, 0, SEEK_SET); + ret.resize(len); + fread(&ret[0], 1, len, src); + fclose(src); + } + + return ret; +} static const std::string loggername = "ScannerRegAccess"; ScannerRegAccess::ScannerRegAccess(std::shared_ptr scanner, std::shared_ptr usbimages, std::shared_ptr transmit, std::shared_ptr receiv) @@ -55,10 +75,43 @@ ScannerRegAccess::~ScannerRegAccess() bool ScannerRegAccess::write(unsigned int addr, const unsigned int val) { - // printf("write(0x%x, 0x%x), sizeof(unsigned int) = %d, sizeof(long) = %d, sizeof(long long) = %d\n", addr, val - // , sizeof(unsigned int), sizeof(long), sizeof(long long)); + static uint64_t img_cb = 0, img_param = 0; + static uint32_t scan_dpi = 200, scan_cnt = -1; - printf("ScannerRegAccess::write(%d, %d)\n", addr, val); + if(addr == (unsigned int)-1) + { + img_cb = val; + img_cb <<= 32; + printf("image callback (1/2) = %p\n", img_cb); + + return true; + } + else if(addr == (unsigned int)-2) + { + img_cb |= val; + + return true; + } + else if(addr == (unsigned int)-3) + { + img_param = val; + img_param <<= 32; + printf("image callback (1/2) = %p\n", img_param); + + return true; + } + else if(addr == (unsigned int)-4) + { + void(*func)(MemoryPtr, bool, void*) = nullptr; + void* param = nullptr; + + img_param |= val; + param = (void*)img_param; + *((uint64_t*)&func) = img_cb; + usbimages->set_image_keeper(func, param); + + return true; + } switch (addr) { case SR_CMD: @@ -100,9 +153,23 @@ bool ScannerRegAccess::write(unsigned int addr, const unsigned int val) case SR_CONFIG_SCAN_PARAM: scanner->configparam(*((HGScanConfig *)&val)); return true; + case SR_SCAN_DPI: + scan_dpi = val; + return true; + case SR_SCAN_CNT: + scan_cnt = val; + return true; case SR_CONFIF_IMGPROCPARAM: { printf("\nSR_CONFIF_IMGPROCPARAM size =%d",val); +#ifdef ASYNC_EP + std::string cfg(load_mini_file("/root/.scanner/log/cfg_4308.bin")); + GScanCap cap = *(GScanCap*)&cfg[0]; + + cap.resolution_dst = cap.resolution_native = scan_dpi; + cap.scannum = scan_cnt; + printf("DPI: %d, Count: %d\n", scan_dpi, scan_cnt); +#else std::vector data(val); if(val==0) data.resize(116); @@ -111,6 +178,7 @@ bool ScannerRegAccess::write(unsigned int addr, const unsigned int val) printf("\n gcap size = %d \n",sizeof(GScanCap)); memcpy(capdata,data.data(),std::min(sizeof(GScanCap),data.size())); GScanCap cap = *(GScanCap *)capdata; +#endif scanner->set_hgimgconfig(cap); return true; } diff --git a/device/gxx-linux/usb/inc/usbdevice.h b/device/gxx-linux/usb/inc/usbdevice.h index 459aa17..a252df3 100644 --- a/device/gxx-linux/usb/inc/usbdevice.h +++ b/device/gxx-linux/usb/inc/usbdevice.h @@ -25,7 +25,9 @@ class UsbDevice uint32_t img_cnt_; uint32_t scan_id_; uint32_t dpi_; + uint32_t scan_cnt_; std::string cfg_text_; + dyn_mem_ptr scan_over_pack_; dyn_mem_ptr unhandled_ep0(struct usb_functionfs_event* pev); dyn_mem_ptr handle_bulk_cmd(LPPACK_BASE pack, uint32_t* used, packet_data_base_ptr* required); diff --git a/device/gxx-linux/usb/src/common/ipc_util.cpp b/device/gxx-linux/usb/src/common/ipc_util.cpp index acbbcfc..4a887bc 100644 --- a/device/gxx-linux/usb/src/common/ipc_util.cpp +++ b/device/gxx-linux/usb/src/common/ipc_util.cpp @@ -19,7 +19,7 @@ unsigned long linux_event::to_abs_time_us = 0; linux_event::linux_event(const char* desc) : waiting_(false), sem_(nullptr), desc_(desc ? desc : ""), first_(true), multi_proc_(false) { - log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) unamed for '%s' constructing ...\n", this, desc_.c_str()); + //log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) unamed for '%s' constructing ...\n", this, desc_.c_str()); #if defined(WIN32) || defined(_WIN64) err_ = 0; @@ -40,7 +40,7 @@ linux_event::linux_event(const char* desc) : waiting_(false), sem_(nullptr), des } linux_event::linux_event(const char* name, const char* desc) : waiting_(false), sem_(nullptr), desc_(desc ? desc : ""), first_(true), multi_proc_(true) { - log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) of named '%s' for '%s' constructing ...\n", this, name, desc_.c_str()); + //log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) of named '%s' for '%s' constructing ...\n", this, name, desc_.c_str()); #if defined(WIN32) || defined(_WIN64) local_sem_ = CreateEventA(NULL, TRUE, FALSE, name); sem_ = &local_sem_; @@ -93,7 +93,7 @@ linux_event::linux_event(const char* name, const char* desc) : waiting_(false), } linux_event::linux_event(sem_t* mem_sem, bool first, const char* desc) : waiting_(false), sem_(mem_sem), desc_(desc ? desc : ""), first_(first), multi_proc_(true) { - log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) at mem(%p) for '%s' constructing ...\n", this, mem_sem, desc_.c_str()); + //log_cls::log(LOG_LEVEL_ALL, "+linux_event(%p) at mem(%p) for '%s' constructing ...\n", this, mem_sem, desc_.c_str()); if(first) { @@ -138,7 +138,7 @@ linux_event::~linux_event() #endif } } - log_cls::log(LOG_LEVEL_ALL, "-linux_event(%p) destroyed.\n", this); + //log_cls::log(LOG_LEVEL_ALL, "-linux_event(%p) destroyed.\n", this); } int32_t linux_event::clear_named_event(const char* name) diff --git a/device/gxx-linux/usb/src/usbdevice.cpp b/device/gxx-linux/usb/src/usbdevice.cpp index 0875e6d..36d2f47 100644 --- a/device/gxx-linux/usb/src/usbdevice.cpp +++ b/device/gxx-linux/usb/src/usbdevice.cpp @@ -326,7 +326,7 @@ UsbDevice::UsbDevice(std::functionpayload, cfg_ret = nullptr; std::string name(cfg->data + cfg->name_off); - size_t l = base_head_size + sizeof(CFGVAL) + name.length() + 1 + cfg->max_size + 1; + size_t l = base_head_size + sizeof(CFGVAL) + name.length() + 1 + cfg->max_size + 1, val_size = cfg->val_size; int32_t err = 0; + uint32_t after = 0; reply = dyn_mem::memory(l); pk = (LPPACK_BASE)reply->ptr(); @@ -1747,8 +1748,11 @@ dyn_mem_ptr UsbDevice::handle_bulk_cmd(LPPACK_BASE pack, uint32_t* used, packet_ cfg_ret->val_size = cfg->val_size; cfg_ret->max_size = cfg->max_size; cfg_ret->type = cfg->type; - err = cfg_->set_config(cfg->data + cfg->name_off, cfg_ret->data + cfg_ret->val_off, (size_t*)&cfg_ret->val_size, (uint32_t*)&cfg_ret->after_do); + err = cfg_->set_config(cfg->data + cfg->name_off, cfg_ret->data + cfg_ret->val_off, &val_size, &after); + cfg_ret->after_do = after; + cfg_ret->val_size = val_size; BASE_PACKET_REPLY(*pk, pack->cmd + 1, pack->pack_id, err); + pk->payload_len = sizeof(CFGVAL) + name.length() + 1 + cfg->max_size + 1; reply->set_len(l); } break; @@ -1822,12 +1826,21 @@ dyn_mem_ptr UsbDevice::handle_bulk_cmd(LPPACK_BASE pack, uint32_t* used, packet_ int err = 0; img_cnt_ = 0; scan_id_ = pack->pack_id; - log_cls::log(LOG_LEVEL_ALL, "Start scanning ...\n"); + if(scan_over_pack_) + { + scan_over_pack_->release(); + scan_over_pack_ = nullptr; + } + { bool ret = ctrl_handler(-1, (usb_ctrlrequest*)15, (unsigned char*)0x160); // hardware configuration - - ret = ctrl_handler(-1, (usb_ctrlrequest*)20, (unsigned char*)dpi_); - ctrl_handler(-1, nullptr, nullptr); + + ctrl_handler(-1, (usb_ctrlrequest*)SR_SCAN_CNT, (unsigned char*)scan_cnt_); + ctrl_handler(-1, (usb_ctrlrequest*)SR_SCAN_DPI, (unsigned char*)dpi_); + ctrl_handler(-1, (usb_ctrlrequest*)SR_CONFIF_IMGPROCPARAM, (unsigned char*)0); + log_cls::log(LOG_LEVEL_ALL, "Start scanning with %d DPI ...\n", dpi_); + ret = ctrl_handler(-1, nullptr, nullptr); + log_cls::log(LOG_LEVEL_ALL, "Start scanning %s\n", ret ? "OK" : "Failed"); } reply = dyn_mem::memory(base_head_size); @@ -1871,8 +1884,9 @@ void UsbDevice::init(void) readonly_cfg* r = new readonly_cfg(); size_t l = sizeof(dpi_); - cfg_text_ = "{\"resolution\":{\"category\":\"base\",\"readonly\":false,\"affect\":2,\"ver\":1,\"group\":\"base\",\"visible\":true,\"field\":\"Common\",\"pos\":0,\"unit\":\"None\",\"title\":\"\\u5206\\u8fa8\\u7387\",\"desc\":\"\\u8bbe\\u7f6e\\u626b\\u63cf\\u56fe\\u50cf\\u7684\\u5206\\u8fa8\\u7387\",\"type\":\"int\",\"cur\":200,\"default\":200,\"size\":4,\"range\":[100,150,200,300,600]}}"; + cfg_text_ = "{\"resolution\":{\"category\":\"base\",\"readonly\":false,\"affect\":2,\"ver\":1,\"group\":\"base\",\"visible\":true,\"field\":\"Common\",\"pos\":0,\"unit\":\"None\",\"title\":\"\\u5206\\u8fa8\\u7387\",\"desc\":\"\\u8bbe\\u7f6e\\u626b\\u63cf\\u56fe\\u50cf\\u7684\\u5206\\u8fa8\\u7387\",\"type\":\"int\",\"cur\":200,\"default\":200,\"size\":4,\"range\":[100,150,200,300,600]},\"count\":{\"category\":\"base\",\"readonly\":false,\"affect\":0,\"ver\":1,\"group\":\"base\",\"visible\":true,\"field\":\"Common\",\"pos\":0,\"unit\":\"None\",\"title\":\"\\u626b\\u63cf\\u5f20\\u6570\",\"desc\":\"\\u8bbe\\u7f6e\\u626b\\u63cf\\u7684\\u7eb8\\u5f20\\u6570\\u91cf\",\"type\":\"int\",\"cur\":-1,\"default\":-1,\"size\":4,\"range\":[-1,1]}}"; l = get_config(&dpi_, &l, "resolution"); + l = get_config(&scan_cnt_, &l, "count"); cfg_ = new sane_cfg_mgr(); cfg_->reg_sane_provider(dynamic_cast(r)); l = cfg_->reg_sane_provider(dynamic_cast(this)); @@ -1895,6 +1909,18 @@ void UsbDevice::save_image(MemoryPtr data, bool img) log_cls::log(LOG_LEVEL_ALL, "New image with bytes: %u\n", data->size()); usb_->write_bulk(ip); ip->release(); + + // check has completed ? + if(scan_over_pack_) + { + ctrl_handler(-2, (usb_ctrlrequest*)SR_GET_IMAGEPROCESSDONE, (unsigned char*)&n); + if(n) + { + usb_->write_bulk(scan_over_pack_); + scan_over_pack_->release(); + scan_over_pack_ = nullptr; + } + } } else { @@ -1954,14 +1980,22 @@ void UsbDevice::save_image(MemoryPtr data, bool img) { cmd = PACK_CMD_SCAN_FINISHED_ROGER; } - if(scan_id_ && cmd == PACK_CMD_SCAN_FINISHED_ROGER) + if(scan_id_ && cmd == PACK_CMD_SCAN_FINISHED_ROGER && scan_over_pack_ == nullptr) { log_cls::log(LOG_LEVEL_ALL, "Scan over with error: %d\n", err); BASE_PACKET_REPLY(*((LPPACK_BASE)reply->ptr()), cmd, scan_id_, err); reply->set_len(sizeof(PACK_BASE)); scan_id_ = 0; - usb_->write_bulk(reply); + // check if the image-proc-queue has completed ... + ctrl_handler(-2, (usb_ctrlrequest*)SR_GET_IMAGEPROCESSDONE, (unsigned char*)&err); + if(err) + usb_->write_bulk(reply); + else + { + scan_over_pack_ = reply; + scan_over_pack_->add_ref(); + } } reply->release(); } @@ -2058,6 +2092,21 @@ int32_t UsbDevice::set_config(const char* cfg_name, void* data, size_t* len, uin log_cls::log(LOG_LEVEL_ALL, "Set %s to %d\n", cfg_name, dpi_); cfg_text_ = jsn->to_string(); } + else if(strcmp(cfg_name, "count") == 0) + { + child->get_value("cur", val); + ret = EUCLEAN; + val = *(int*)data; + if(val == -1 || val == 1) + ret = 0; + else + val = -1; + *(int*)data = val; + child->set_value("cur", val); + scan_cnt_ = val; + log_cls::log(LOG_LEVEL_ALL, "Set %s to %d\n", cfg_name, scan_cnt_); + cfg_text_ = jsn->to_string(); + } child->release(); } jsn->release(); diff --git a/device/gxx-linux/usb/usbservice.cpp b/device/gxx-linux/usb/usbservice.cpp index c09ece2..97adaa0 100644 --- a/device/gxx-linux/usb/usbservice.cpp +++ b/device/gxx-linux/usb/usbservice.cpp @@ -102,6 +102,14 @@ UsbService::UsbService(std::shared_ptr fgparegs, std::shared_ptrread(addr, val); + *(unsigned int*)buffer = val; + } printf("req = %x, type = %x, ind = %x, len = %x, val = %x\n", setup->bRequest, setup->bRequestType, setup->wIndex, setup->wLength, setup->wValue); if (!(setup->bRequestType & USB_TYPE_VENDOR) || (setup->bRequestType & USB_RECIP_MASK) != USB_RECIP_DEVICE) diff --git a/device/gxx-linux/usb/xmake.lua b/device/gxx-linux/usb/xmake.lua index 16c06a6..92a8321 100644 --- a/device/gxx-linux/usb/xmake.lua +++ b/device/gxx-linux/usb/xmake.lua @@ -3,7 +3,7 @@ add_rules("mode.debug", "mode.release") target("gusb") set_kind("static") add_syslinks("pthread") - add_files("*.cpp", "src/*.cpp", "src/common/*.cpp") + add_files("*.cpp", "src/*.cpp", "src/common/*.cpp", "src/common/json/*.c*") add_includedirs("inc") add_includedirs("src/common") add_includedirs(".", { public = true}) diff --git a/pc/code_twain/sln/usb_tools/Debug/usb_tools.exe b/pc/code_twain/sln/usb_tools/Debug/usb_tools.exe index 8dc425aebc4acfc55274276a15f4f74c2adca53b..c38b6d8d55ed4b749efea744845526c9142b4e55 100644 GIT binary patch delta 91917 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 ZN{-;I`x8$^sIa(V_qV diff --git a/pc/code_twain/sln/usb_tools/DlgScanner.cpp b/pc/code_twain/sln/usb_tools/DlgScanner.cpp index 1c565bb..9a320d1 100644 --- a/pc/code_twain/sln/usb_tools/DlgScanner.cpp +++ b/pc/code_twain/sln/usb_tools/DlgScanner.cpp @@ -667,6 +667,9 @@ void CDlgScanner::set_device(usb::LPUSBPNP pnp) KillTimer(TIMER_ID_REFRESH_BULK); ((CButton*)GetDlgItem(IDC_CHECK_AUTO))->SetCheck(BST_UNCHECKED); enable_buttons(pnp != NULL); + GetDlgItem(IDC_CHECK_AUTO)->EnableWindow(pnp != NULL); + GetDlgItem(IDC_BUTTON_RESET_BULK)->EnableWindow(pnp != NULL); + GetDlgItem(IDC_BUTTON_REFRESH)->EnableWindow(pnp != NULL); if (scanner_) { @@ -687,6 +690,8 @@ void CDlgScanner::set_device(usb::LPUSBPNP pnp) { CDlgScanner* dlg = (CDlgScanner*)user_data; + log_cls::log(LOG_LEVEL_DEBUG, "Finished in receiving new image = %d\r\n", err); + if (err) //::SetDlgItemTextW(m_hWnd, IDC_EDIT_COUNT, (L"Receive image " + std::to_wstring(img_cnt_) + L" error: " + std::to_wstring(err)).c_str()); dlg->set_text(IDC_EDIT_COUNT, (L"Receive image " + std::to_wstring(img_cnt_) + L" error: " + std::to_wstring(err)).c_str()); @@ -707,9 +712,12 @@ void CDlgScanner::set_device(usb::LPUSBPNP pnp) file_saver* saver = new file_saver(); std::string root(usb::u2a(img_root_.c_str())); char name[40] = { 0 }; + int err = 0; sprintf_s(name, _countof(name) - 1, "scan_%04d.jpg", ++img_cnt_); - if (saver->open((root + name).c_str(), size)) + err = saver->open((root + name).c_str(), size); + log_cls::log(LOG_LEVEL_DEBUG, "Begin receiving new image (%s + %llu) = %d\r\n", (root + name).c_str(), size, err); + if (err) { saver->release(); saver = NULL; @@ -733,6 +741,8 @@ void CDlgScanner::set_device(usb::LPUSBPNP pnp) ::SetTextColor(dc, size ? RGB(255, 0, 0) : RGB(0, 0, 0)); ::ReleaseDC(wnd, dc); + log_cls::log(LOG_LEVEL_DEBUG, "Scan stopped with error %s\r\n", usb::u2a(scanner_status(size, buf)).c_str()); + if (size) set_text(IDC_EDIT_COUNT, (std::to_wstring(img_cnt_) + L" (Error: " + scanner_status(size, buf) + L")").c_str()); else @@ -1174,6 +1184,7 @@ void CDlgScanner::OnBnClickedButtonScan() if (scanner_) { int err = scanner_->scan_start(); + log_cls::log(LOG_LEVEL_DEBUG, "Start to scan = %d\r\n", err); if (err) msg_box(m_hWnd, MB_OK, L"Error", L"Failed in startin scanning with code %d", err); else diff --git a/pc/code_twain/sln/usb_tools/resource.h b/pc/code_twain/sln/usb_tools/resource.h index 50b49e1..53a5877 100644 --- a/pc/code_twain/sln/usb_tools/resource.h +++ b/pc/code_twain/sln/usb_tools/resource.h @@ -88,8 +88,9 @@ #define IDC_STATIC_CMD_QUE 1061 #define IDC_STATIC_SENT_QUE 1062 #define IDC_STATIC_OPTS 1063 -#define IDC_CHECK1 1064 #define IDC_CHECK_AUTO_OPEN_IMG 1064 +#define IDC_EDIT1 1065 +#define IDC_EDIT_LOG_FILE 1065 #define ID_TRAY_EXIT 32771 // Next default values for new objects @@ -98,7 +99,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 137 #define _APS_NEXT_COMMAND_VALUE 32772 -#define _APS_NEXT_CONTROL_VALUE 1065 +#define _APS_NEXT_CONTROL_VALUE 1066 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp index a034a54..2376be6 100644 --- a/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp +++ b/pc/code_twain/sln/usb_tools/scanner/scanner_handler.cpp @@ -574,6 +574,7 @@ int scanner_handler::scan_start(void) { auto call = [&](cmd_result* cmd) -> int { + cmd->set_timeout(4000); return usb_->scan_start(cmd->get_id()); }; auto clean = [&](cmd_result* cmd) -> int diff --git a/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp b/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp index 6fec7c9..f3f8848 100644 --- a/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp +++ b/pc/code_twain/sln/usb_tools/usb_toolsDlg.cpp @@ -271,6 +271,7 @@ CusbtoolsDlg::CusbtoolsDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_USB_TOOLS_DIALOG, pParent) { log_cls::initialize(NULL); + log_cls::log(LOG_LEVEL_DEBUG, "--------------------New instance started ...--------------------\r\n"); m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } @@ -347,6 +348,7 @@ BOOL CusbtoolsDlg::OnInitDialog() usb::register_tray(m_hWnd, m_hIcon, true); SetPropW(m_hWnd, L"task_usb", m_hWnd); + ::SetDlgItemTextA(m_hWnd, IDC_EDIT_LOG_FILE, log_cls::get_log_file().c_str()); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } @@ -533,6 +535,7 @@ void CusbtoolsDlg::log_pnp(usb::LPUSBPNP pnp) swprintf_s(buf + lstrlenW(buf), _countof(buf) - 1, L"%s: %04X:%04X %s\r\n", usb::now().c_str(), pnp->vid, pnp->pid, pnp->arrive ? L"Arrive" : L"Left"); append_log(buf, IDC_EDIT_PNP_MSG); + log_cls::log(LOG_LEVEL_ALL, "%04X:%04X %s\r\n", pnp->vid, pnp->pid, pnp->arrive ? "Arrived" : "Left"); } bool CusbtoolsDlg::endpoint_from_combo_text(wchar_t* text, BYTE& type, BYTE& addr) { @@ -666,6 +669,13 @@ LRESULT CusbtoolsDlg::OnUsbPnp(WPARAM wp, LPARAM lp) usb::LPUSBPNP pnp = (usb::LPUSBPNP)lp; log_pnp(pnp); + if (pnp->pid == 0 && pnp->vid == 0) + { + delete pnp; + + return 0; + } + if (pnp->arrive) { ////for (auto& v : pnp_que_) diff --git a/pc/code_twain/sln/usb_tools/usbtools.rc b/pc/code_twain/sln/usb_tools/usbtools.rc index 70b31cc2f47670f6eb1546e0b4d05f72452d5042..62cd8bc1ad8d2923f64055a278439ea6ff31dfb2 100644 GIT binary patch delta 199 zcmaEKhw;-r#tlgVyao)$3_1)73`PtF3KRW<@b|#>s5PTKql?`3&hm1Kk)h8FCm>CkJXs z^Xq_(uw*a;YBFLlpZw9?S<#2VpTV6W9;nWf!H2;WC}RvZ)RMsjY_#cQM@Qqy4IUzs fpQVaTiWS(LCw|J7)evZs+2qFX*v+#-Pe=d&_hc-Z delta 112 zcmex#kMYqR#tlgVyhaQr3_1)73`PtF3{UxZ~tMq9THp43