From 9ec1ff241ea4bb0d3cfd0fe9d0bf62ad5cad4ea1 Mon Sep 17 00:00:00 2001 From: lovelyyoung <1002639516@qq.com> Date: Mon, 18 Oct 2021 16:30:13 +0800 Subject: [PATCH] =?UTF-8?q?2021=E5=B9=B410=E6=9C=8818=E6=97=A516=201.=20?= =?UTF-8?q?=E9=92=88=E5=AF=B93288=20g300g400=20=E5=A2=9E=E5=8A=A0=E6=A0=A1?= =?UTF-8?q?=E6=AD=A3=E4=BF=A1=E6=81=AF=E5=AE=9E=E6=97=B6=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=EF=BC=9B=202.=E5=A2=9E=E5=8A=A0usb=20vid=20pid=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9B=203.=E5=A2=9E=E5=8A=A0=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E9=85=8D=E7=BD=AE=E5=8A=9F=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HaoGaoCOrrect修改记录.txt | 5 ++ HuaGoCorrect/A3.cpp | 35 ++++++--- HuaGoCorrect/A3.h | 35 ++++++--- HuaGoCorrect/A4.cpp | 51 ++++++++++++- HuaGoCorrect/A4.h | 13 +++- HuaGoCorrect/HuaGoCorrect.aps | Bin 0 -> 108128 bytes HuaGoCorrect/HuaGoCorrect.rc | Bin 38488 -> 38210 bytes HuaGoCorrect/HuaGoCorrect.vcxproj | 2 + HuaGoCorrect/HuaGoCorrect.vcxproj.filters | 6 ++ HuaGoCorrect/HuaGoCorrectDlg.cpp | 29 ++++++-- HuaGoCorrect/IScanner.h | 3 + HuaGoCorrect/ImageMatQueue.cpp | 21 +++--- HuaGoCorrect/JpegBuffer.cpp | 2 +- HuaGoCorrect/commondef.h | 2 + HuaGoCorrect/gscan3399.cpp | 7 ++ HuaGoCorrect/gscan3399.h | 2 +- HuaGoCorrect/gscn_drv.cpp | 54 +++++++++++++- HuaGoCorrect/gscn_drv.h | 84 +++++++++++----------- HuaGoCorrect/img.jpg | Bin 0 -> 1966510 bytes HuaGoCorrect/inmg.jpg | Bin 0 -> 3323734 bytes HuaGoCorrect/scn_usb.cpp | 2 +- HuaGoCorrect/vendorconfig.cpp | 35 +++++++++ HuaGoCorrect/vendorconfig.h | 27 +++++++ 23 files changed, 332 insertions(+), 83 deletions(-) create mode 100644 HuaGoCorrect/HuaGoCorrect.aps create mode 100644 HuaGoCorrect/img.jpg create mode 100644 HuaGoCorrect/inmg.jpg create mode 100644 HuaGoCorrect/vendorconfig.cpp create mode 100644 HuaGoCorrect/vendorconfig.h diff --git a/HaoGaoCOrrect修改记录.txt b/HaoGaoCOrrect修改记录.txt index 280e538..86a8915 100644 --- a/HaoGaoCOrrect修改记录.txt +++ b/HaoGaoCOrrect修改记录.txt @@ -13,3 +13,8 @@ 2. 增加明场暗场校正最大明场值配置; 3. 界面UI按钮顺序调整对齐等操作; V4.2版本 + +2021年10月18日16 +1. 针对3288 g300g400 增加校正信息实时显示; +2.增加usb vid pid 配置; +3.增加速度模式配置功能; diff --git a/HuaGoCorrect/A3.cpp b/HuaGoCorrect/A3.cpp index 6df90bd..08eb882 100644 --- a/HuaGoCorrect/A3.cpp +++ b/HuaGoCorrect/A3.cpp @@ -143,6 +143,8 @@ void CA3::OnGetOrSetSp(bool get, int type) } + + void CA3::OnGetOrSetSleepTime(bool get, int type) { int sp; @@ -289,18 +291,28 @@ void CA3::updatespeedmode(bool get) if (parent != NULL) { if (parent->m_drv.get() && parent->m_drv->IsConnected()) { - int speedmode; + int speedmode=0; if (get) { parent->m_drv->GetSpeedMode(speedmode, true); bool bfound = false; for (size_t i = 0; i < speedmodeMap.size(); i++) { - if (speedmodeMap[i].Speedmode == speedmode) + if (parent->m_drv->PID == 0x0139 || parent->m_drv->PID == 0x0239) { - m_cmbSpeedmode.SetCurSel(i); - OnGetOrSetSp(true, 0);//»Ҷsp - OnGetOrSetSp(true, 1);//²ɫsp + if (speedmodeMap[i].Speedmode == speedmode) + { + m_cmbSpeedmode.SetCurSel(i); + OnGetOrSetSp(true, 0);//»Ҷsp + OnGetOrSetSp(true, 1);//²ɫsp + bfound = true; + break; + } + } + else if (parent->m_drv->PID == 0x0300 || parent->m_drv->PID == 0x0400) + { + int startindex = parent->m_drv->PID == 0x0300 ? 6 : 10; + m_cmbSpeedmode.SetCurSel(startindex+ speedmode); bfound = true; break; } @@ -314,9 +326,16 @@ void CA3::updatespeedmode(bool get) if (cmbindex != -1) { auto t_speedmode = speedmodeMap[cmbindex]; - parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false); - parent->m_drv->SetSptime(0, t_speedmode.GraySp); - parent->m_drv->SetSptime(1, t_speedmode.ColorSp); + if (parent->m_drv->PID == 0x0139 || parent->m_drv->PID == 0x0239) + { + parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false); + parent->m_drv->SetSptime(0, t_speedmode.GraySp); + parent->m_drv->SetSptime(1, t_speedmode.ColorSp); + } + else if (parent->m_drv->PID == 0x0300 || parent->m_drv->PID == 0x0400) + { + parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false); + } } } } diff --git a/HuaGoCorrect/A3.h b/HuaGoCorrect/A3.h index b9fe86d..7c65ca4 100644 --- a/HuaGoCorrect/A3.h +++ b/HuaGoCorrect/A3.h @@ -51,6 +51,7 @@ private: unsigned int ColorSp; unsigned int GraySp; }; + std::map speedmodeMap = { {0,{70,0x42d,0xc88}}, {1,{80,0x37f,0xa7f}}, @@ -58,17 +59,35 @@ private: {3,{100,0x27c,0x775}}, {4,{110,0x27c,0x775}}, {5,{120,0x27c,0x775}}, - {6,{130,0x27c,0x775}} + {6,{130,0x27c,0x775}}, + {7,{1,0,0}}, + {8,{2,0,0}}, + {9,{3,0,0}}, + {10,{4,0,0}}, + {11,{1,0,0}}, + {12,{2,0,0}}, + {13,{3,0,0}}, + {14,{4,0,0}}, + {15,{5,0,0}} }; std::map speedmodeMapString = { - {0,L"G100_70PPM"}, - {1,L"G100_80PPM"}, - {2,L"G100_90PPM"}, - {3,L"G200_100PPM"}, - {4,L"G200_110PPM"}, - {5,L"G200_120PPM"}, - {6,L"G200_130PPM"} + {0,L"G139_70PPM"}, + {1,L"G139_80PPM"}, + {2,L"G139_90PPM"}, + {3,L"G239_100PPM"}, + {4,L"G239_110PPM"}, + {5,L"G239_120PPM"}, + {6,L"G239_130PPM"}, + {7,L"G300_40PPM"}, + {8,L"G300_50PPM"}, + {9,L"G300_60PPM"}, + {10,L"G300_700PPM"}, + {11,L"G400_40PPM"}, + {12,L"G400_50PPM"}, + {13,L"G400_60PPM"}, + {14,L"G400_70PPM"}, + {15,L"G400_80PPM"}, }; CComboBox m_cmbSpeedmode; }; diff --git a/HuaGoCorrect/A4.cpp b/HuaGoCorrect/A4.cpp index d36d583..e84008d 100644 --- a/HuaGoCorrect/A4.cpp +++ b/HuaGoCorrect/A4.cpp @@ -191,6 +191,15 @@ void CA4::OnBnClickedBtnReboot() /// void CA4::OnBnClickedBtnSetvidpid() { + auto ret= MessageBox(L"ǰȷУԼٶģʽ豸صɣVID PID󲿷ֹܲãȷ", L"ʾ", MB_YESNO | MB_ICONWARNING); + if (ret == IDOK || ret == IDYES) + { + auto parent = (CHuaGoCorrectDlg*)GetParent(); + if (parent->m_drv.get() && parent->m_drv->IsConnected()) { + auto vidpid = AqrVIDPID(); + parent->m_drv->GetOrSetVIDPID(vidpid, false); + } + } } /// @@ -198,7 +207,14 @@ void CA4::OnBnClickedBtnSetvidpid() /// void CA4::OnBnClickedBtnGetvidpid() { - // TODO: ڴӿؼ֪ͨ + auto parent = (CHuaGoCorrectDlg*)GetParent(); + if (parent->m_drv.get() && parent->m_drv->IsConnected()) { + int vidpid = 0; + parent->m_drv->GetOrSetVIDPID(vidpid, true); + VIDPID tvpd; + tvpd.Value = vidpid; + UpdateVidPid(tvpd); + } } /// @@ -428,3 +444,36 @@ void CA4::OnEnChangetbxfrexposure2() // TODO: ڴӿؼ֪ͨ } + + +int CA4::AqrVIDPID() +{ + VIDPID t_vidpid = { 0 }; + CString str_vid, str_pid; + GetDlgItemText(IDC_tbxVID, str_vid); + str_vid.Replace(L"0x",L""); + USES_CONVERSION; + std::string str(W2A(str_vid)); + t_vidpid.VID = strtol(str.c_str(),NULL,16);// atoi(str.c_str()); + GetDlgItemText(IDC_tbxPID, str_pid); + str_pid.Replace(L"0x", L""); + std::string cstr_pid(W2A(str_pid)); + t_vidpid.PID = strtol(cstr_pid.c_str(), NULL, 16);// atoi(cstr_pid.c_str()); + return t_vidpid.Value; +} + +void CA4::UpdateVidPid(VIDPID vidpid) +{ + if (vidpid.PID != 0 && vidpid.VID != 0) + { + CString str_vid, str_pid; + str_vid.Format(L"0x%x", vidpid.VID); + str_pid.Format(L"0x%x", vidpid.PID); + GetDlgItem(IDC_tbxVID)->SetWindowText(str_vid); + GetDlgItem(IDC_tbxPID)->SetWindowText(str_pid); + } + else + { + MessageBox(L"VID PID", L"ʾ", MB_OK); + } +} diff --git a/HuaGoCorrect/A4.h b/HuaGoCorrect/A4.h index 64b5d02..88828dc 100644 --- a/HuaGoCorrect/A4.h +++ b/HuaGoCorrect/A4.h @@ -8,6 +8,7 @@ #include "JsonConfig.h" #include + // CA4 Ի #define INI_FILE_NAME "./HuaGoScan.ini" class CA4 : public CDialog @@ -22,7 +23,15 @@ public: // Ի enum { IDD = IDD_A4_DIALOG }; - + union VIDPID + { + struct + { + unsigned short VID; + unsigned short PID; + }; + unsigned int Value; + }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧ @@ -75,4 +84,6 @@ public: afx_msg void OnBnClickedBtnbdown(); void UpdateGains(int id, bool get); afx_msg void OnEnChangetbxfrexposure2(); + int AqrVIDPID(); + void UpdateVidPid(VIDPID vidpid); }; diff --git a/HuaGoCorrect/HuaGoCorrect.aps b/HuaGoCorrect/HuaGoCorrect.aps new file mode 100644 index 0000000000000000000000000000000000000000..4dc99843384b35b556538b124659faad02fb1c30 GIT binary patch literal 108128 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