生产工具增加固件版本号判断

This commit is contained in:
yangjiaxuan 2024-03-01 11:22:32 +08:00
parent a1be80f341
commit d38f52300c
7 changed files with 135 additions and 65 deletions

View File

@ -130,35 +130,40 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="526"/>
<location filename="dialog_inputserialnum.cpp" line="533"/>
<location filename="dialog_inputserialnum.cpp" line="542"/>
<location filename="dialog_inputserialnum.cpp" line="549"/>
<location filename="dialog_inputserialnum.cpp" line="568"/>
<location filename="dialog_inputserialnum.cpp" line="575"/>
<location filename="dialog_inputserialnum.cpp" line="584"/>
<location filename="dialog_inputserialnum.cpp" line="591"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="474"/>
<location filename="dialog_inputserialnum.cpp" line="516"/>
<source>Speed mode</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="425"/>
<location filename="dialog_inputserialnum.cpp" line="454"/>
<source>Failed!</source>
<translation>!</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="432"/>
<location filename="dialog_inputserialnum.cpp" line="461"/>
<source>Succeed!</source>
<translation>!</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="484"/>
<location filename="dialog_inputserialnum.cpp" line="509"/>
<source>Inconsistent firmware detected, please burn the correct firmware, and check again</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="526"/>
<source>Sleep time</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="493"/>
<location filename="dialog_inputserialnum.cpp" line="535"/>
<source>Vid and Pid</source>
<translation>Vid和Pid</translation>
</message>
@ -171,32 +176,32 @@
<translation type="vanished">%1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="512"/>
<location filename="dialog_inputserialnum.cpp" line="554"/>
<source>Consistent configuration</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="526"/>
<location filename="dialog_inputserialnum.cpp" line="568"/>
<source>device is lost</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="533"/>
<location filename="dialog_inputserialnum.cpp" line="575"/>
<source>Serial num is empty</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="542"/>
<location filename="dialog_inputserialnum.cpp" line="584"/>
<source>sn is illegal</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="549"/>
<location filename="dialog_inputserialnum.cpp" line="591"/>
<source>The device is testing</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="426"/>
<location filename="dialog_inputserialnum.cpp" line="455"/>
<source>set sn failed</source>
<translation></translation>
</message>
@ -206,7 +211,7 @@
<translation> %1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="292"/>
<location filename="dialog_inputserialnum.cpp" line="308"/>
<source>Target Configration:</source>
<oldsource>Target Configration:
</oldsource>
@ -214,16 +219,16 @@
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="125"/>
<location filename="dialog_inputserialnum.cpp" line="297"/>
<location filename="dialog_inputserialnum.cpp" line="335"/>
<location filename="dialog_inputserialnum.cpp" line="588"/>
<location filename="dialog_inputserialnum.cpp" line="316"/>
<location filename="dialog_inputserialnum.cpp" line="364"/>
<location filename="dialog_inputserialnum.cpp" line="630"/>
<source>Speep mode: %1PPM</source>
<oldsource>Speep mode: %1PPM
</oldsource>
<translation>: %1PPM</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="401"/>
<location filename="dialog_inputserialnum.cpp" line="430"/>
<source>Pass</source>
<translation>Pass</translation>
</message>
@ -237,9 +242,9 @@
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="142"/>
<location filename="dialog_inputserialnum.cpp" line="298"/>
<location filename="dialog_inputserialnum.cpp" line="336"/>
<location filename="dialog_inputserialnum.cpp" line="589"/>
<location filename="dialog_inputserialnum.cpp" line="317"/>
<location filename="dialog_inputserialnum.cpp" line="365"/>
<location filename="dialog_inputserialnum.cpp" line="631"/>
<source>Sleep time: %1minute</source>
<oldsource>Sleep time: %1minute
</oldsource>
@ -247,9 +252,7 @@
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="166"/>
<location filename="dialog_inputserialnum.cpp" line="299"/>
<location filename="dialog_inputserialnum.cpp" line="337"/>
<location filename="dialog_inputserialnum.cpp" line="590"/>
<location filename="dialog_inputserialnum.cpp" line="632"/>
<source>Vid: %1 Pid: %2</source>
<oldsource>Vid: %1 Pid: %2
</oldsource>
@ -257,43 +260,65 @@
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="182"/>
<location filename="dialog_inputserialnum.cpp" line="295"/>
<location filename="dialog_inputserialnum.cpp" line="333"/>
<location filename="dialog_inputserialnum.cpp" line="586"/>
<location filename="dialog_inputserialnum.cpp" line="311"/>
<location filename="dialog_inputserialnum.cpp" line="359"/>
<location filename="dialog_inputserialnum.cpp" line="628"/>
<source>Device model: %1</source>
<translation>: %1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="330"/>
<location filename="dialog_inputserialnum.cpp" line="314"/>
<location filename="dialog_inputserialnum.cpp" line="362"/>
<source>Firmware version: %1</source>
<translation>%1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="318"/>
<location filename="dialog_inputserialnum.cpp" line="366"/>
<source>Vid: %1
Pid: %2</source>
<translation>Vid: %1
Pid: %2</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="356"/>
<source>Current Configration of device:</source>
<translation>:</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="406"/>
<location filename="dialog_inputserialnum.cpp" line="435"/>
<source>Fail</source>
<translation>Fail</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="421"/>
<location filename="dialog_inputserialnum.cpp" line="425"/>
<location filename="dialog_inputserialnum.cpp" line="432"/>
<location filename="dialog_inputserialnum.cpp" line="450"/>
<location filename="dialog_inputserialnum.cpp" line="454"/>
<location filename="dialog_inputserialnum.cpp" line="461"/>
<source>Set serial number: %1 </source>
<translation>: %1 </translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="463"/>
<location filename="dialog_inputserialnum.cpp" line="493"/>
<source>Device model</source>
<translation></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="504"/>
<location filename="dialog_inputserialnum.cpp" line="600"/>
<source>Firmware version</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Inconsistent configuration %1detected, please burn the correct firmware, and check again</source>
<translation type="vanished">%1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="546"/>
<location filename="dialog_inputserialnum.cpp" line="642"/>
<source>Detected that the current device&apos;s vid-pid and device object are not consistent. </source>
<translation>vid-pid和设备对象不一致. </translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="505"/>
<location filename="dialog_inputserialnum.cpp" line="601"/>
<location filename="dialog_inputserialnum.cpp" line="547"/>
<location filename="dialog_inputserialnum.cpp" line="643"/>
<source>Please reboot device to update. </source>
<translation>. </translation>
</message>
@ -314,24 +339,24 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="467"/>
<location filename="dialog_inputserialnum.cpp" line="478"/>
<location filename="dialog_inputserialnum.cpp" line="487"/>
<location filename="dialog_inputserialnum.cpp" line="497"/>
<location filename="dialog_inputserialnum.cpp" line="520"/>
<location filename="dialog_inputserialnum.cpp" line="529"/>
<source>Inconsistent configuration %1detected, please reconfigure, and check again</source>
<translation> %1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="496"/>
<location filename="dialog_inputserialnum.cpp" line="538"/>
<source>Inconsistent configuration %1detected, please reboot and reconfigure, and check again</source>
<translation> %1</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="592"/>
<location filename="dialog_inputserialnum.cpp" line="634"/>
<source>Set configuration to device </source>
<translation> </translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="593"/>
<location filename="dialog_inputserialnum.cpp" line="635"/>
<source>Test content: </source>
<translation> </translation>
</message>
@ -341,20 +366,20 @@
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="142"/>
<location filename="dialog_inputserialnum.cpp" line="298"/>
<location filename="dialog_inputserialnum.cpp" line="336"/>
<location filename="dialog_inputserialnum.cpp" line="589"/>
<location filename="dialog_inputserialnum.cpp" line="317"/>
<location filename="dialog_inputserialnum.cpp" line="365"/>
<location filename="dialog_inputserialnum.cpp" line="631"/>
<source>Sleep time: Not sleeping</source>
<translation>休眠时间: 不休眠</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="421"/>
<location filename="dialog_inputserialnum.cpp" line="592"/>
<location filename="dialog_inputserialnum.cpp" line="450"/>
<location filename="dialog_inputserialnum.cpp" line="634"/>
<source>Tester: %1, Test item: %2</source>
<translation>: %1, : %2</translation>
</message>
<message>
<location filename="dialog_inputserialnum.cpp" line="433"/>
<location filename="dialog_inputserialnum.cpp" line="462"/>
<source>set sn succeed</source>
<translation></translation>
</message>

View File

@ -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()};
}

View File

@ -28,6 +28,7 @@ public:
QString device_model;
std::int32_t cpu_size;
std::int32_t disk_size;
QString firmware_version;
};
AnalysisJson() = delete ;

View File

@ -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"));

View File

@ -35,6 +35,7 @@ public:
int getDevVid();
int getDevPid();
QString getDeviceModel();
QString getDeviceFwVersion();
private:
void updateTargetCfg();

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>795</width>
<height>608</height>
<width>812</width>
<height>615</height>
</rect>
</property>
<property name="windowTitle">
@ -16,7 +16,7 @@
<widget class="QPushButton" name="pbtn_setConfig">
<property name="geometry">
<rect>
<x>570</x>
<x>580</x>
<y>300</y>
<width>190</width>
<height>35</height>
@ -44,7 +44,7 @@
<widget class="QPushButton" name="pbtn_checkConfig">
<property name="geometry">
<rect>
<x>570</x>
<x>580</x>
<y>210</y>
<width>190</width>
<height>35</height>
@ -72,7 +72,7 @@
<widget class="QPushButton" name="pbtn_enterTest">
<property name="geometry">
<rect>
<x>570</x>
<x>580</x>
<y>390</y>
<width>190</width>
<height>35</height>
@ -102,7 +102,7 @@
<rect>
<x>10</x>
<y>320</y>
<width>521</width>
<width>531</width>
<height>231</height>
</rect>
</property>
@ -112,7 +112,7 @@
<rect>
<x>10</x>
<y>110</y>
<width>521</width>
<width>531</width>
<height>191</height>
</rect>
</property>
@ -148,7 +148,7 @@
<widget class="QPushButton" name="pbtn_reboot">
<property name="geometry">
<rect>
<x>610</x>
<x>620</x>
<y>480</y>
<width>101</width>
<height>41</height>
@ -196,7 +196,7 @@
<widget class="QPushButton" name="pbtn_setSn">
<property name="geometry">
<rect>
<x>390</x>
<x>400</x>
<y>50</y>
<width>141</width>
<height>31</height>
@ -215,7 +215,7 @@
<widget class="QPushButton" name="pbtn_slectLogPath">
<property name="geometry">
<rect>
<x>560</x>
<x>580</x>
<y>50</y>
<width>181</width>
<height>31</height>
@ -234,7 +234,7 @@
<widget class="QPushButton" name="pushButton_status">
<property name="geometry">
<rect>
<x>600</x>
<x>610</x>
<y>110</y>
<width>121</width>
<height>61</height>