获取设备畸变值三次分别获取改为只获取一次,解决计算畸变值时无纸卡顿的问题

This commit is contained in:
yangjiaxuan 2024-01-04 17:56:36 +08:00
parent 0caba95e05
commit ccf891c619
6 changed files with 149 additions and 103 deletions

View File

@ -1290,12 +1290,12 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="68"/> <location filename="form_maininterface.cpp" line="69"/>
<source>Device type:</source> <source>Device type:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="68"/> <location filename="form_maininterface.cpp" line="69"/>
<source> SerialNum:</source> <source> SerialNum:</source>
<translation> </translation> <translation> </translation>
</message> </message>
@ -1312,7 +1312,7 @@
<translation type="vanished"> </translation> <translation type="vanished"> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="86"/> <location filename="form_maininterface.cpp" line="87"/>
<source>load last image which uploaded last time</source> <source>load last image which uploaded last time</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1321,14 +1321,14 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="165"/> <location filename="form_maininterface.cpp" line="166"/>
<source>tips</source> <source>tips</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="208"/> <location filename="form_maininterface.cpp" line="209"/>
<location filename="form_maininterface.cpp" line="218"/> <location filename="form_maininterface.cpp" line="219"/>
<location filename="form_maininterface.cpp" line="228"/> <location filename="form_maininterface.cpp" line="229"/>
<source>destortion value: </source> <source>destortion value: </source>
<translation> </translation> <translation> </translation>
</message> </message>
@ -1341,68 +1341,68 @@
<translation type="vanished"></translation> <translation type="vanished"></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="70"/> <location filename="form_maininterface.cpp" line="71"/>
<source> speed mode:</source> <source> speed mode:</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="71"/> <location filename="form_maininterface.cpp" line="72"/>
<source> sleep time:</source> <source> sleep time:</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="162"/> <location filename="form_maininterface.cpp" line="163"/>
<source>,but correct information is abnormal</source> <source>,but correct information is abnormal</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="267"/> <location filename="form_maininterface.cpp" line="268"/>
<source>please verify the configuration of the device:</source> <source>please verify the configuration of the device:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="268"/> <location filename="form_maininterface.cpp" line="269"/>
<source>vid:%1 <source>vid:%1
</source> </source>
<translation>vid:%1 <translation>vid:%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="269"/> <location filename="form_maininterface.cpp" line="270"/>
<source>pid:%1 <source>pid:%1
</source> </source>
<translation>pid:%1 <translation>pid:%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="270"/> <location filename="form_maininterface.cpp" line="271"/>
<source>sleep time:%1minute <source>sleep time:%1minute
</source> </source>
<translation>%1 <translation>%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="270"/> <location filename="form_maininterface.cpp" line="271"/>
<source>sleep time:%1 <source>sleep time:%1
</source> </source>
<translation>%1 <translation>%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="270"/> <location filename="form_maininterface.cpp" line="271"/>
<location filename="form_maininterface.cpp" line="629"/> <location filename="form_maininterface.cpp" line="641"/>
<source>Not sleeping</source> <source>Not sleeping</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="271"/> <location filename="form_maininterface.cpp" line="272"/>
<source>speed mode:%1PPM <source>speed mode:%1PPM
</source> </source>
<translation>%1PPM <translation>%1PPM
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="275"/> <location filename="form_maininterface.cpp" line="276"/>
<source>device model:%1</source> <source>device model:%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
@ -1417,21 +1417,21 @@
<translation type="vanished">: %1, : %2, 测试结果: 通过!</translation> <translation type="vanished">: %1, : %2, 测试结果: 通过!</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="796"/> <location filename="form_maininterface.cpp" line="808"/>
<location filename="form_maininterface.cpp" line="867"/> <location filename="form_maininterface.cpp" line="879"/>
<source>device history scan count:</source> <source>device history scan count:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="688"/>
<location filename="form_maininterface.cpp" line="692"/>
<location filename="form_maininterface.cpp" line="696"/>
<location filename="form_maininterface.cpp" line="700"/> <location filename="form_maininterface.cpp" line="700"/>
<location filename="form_maininterface.cpp" line="704"/>
<location filename="form_maininterface.cpp" line="708"/>
<location filename="form_maininterface.cpp" line="712"/>
<source>Prompt</source> <source>Prompt</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="295"/> <location filename="form_maininterface.cpp" line="296"/>
<source>please verify the size of the device&apos;s cpu and disk:</source> <source>please verify the size of the device&apos;s cpu and disk:</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1448,32 +1448,32 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="379"/> <location filename="form_maininterface.cpp" line="391"/>
<source>Tester: %1, Test item: %2, Test result: Failed! Reason: %3</source> <source>Tester: %1, Test item: %2, Test result: Failed! Reason: %3</source>
<translation>: %1, : %2, 测试结果: 不通过! : %3</translation> <translation>: %1, : %2, 测试结果: 不通过! : %3</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="404"/> <location filename="form_maininterface.cpp" line="416"/>
<source>Tester: %1, Test item: %2, Test result: Pass!</source> <source>Tester: %1, Test item: %2, Test result: Pass!</source>
<translation>: %1, : %2, 测试结果: 通过!</translation> <translation>: %1, : %2, 测试结果: 通过!</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="688"/> <location filename="form_maininterface.cpp" line="700"/>
<source>No paper</source> <source>No paper</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="692"/> <location filename="form_maininterface.cpp" line="704"/>
<source>Device is sleeping</source> <source>Device is sleeping</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="696"/> <location filename="form_maininterface.cpp" line="708"/>
<source>Counting mode</source> <source>Counting mode</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="700"/> <location filename="form_maininterface.cpp" line="712"/>
<source>Other error</source> <source>Other error</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1482,54 +1482,74 @@
<translation type="vanished">%1</translation> <translation type="vanished">%1</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="447"/> <location filename="form_maininterface.cpp" line="459"/>
<source>ID</source> <source>ID</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="447"/> <location filename="form_maininterface.cpp" line="459"/>
<source>Test items</source> <source>Test items</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="447"/> <location filename="form_maininterface.cpp" line="459"/>
<source>status</source> <source>status</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="523"/> <location filename="form_maininterface.cpp" line="535"/>
<source>not test</source> <source>not test</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="369"/> <location filename="form_maininterface.cpp" line="381"/>
<location filename="form_maininterface.cpp" line="523"/> <location filename="form_maininterface.cpp" line="535"/>
<source>not pass</source> <source>not pass</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="299"/> <location filename="form_maininterface.cpp" line="300"/>
<source>Actual cpu size:%1</source> <source>Actual cpu size:%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="305"/> <location filename="form_maininterface.cpp" line="306"/>
<source>Warning</source> <source>Warning</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="305"/> <location filename="form_maininterface.cpp" line="306"/>
<source>Device hard drive or memory detected to be too small!</source> <source>Device hard drive or memory detected to be too small!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="523"/> <location filename="form_maininterface.cpp" line="328"/>
<source>The device distortion:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="329"/>
<source>200dpi: %1</source>
<translation>200dpi %1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="330"/>
<source>300dpi: %1</source>
<translation>300dpi %1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="331"/>
<source>600dpi: %1</source>
<translation>600dpi %1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="535"/>
<source>not support</source> <source>not support</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="399"/> <location filename="form_maininterface.cpp" line="411"/>
<location filename="form_maininterface.cpp" line="523"/> <location filename="form_maininterface.cpp" line="535"/>
<source>pass</source> <source>pass</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1555,31 +1575,31 @@
<translation type="vanished">Pid</translation> <translation type="vanished">Pid</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="790"/> <location filename="form_maininterface.cpp" line="802"/>
<location filename="form_maininterface.cpp" line="861"/> <location filename="form_maininterface.cpp" line="873"/>
<source>device roller count:</source> <source>device roller count:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="203"/> <location filename="form_maininterface.cpp" line="204"/>
<location filename="form_maininterface.cpp" line="589"/> <location filename="form_maininterface.cpp" line="601"/>
<source>image pixel: </source> <source>image pixel: </source>
<translation>标准圆: * : </translation> <translation>标准圆: * : </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="68"/> <location filename="form_maininterface.cpp" line="69"/>
<source>FirmwareNum:</source> <source>FirmwareNum:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="272"/> <location filename="form_maininterface.cpp" line="273"/>
<source>device serial number:%1 <source>device serial number:%1
</source> </source>
<translation>%1 <translation>%1
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="273"/> <location filename="form_maininterface.cpp" line="274"/>
<source>device firmware number:%1 <source>device firmware number:%1
</source> </source>
<oldsource>device firmware number:%1</oldsource> <oldsource>device firmware number:%1</oldsource>
@ -1587,13 +1607,13 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="296"/> <location filename="form_maininterface.cpp" line="297"/>
<source>Target cpu size:&gt;%1</source> <source>Target cpu size:&gt;%1</source>
<oldsource>Target cpu size:%1</oldsource> <oldsource>Target cpu size:%1</oldsource>
<translation>&gt;%1</translation> <translation>&gt;%1</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="297"/> <location filename="form_maininterface.cpp" line="298"/>
<source>Target disk size:&gt;%1</source> <source>Target disk size:&gt;%1</source>
<oldsource>Target disk size:%1</oldsource> <oldsource>Target disk size:%1</oldsource>
<translation>&gt;%1</translation> <translation>&gt;%1</translation>
@ -1603,22 +1623,22 @@
<translation type="vanished">%1</translation> <translation type="vanished">%1</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="300"/> <location filename="form_maininterface.cpp" line="301"/>
<source>Actual disk size:%1</source> <source>Actual disk size:%1</source>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="631"/> <location filename="form_maininterface.cpp" line="643"/>
<source> minute</source> <source> minute</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="73"/> <location filename="form_maininterface.cpp" line="74"/>
<source> VID:</source> <source> VID:</source>
<translation> VID</translation> <translation> VID</translation>
</message> </message>
<message> <message>
<location filename="form_maininterface.cpp" line="73"/> <location filename="form_maininterface.cpp" line="74"/>
<source> PID:</source> <source> PID:</source>
<translation> PID</translation> <translation> PID</translation>
</message> </message>
@ -1864,14 +1884,14 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="hgscanner.cpp" line="149"/> <location filename="hgscanner.cpp" line="163"/>
<source>success: </source> <source>success: </source>
<oldsource>success</oldsource> <oldsource>success</oldsource>
<translation>: </translation> <translation>: </translation>
</message> </message>
<message> <message>
<location filename="hgscanner.cpp" line="107"/> <location filename="hgscanner.cpp" line="107"/>
<location filename="hgscanner.cpp" line="151"/> <location filename="hgscanner.cpp" line="165"/>
<source>failed: </source> <source>failed: </source>
<translation> </translation> <translation> </translation>
</message> </message>

View File

@ -60,6 +60,7 @@ Form_mainInterface::Form_mainInterface(class MainWindow *mainwnd, Dialog_logIn::
connect(this, SIGNAL(testGetDevCfgInfo(int,int,int,int,QString,QString,QString)), this, SLOT(on_testGetDevCfgInfo(int,int,int,int,QString,QString,QString)), Qt::QueuedConnection); connect(this, SIGNAL(testGetDevCfgInfo(int,int,int,int,QString,QString,QString)), this, SLOT(on_testGetDevCfgInfo(int,int,int,int,QString,QString,QString)), Qt::QueuedConnection);
connect(this, SIGNAL(testOpenCacheFile(QString)), this, SLOT(on_testOpenCacheFile(QString)), Qt::QueuedConnection); connect(this, SIGNAL(testOpenCacheFile(QString)), this, SLOT(on_testOpenCacheFile(QString)), Qt::QueuedConnection);
connect(this, SIGNAL(testGetDevCpuDisk(int,int)), this, SLOT(on_testGetDevCpuDisk(int,int)), Qt::QueuedConnection); connect(this, SIGNAL(testGetDevCpuDisk(int,int)), this, SLOT(on_testGetDevCpuDisk(int,int)), Qt::QueuedConnection);
connect(this, SIGNAL(testGetDevdistortion(float,float,float)), this, SLOT(on_testGetDevdistortion(float,float,float)), Qt::QueuedConnection);
if (m_handle) if (m_handle)
{ {
@ -321,6 +322,17 @@ void Form_mainInterface::on_testOpenCacheFile(QString name)
} }
} }
void Form_mainInterface::on_testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi)
{
QString info;
info.append(tr("The device distortion:") + "\n\n\t");
info.append(tr("200dpi: %1").arg(QString::number(dis_200dpi, 'f', 6)) + "\n\t");
info.append(tr("300dpi: %1").arg(QString::number(dis_300dpi, 'f', 6)) + "\n\t");
info.append(tr("600dpi: %1").arg(QString::number(dis_600dpi, 'f', 6)));
m_textTips->setViewContent(info);
}
void Form_mainInterface::on_viewerDblClick() void Form_mainInterface::on_viewerDblClick()
{ {
if (m_multiIndex != -1) if (m_multiIndex != -1)

View File

@ -43,6 +43,7 @@ signals:
void testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel); void testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel);
void testGetDevCpuDisk(int cpu, int disk); void testGetDevCpuDisk(int cpu, int disk);
void testOpenCacheFile(QString name); void testOpenCacheFile(QString name);
void testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
private slots: private slots:
void on_testResult(QString text); void on_testResult(QString text);
@ -52,6 +53,7 @@ private slots:
void on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel); void on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel);
void on_testGetDevCpuDisk(int cpu, int disk); void on_testGetDevCpuDisk(int cpu, int disk);
void on_testOpenCacheFile(QString name); void on_testOpenCacheFile(QString name);
void on_testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
void on_viewerDblClick(); void on_viewerDblClick();

View File

@ -143,7 +143,21 @@ void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, si
} }
} }
if (data != nullptr) bool isGetDevdistortion = false;
if (wcscmp(name, HGPDTTOOLDB_NAME_CONFIRM_DISTORTION_VAL) == 0)
{
isGetDevdistortion = true;
if (m_interface != nullptr)
{
float* value = (float*)data;
float q = value[0];
float w = value[1];
float e = value[2];
emit m_interface->testGetDevdistortion(value[0], value[1], value[2]);
}
}
if (data != nullptr && !isGetDevdistortion)
{ {
if (flag) if (flag)
info = QObject::tr("success: ") + QString::fromStdWString((const wchar_t*)data); info = QObject::tr("success: ") + QString::fromStdWString((const wchar_t*)data);

View File

@ -1069,6 +1069,14 @@ public:
} }
dpi = atoi(str.c_str()); dpi = atoi(str.c_str());
} }
ret = helper_->io_control(IO_CTRL_CODE_GET_PAPER_ON, &type, &llen);
if (!type)
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)L"自动计算畸变值获取失败: 无纸", false);
return ret;
}
if (dpi > 0) if (dpi > 0)
{ {
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi, &llen); ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi, &llen);
@ -1092,11 +1100,11 @@ public:
ret = helper_->io_control(IO_CTRL_CODE_GET_PC_DISTORTION_CHECK_VAL, &dis, &llen); ret = helper_->io_control(IO_CTRL_CODE_GET_PC_DISTORTION_CHECK_VAL, &dis, &llen);
break; break;
} }
else if (cnt == 30) else if (cnt == 10)
break; break;
if (is_distortion_get_image_abnormal) if (is_distortion_get_image_abnormal)
return -1; break;
Sleep(1000); Sleep(1000);
cnt++; cnt++;
@ -1186,37 +1194,27 @@ public:
{ {
return SCANNER_ERR_DATA_DAMAGED; return SCANNER_ERR_DATA_DAMAGED;
} }
wchar_t* p = (wchar_t*)data;
std::string str;
int ret = SCANNER_ERR_OK,
dpi = 0;
float distortion = 0; float distortion = 0;
unsigned int len = sizeof(int); unsigned int len = sizeof(int);
size_t strl = 0;
ret = wchar_to_char(str, p, &strl); int ret = SCANNER_ERR_OK;
if (ret == ERROR_INSUFFICIENT_BUFFER) float value[3] = { 0 };
int dpi[3] = { 200, 300, 600 };
for (int i = 0; i < 3; i++)
{ {
str.resize(strl); ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi[i], &len);
ret = wchar_to_char(str, p, &strl); ret = helper_->io_control(IO_CTRL_CODE_GET_DISTORTION_DEVS_CHECK_VAL, &distortion, &len);
if (str.empty()) if (ret != SCANNER_ERR_OK)
{ break;
return SCANNER_ERR_DATA_DAMAGED;
} value[i] = distortion;
dpi = atoi(str.c_str());
}
if (dpi > 0)
{
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi, &len);
} }
ret = helper_->io_control(IO_CTRL_CODE_GET_DISTORTION_DEVS_CHECK_VAL, &distortion, &len);
if (ret == SCANNER_ERR_OK) if (ret == SCANNER_ERR_OK)
{ {
wchar_t buf[64];
swprintf(buf, 64, L"设备畸变值为:%.4f", distortion);
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)buf, true); helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)(float*)value, true);
} }
else else
{ {