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

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>
</message>
<message>
<location filename="form_maininterface.cpp" line="68"/>
<location filename="form_maininterface.cpp" line="69"/>
<source>Device type:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="68"/>
<location filename="form_maininterface.cpp" line="69"/>
<source> SerialNum:</source>
<translation> </translation>
</message>
@ -1312,7 +1312,7 @@
<translation type="vanished"> </translation>
</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>
<translation></translation>
</message>
@ -1321,14 +1321,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="165"/>
<location filename="form_maininterface.cpp" line="166"/>
<source>tips</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="208"/>
<location filename="form_maininterface.cpp" line="218"/>
<location filename="form_maininterface.cpp" line="228"/>
<location filename="form_maininterface.cpp" line="209"/>
<location filename="form_maininterface.cpp" line="219"/>
<location filename="form_maininterface.cpp" line="229"/>
<source>destortion value: </source>
<translation> </translation>
</message>
@ -1341,68 +1341,68 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="70"/>
<location filename="form_maininterface.cpp" line="71"/>
<source> speed mode:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="71"/>
<location filename="form_maininterface.cpp" line="72"/>
<source> sleep time:</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="162"/>
<location filename="form_maininterface.cpp" line="163"/>
<source>,but correct information is abnormal</source>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="268"/>
<location filename="form_maininterface.cpp" line="269"/>
<source>vid:%1
</source>
<translation>vid:%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="269"/>
<location filename="form_maininterface.cpp" line="270"/>
<source>pid:%1
</source>
<translation>pid:%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="270"/>
<location filename="form_maininterface.cpp" line="271"/>
<source>sleep time:%1minute
</source>
<translation>%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="270"/>
<location filename="form_maininterface.cpp" line="271"/>
<source>sleep time:%1
</source>
<translation>%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="270"/>
<location filename="form_maininterface.cpp" line="629"/>
<location filename="form_maininterface.cpp" line="271"/>
<location filename="form_maininterface.cpp" line="641"/>
<source>Not sleeping</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="271"/>
<location filename="form_maininterface.cpp" line="272"/>
<source>speed mode:%1PPM
</source>
<translation>%1PPM
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="275"/>
<location filename="form_maininterface.cpp" line="276"/>
<source>device model:%1</source>
<translation>%1</translation>
</message>
@ -1417,21 +1417,21 @@
<translation type="vanished">: %1, : %2, 测试结果: 通过!</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="796"/>
<location filename="form_maininterface.cpp" line="867"/>
<location filename="form_maininterface.cpp" line="808"/>
<location filename="form_maininterface.cpp" line="879"/>
<source>device history scan count:</source>
<translation></translation>
</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="704"/>
<location filename="form_maininterface.cpp" line="708"/>
<location filename="form_maininterface.cpp" line="712"/>
<source>Prompt</source>
<translation></translation>
</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>
<translation></translation>
</message>
@ -1448,32 +1448,32 @@
</translation>
</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>
<translation>: %1, : %2, 测试结果: 不通过! : %3</translation>
</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>
<translation>: %1, : %2, 测试结果: 通过!</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="688"/>
<location filename="form_maininterface.cpp" line="700"/>
<source>No paper</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="692"/>
<location filename="form_maininterface.cpp" line="704"/>
<source>Device is sleeping</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="696"/>
<location filename="form_maininterface.cpp" line="708"/>
<source>Counting mode</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="700"/>
<location filename="form_maininterface.cpp" line="712"/>
<source>Other error</source>
<translation></translation>
</message>
@ -1482,54 +1482,74 @@
<translation type="vanished">%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="447"/>
<location filename="form_maininterface.cpp" line="459"/>
<source>ID</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="447"/>
<location filename="form_maininterface.cpp" line="459"/>
<source>Test items</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="447"/>
<location filename="form_maininterface.cpp" line="459"/>
<source>status</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="523"/>
<location filename="form_maininterface.cpp" line="535"/>
<source>not test</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="369"/>
<location filename="form_maininterface.cpp" line="523"/>
<location filename="form_maininterface.cpp" line="381"/>
<location filename="form_maininterface.cpp" line="535"/>
<source>not pass</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="299"/>
<location filename="form_maininterface.cpp" line="300"/>
<source>Actual cpu size:%1</source>
<translation>%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="305"/>
<location filename="form_maininterface.cpp" line="306"/>
<source>Warning</source>
<translation></translation>
</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>
<translation></translation>
</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>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="399"/>
<location filename="form_maininterface.cpp" line="523"/>
<location filename="form_maininterface.cpp" line="411"/>
<location filename="form_maininterface.cpp" line="535"/>
<source>pass</source>
<translation></translation>
</message>
@ -1555,31 +1575,31 @@
<translation type="vanished">Pid</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="790"/>
<location filename="form_maininterface.cpp" line="861"/>
<location filename="form_maininterface.cpp" line="802"/>
<location filename="form_maininterface.cpp" line="873"/>
<source>device roller count:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="203"/>
<location filename="form_maininterface.cpp" line="589"/>
<location filename="form_maininterface.cpp" line="204"/>
<location filename="form_maininterface.cpp" line="601"/>
<source>image pixel: </source>
<translation>标准圆: * : </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="68"/>
<location filename="form_maininterface.cpp" line="69"/>
<source>FirmwareNum:</source>
<translation></translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="272"/>
<location filename="form_maininterface.cpp" line="273"/>
<source>device serial number:%1
</source>
<translation>%1
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="273"/>
<location filename="form_maininterface.cpp" line="274"/>
<source>device firmware number:%1
</source>
<oldsource>device firmware number:%1</oldsource>
@ -1587,13 +1607,13 @@
</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="296"/>
<location filename="form_maininterface.cpp" line="297"/>
<source>Target cpu size:&gt;%1</source>
<oldsource>Target cpu size:%1</oldsource>
<translation>&gt;%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="297"/>
<location filename="form_maininterface.cpp" line="298"/>
<source>Target disk size:&gt;%1</source>
<oldsource>Target disk size:%1</oldsource>
<translation>&gt;%1</translation>
@ -1603,22 +1623,22 @@
<translation type="vanished">%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="300"/>
<location filename="form_maininterface.cpp" line="301"/>
<source>Actual disk size:%1</source>
<translation>%1</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="631"/>
<location filename="form_maininterface.cpp" line="643"/>
<source> minute</source>
<translation> </translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="73"/>
<location filename="form_maininterface.cpp" line="74"/>
<source> VID:</source>
<translation> VID</translation>
</message>
<message>
<location filename="form_maininterface.cpp" line="73"/>
<location filename="form_maininterface.cpp" line="74"/>
<source> PID:</source>
<translation> PID</translation>
</message>
@ -1864,14 +1884,14 @@
<context>
<name>QObject</name>
<message>
<location filename="hgscanner.cpp" line="149"/>
<location filename="hgscanner.cpp" line="163"/>
<source>success: </source>
<oldsource>success</oldsource>
<translation>: </translation>
</message>
<message>
<location filename="hgscanner.cpp" line="107"/>
<location filename="hgscanner.cpp" line="151"/>
<location filename="hgscanner.cpp" line="165"/>
<source>failed: </source>
<translation> </translation>
</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(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(testGetDevdistortion(float,float,float)), this, SLOT(on_testGetDevdistortion(float,float,float)), Qt::QueuedConnection);
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()
{
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 testGetDevCpuDisk(int cpu, int disk);
void testOpenCacheFile(QString name);
void testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
private slots:
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_testGetDevCpuDisk(int cpu, int disk);
void on_testOpenCacheFile(QString name);
void on_testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
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)
info = QObject::tr("success: ") + QString::fromStdWString((const wchar_t*)data);

View File

@ -1069,6 +1069,14 @@ public:
}
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)
{
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);
break;
}
else if (cnt == 30)
else if (cnt == 10)
break;
if (is_distortion_get_image_abnormal)
return -1;
break;
Sleep(1000);
cnt++;
@ -1180,50 +1188,40 @@ public:
return ret;
}
int test_confirm_auto_distortion(void *data)
int test_confirm_auto_distortion(void *data)
{
if (!data )
{
if (!data )
{
return SCANNER_ERR_DATA_DAMAGED;
}
wchar_t* p = (wchar_t*)data;
std::string str;
int ret = SCANNER_ERR_OK,
dpi = 0;
float distortion = 0;
unsigned int len = sizeof(int);
size_t strl = 0;
ret = wchar_to_char(str, p, &strl);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
str.resize(strl);
ret = wchar_to_char(str, p, &strl);
if (str.empty())
{
return SCANNER_ERR_DATA_DAMAGED;
}
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)
{
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);
}
else
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT,(void*)L"获取设备畸变值失败", false);
}
return ret;
return SCANNER_ERR_DATA_DAMAGED;
}
float distortion = 0;
unsigned int len = sizeof(int);
int ret = SCANNER_ERR_OK;
float value[3] = { 0 };
int dpi[3] = { 200, 300, 600 };
for (int i = 0; i < 3; i++)
{
ret = helper_->io_control(IO_CTRL_CODE_SET_DPI, &dpi[i], &len);
ret = helper_->io_control(IO_CTRL_CODE_GET_DISTORTION_DEVS_CHECK_VAL, &distortion, &len);
if (ret != SCANNER_ERR_OK)
break;
value[i] = distortion;
}
if (ret == SCANNER_ERR_OK)
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)(float*)value, true);
}
else
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT,(void*)L"获取设备畸变值失败", false);
}
return ret;
}
/* 分纸强度检测 */
int test_paper_separation_strength(void *data)
{