From d38f52300c00e7d1e26346bde1de0db1a9606621 Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Fri, 1 Mar 2024 11:22:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=85=B7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=9B=BA=E4=BB=B6=E7=89=88=E6=9C=AC=E5=8F=B7=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/ProductionTool_zh_CN.qm | Bin 18530 -> 18888 bytes app/HGProductionTool/ProductionTool_zh_CN.ts | 127 +++++++++++------- app/HGProductionTool/analysisjson.cpp | 3 +- app/HGProductionTool/analysisjson.h | 1 + .../dialog_inputserialnum.cpp | 46 ++++++- app/HGProductionTool/dialog_inputserialnum.h | 1 + app/HGProductionTool/dialog_inputserialnum.ui | 22 +-- 7 files changed, 135 insertions(+), 65 deletions(-) diff --git a/app/HGProductionTool/ProductionTool_zh_CN.qm b/app/HGProductionTool/ProductionTool_zh_CN.qm index 2a7c16ceee801229351de1ec4a1918e88d5a3a6d..bb51bdef6107352c41b69237059ca091b80c2def 100644 GIT binary patch delta 2443 zcmYM0dr(yO701ury^p2)KkO;u9kF5>e1~g<d!0l+_`NnrB<2$3eF#JE zLTG@y(2N5@a6EbjtxMDaUoF#5sGEwAR5?t%pPf6%R zcBWh;;Y1~on@OR^eubXP6?)HAI5A6Mkfd7o9}O?@-X<4Tx-vg1W$I?vy$M z9(zmlYTh#<|HHJrp$ZOk((+#(f&%3~Q{9(^$WSj66Yw^XK9E_Ny_?9~$Gq`q z86u8k*1m}}PrkrZZ$cJlu*^EIFJP~m*{!W3Qin6Wc4rt-LLYPI*;1l8dCc9_NU`_( zDt*L0M3$wh^Tz(9Ox5Y@KM+k_p&Fdgh{*F)|H#OK+zr*!<{3nDr>WC?#))Fis?+XV zg#2Z7p$X^x4yYS?&J)erss4Jz4-VC+uT~bpUc3568|8E z#O1>+JUB|EY2h-z&qs=DxEgB}(S&w|CO?G{^<2{*kTJ~)ZhJ4LB4U)=Z##hL*~%Sh z8X%IRxs#_=L`hG%p~HuWO!v5vuvsYe7uZ@H?wjUeBJC3H@w^%wG${12@XU@8 z7Dj#2a31hmE zFLGe!W8L|pqYptRzgBabXl4xGxDWw5xyyW8CmzIp{@CB!&}7^Aeg_UFdGpuiEQO*r zAtHAIZ=wQ*wHUxj(-w6 z2Ec$EacILDq}(cwT!A94Q5=npCURGc|H{e1eGo1FXElqldry4w;4n%tE(Pe3$tmqp z(h(mb&j4xe)Hl#{dTGIi5S&{qExYe3Rj9Ng+Zlt0U6NJ8_{o2i9BaUU&C)u%i=RvF z<3})l7U{U@2^`8*Xep77Ct*DyPx{2|8`Lya>g^3e50NyKFCsJhq;sdH<0^kex;U)I z&HAY{Iv3-tUoTzD`HCpyv^KK@dINsYW;xFxrAe*YWe#kZ1GV`DQ@{qT^+Qi6?9e*0 zZz6@Ow2ociv@2T2pImEyZCe)|{{{~KRiSB~%pXPIiD|OaqThnl49cNhFg*1$ImOOm{BFt_kzXTqH{|R` z5S(I?SDYWk$7PND`YM+}i(D5Ph*G>NZ#Olf%e~}%!)Pk~1^L7RtV8PM{^tzz6v$V8 zk5bJnkslYdp~NHdV@C*@(V`1(ih`a!PTlMQq|nz*m-_4gE{H_k>a$P~tkabri^P5K zOjq~STbTb#x@}qBIGC^N9e^XM%ev?F^N_i8eS8%Z#zg7UPhtM~jrxM6I%MvazHlo( z-MV1C&E=rqm_kdWzPZAPKn49!?c3-Xr;q-^MAXdxg8siw8$3@mFnb0uc3B2(_EH>- zGx#n=x6htnu#BKofh!FejWSA6Yp^}TaD+D-Y8&jRaV9u|Ubt;|#}$CVXn5CB3xVef zRT_m}RzrVXJ-#jdIFvG9-Fj2>Z~e2sre}x7&P~_nKFRp0BCROwxgP~llm_RC$Im$5 zUQxPkRfWx5ZL6rXJIY$SS?jkLS6W{{tK{d)WX0 delta 2170 zcmXAq3s6+o8OOi7dmnordzbeTloeK2D+>#V@)RMqgg^{}!TJm;Pqo-}6iG!Vi}BHj zVvImEDVnz8BchVZ=#&h#K?n#v>P&?i=zl%T?ELOIeD|F1eE@BINQfm0x&o#l2LJPs z^D_Fs#~5^xTej1%8{fGBJu@hx#gk%Ppa@bL%mCf2z_{7H=MQN*9}aS8F4Zee~c z@qJIQc{uT()#E@VPw62i0(=uGnIt%I8s`lXp4*8E>>^<;5)iMEus4$^_E#kN#);)5 zojOA_bvH@xZzj?Q83XbdgA~T#2aI6`#;Ki*jwZ(BPkr-gqdg7FViu#A@e@CcH0P|+iSXwDj{{ip@%hkuM6+v*&yQS3{OiUN z8{U5=-?*oJkSJlk@$>#Ll-_Cl`{oL4m}C5^2^$-|d_?9Bq8}~gqdf5ln4ZZe_P}Tn zC-~H)-=g$(zUpWVQBn$DeYcEg?rMJj&~2i)Bm9w^PQo7}SIy|3#Td}R7?jKyTEsZz z3%>OLv`@Lnx4yxFUcPN7Dn+q;Lx?fhW0}v!{#A^Dag0F~j8;2iXgy=tQO1ZD7$ckb z8|gEMw72--4N%TdC&+b~L~^wtzt;k`*w z6t9hd zuc6e4SeJ_v3w2`CDbO?^p8ZP`tdu5px$)lIe(~1aLadW5#s1W@6eqkcrL6rB3t6Si zmAheyF)8bNcqC;)Dr(EceNiM;RM+C3iIFz{16M@&$5LGd;$k|a7O?|f+bcb-Nb*ss zZ%!4w`n@!CIU5R3mAp?Hk?2+Fo;-qPxN9=}4$5b|YqD52;Gx(Q;E6$LlEzG7zeb=o zV#?c*gYgB^zQxck;I8RdS`pE_o2KrqcW`e+$a)GARlk#+CktTWA-kSB;C`9%q zCBOq0<$o?-46X0T|0(CuRSV^@ho@1pW@UCxg=A8+}!q=3H>8oKftCCX_h4&_u zB@ZA`>KDrLf;o`t$4aS!=2BY}_j=HlsJyby$MwqLduJfkkaFHOhD1yr_7G`P&dbG6;H!P$!h8GV64}sx(jZja)GM*O>l;1uj>Ad@8J`*=^Pdg zv8jijq{2iN_3g`DI6_uxK280o=HJl#p*qkCQ(5cPuiEA#;a3?a|5p=ReJ3B& z?D}q0=Fgh*95!}TXwRw6?69ZG292~=JKm}-|kB&2_hP(WTxdq=?&~GLya1EN>19t7Jir(+tk-V}f;l_%-tDj9 zq8ZRXodn4y?b83}DMP9MW#NwWpxq1>wV)6m)BBcZ3Ssiu-4=U)BU~JzTk`5ONZ_)R zjiW1~Gc4Qptb@iJ*blQbSzh;@z}#y&WZ#Z}2}Xm7F*wB1Rl5Th%4WQj@wmZdcQh=J Z_4bRV6+-(;J)3LK^IImikB1D*`aiSXEO-C_ diff --git a/app/HGProductionTool/ProductionTool_zh_CN.ts b/app/HGProductionTool/ProductionTool_zh_CN.ts index 4e33753..b71889e 100644 --- a/app/HGProductionTool/ProductionTool_zh_CN.ts +++ b/app/HGProductionTool/ProductionTool_zh_CN.ts @@ -130,35 +130,40 @@ 取消 - - - - + + + + tips 提示 - + Speed mode 速度模式 - + Failed! 失败! - + Succeed! 成功! - + + Inconsistent firmware detected, please burn the correct firmware, and check again + 检测到固件版本不一致,请烧录正确的固件并重新检查 + + + Sleep time 休眠时间 - + Vid and Pid Vid和Pid @@ -171,32 +176,32 @@ 检测到配置%1不一致,已重新配置,请再次检查 - + Consistent configuration 配置一致! - + device is lost 设备已丢失 - + Serial num is empty 序列号为空 - + sn is illegal 序列号不合法 - + The device is testing 该设备正在进行测试 - + set sn failed 设置序列号失败 @@ -206,7 +211,7 @@ 设备名: %1 - + Target Configration: Target Configration: @@ -214,16 +219,16 @@ - - - + + + Speep mode: %1PPM Speep mode: %1PPM 速度模式: %1PPM - + Pass Pass @@ -237,9 +242,9 @@ - - - + + + Sleep time: %1minute Sleep time: %1minute @@ -247,9 +252,7 @@ - - - + Vid: %1 Pid: %2 Vid: %1 Pid: %2 @@ -257,43 +260,65 @@ - - - + + + Device model: %1 设备型号: %1 - + + + Firmware version: %1 + 固件版本:%1 + + + + + Vid: %1 +Pid: %2 + Vid: %1 +Pid: %2 + + + Current Configration of device: 当前设备配置: - + Fail Fail - - - + + + Set serial number: %1 设置序列号: %1 - + Device model 设备型号 - - + Firmware version + 固件版本 + + + Inconsistent configuration %1detected, please burn the correct firmware, and check again + 检测到%1不一致,请烧录正确的固件并重新检查 + + + + Detected that the current device's vid-pid and device object are not consistent. 检测到当前设备的vid-pid和设备对象不一致. - - + + Please reboot device to update. 请重启设备刷新. @@ -314,24 +339,24 @@ 测试结果:成功! - - - + + + Inconsistent configuration %1detected, please reconfigure, and check again 检测到配置 %1不一致,请重新配置后再次检查 - + Inconsistent configuration %1detected, please reboot and reconfigure, and check again 检测到配置 %1不一致,请重启后再次检查 - + Set configuration to device 将目标配置设置到设备 - + Test content: 测试内容: @@ -341,20 +366,20 @@ - - - + + + Sleep time: Not sleeping 休眠时间: 不休眠 - - + + Tester: %1, Test item: %2 测试员: %1, 测试项: %2 - + set sn succeed 设置序列号成功 diff --git a/app/HGProductionTool/analysisjson.cpp b/app/HGProductionTool/analysisjson.cpp index 53aaeec..fa6bf99 100644 --- a/app/HGProductionTool/analysisjson.cpp +++ b/app/HGProductionTool/analysisjson.cpp @@ -58,7 +58,8 @@ AnalysisJson::json_global AnalysisJson::GetGlobal() obj["sleep-time"].toInt(), obj["device-model"].toString(), obj["cpu-size"].toInt(), - obj["disk-size"].toInt()}; + obj["disk-size"].toInt(), + obj["firmware-version"].toString()}; } diff --git a/app/HGProductionTool/analysisjson.h b/app/HGProductionTool/analysisjson.h index 87b0ece..2ecccef 100644 --- a/app/HGProductionTool/analysisjson.h +++ b/app/HGProductionTool/analysisjson.h @@ -28,6 +28,7 @@ public: QString device_model; std::int32_t cpu_size; std::int32_t disk_size; + QString firmware_version; }; AnalysisJson() = delete ; diff --git a/app/HGProductionTool/dialog_inputserialnum.cpp b/app/HGProductionTool/dialog_inputserialnum.cpp index cb0781e..dbeb20a 100644 --- a/app/HGProductionTool/dialog_inputserialnum.cpp +++ b/app/HGProductionTool/dialog_inputserialnum.cpp @@ -269,6 +269,21 @@ QString Dialog_InputSerialNum::getDeviceModel() return QString::fromStdString(devs_model); } +QString Dialog_InputSerialNum::getDeviceFwVersion() +{ + std::string firmwareVersion; + unsigned int devs_len = 0; + + SANE_Status ret = sane_io_control(m_handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &firmwareVersion[0], &devs_len); + if (ret == SANE_STATUS_NO_MEM) + { + firmwareVersion.resize(devs_len); + ret = sane_io_control(m_handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &firmwareVersion[0], &devs_len); + } + + return QString::fromStdString(firmwareVersion).left(10); +} + void Dialog_InputSerialNum::updateTargetCfg() { ui->textBrowser_target->clear(); @@ -281,6 +296,7 @@ void Dialog_InputSerialNum::updateTargetCfg() int vid_to = jsonGlobal.vid_to; int pid_to = jsonGlobal.pid_to; QString devideModel = jsonGlobal.device_model; + QString fwVersion = jsonGlobal.firmware_version; char buf[10]; sprintf(buf, "%x", vid_to); @@ -294,9 +310,12 @@ void Dialog_InputSerialNum::updateTargetCfg() if (!devideModel.isEmpty()) content.append(tr("Device model: %1").arg(devideModel) + "\n"); + if (!fwVersion.isEmpty()) + content.append(tr("Firmware version: %1").arg(fwVersion) + "\n"); + content.append(tr("Speep mode: %1PPM").arg(QString::number(speedMode)) + "\n"); content.append((sleepTime > 0 ? tr("Sleep time: %1minute").arg(QString::number(sleepTime)) : tr("Sleep time: Not sleeping")) + "\n"); - content.append(tr("Vid: %1 Pid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + "\n"); + content.append(tr("Vid: %1\nPid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + "\n"); ui->textBrowser_target->setText(content); } @@ -320,6 +339,13 @@ void Dialog_InputSerialNum::updateCurDeviceCfg() { devideModel = getDeviceModel(); } + + QString fwVersion(""); + if (!jsonGlobal.firmware_version.isEmpty()) + { + fwVersion = getDeviceFwVersion(); + } + char buf[10]; sprintf(buf, "%x", vid_to); @@ -332,9 +358,12 @@ void Dialog_InputSerialNum::updateCurDeviceCfg() if (!devideModel.isEmpty()) content.append(tr("Device model: %1").arg(devideModel) + "\n"); + if (!fwVersion.isEmpty()) + content.append(tr("Firmware version: %1").arg(fwVersion) + "\n"); + content.append(tr("Speep mode: %1PPM").arg(QString::number(speedMode)) + "\n"); content.append(sleepTime > 0 ? tr("Sleep time: %1minute").arg(QString::number(sleepTime)) + "\n" : tr("Sleep time: Not sleeping") + "\n"); - content.append(tr("Vid: %1 Pid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + "\n"); + content.append(tr("Vid: %1\nPid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + "\n"); ui->textBrowser_curConfig->setText(content); } @@ -445,6 +474,7 @@ void Dialog_InputSerialNum::on_pbtn_checkConfig_clicked() int vid_to = jsonGlobal.vid_to; int pid_to = jsonGlobal.pid_to; QString deviceModel_to = jsonGlobal.device_model; + QString firmwareVersion_to = jsonGlobal.firmware_version; int speedMode = getSpeedMode(); int sleepTime = getSleepTime(); @@ -469,6 +499,18 @@ void Dialog_InputSerialNum::on_pbtn_checkConfig_clicked() } } + if (!firmwareVersion_to.isEmpty()) + { + QString fwVersion = getDeviceFwVersion(); + if (firmwareVersion_to != fwVersion) + { + right = false; + + QString info = tr("Inconsistent firmware detected, please burn the correct firmware, and check again"); + addInteractInfo(info, false); + } + } + if (speedMode_to != speedMode) { item.append(tr("Speed mode")); diff --git a/app/HGProductionTool/dialog_inputserialnum.h b/app/HGProductionTool/dialog_inputserialnum.h index 860874a..bcf93aa 100644 --- a/app/HGProductionTool/dialog_inputserialnum.h +++ b/app/HGProductionTool/dialog_inputserialnum.h @@ -35,6 +35,7 @@ public: int getDevVid(); int getDevPid(); QString getDeviceModel(); + QString getDeviceFwVersion(); private: void updateTargetCfg(); diff --git a/app/HGProductionTool/dialog_inputserialnum.ui b/app/HGProductionTool/dialog_inputserialnum.ui index 034a377..afe6de8 100644 --- a/app/HGProductionTool/dialog_inputserialnum.ui +++ b/app/HGProductionTool/dialog_inputserialnum.ui @@ -6,8 +6,8 @@ 0 0 - 795 - 608 + 812 + 615 @@ -16,7 +16,7 @@ - 570 + 580 300 190 35 @@ -44,7 +44,7 @@ - 570 + 580 210 190 35 @@ -72,7 +72,7 @@ - 570 + 580 390 190 35 @@ -102,7 +102,7 @@ 10 320 - 521 + 531 231 @@ -112,7 +112,7 @@ 10 110 - 521 + 531 191 @@ -148,7 +148,7 @@ - 610 + 620 480 101 41 @@ -196,7 +196,7 @@ - 390 + 400 50 141 31 @@ -215,7 +215,7 @@ - 560 + 580 50 181 31 @@ -234,7 +234,7 @@ - 600 + 610 110 121 61