新增连续获取设备配置

This commit is contained in:
13038267101 2023-02-15 19:40:08 +08:00
parent b87d8ed0a9
commit cb34238531
5 changed files with 107 additions and 5 deletions

View File

@ -672,7 +672,7 @@ void Form_mainInterface::on_pbtn_start_clicked()
if (buf != nullptr && dpi > 0)
func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg);
else
func_test_go(name.toStdWString().c_str(), L"null", m_hg);
func_test_go(HGPDTTOOLDB_NAME_GET_DEVICE_CONFIG, L"null", m_hg);
}
if (name == "CLEAR_ROLLER_COUNT")

View File

@ -40,6 +40,23 @@ parameter* hgscanner::get_user_input(data_from from, value_type type, const wcha
void hgscanner::test_callback(const wchar_t* name, test_event ev, void* data, size_t flag)
{
if (ev == TEST_EVEB_GET_DEVICE_CONFIG_VIDPID)
{
int vidpid = *(int*)data;
}
else if (ev == TEST_EVEB_GET_DEVICE_CONFIG_SP)
{
int sp = *(int*)data;
}
else if (ev == TEST_EVEB_GET_DEVICE_CONFIG_SLEEPTIME)
{
int st = *(int*)data;
}
else if (ev == TEST_EVEB_GET_DEVICE_CONFIG_SN)
{
QString info = QString::fromStdWString((const wchar_t*)data);
}
if (ev == TEST_EVENT_TIPS)
{
@ -164,8 +181,7 @@ int hgscanner::unregister_sane_callback(sane_callback cb)
int hgscanner::io_control(unsigned long code, void* data, unsigned* len)
{
sane_io_control(devHandle_, code, data, len);
return 0;
return sane_io_control(devHandle_, code, data, len);
}
void hgscanner::setDistortValue(double value)

View File

@ -94,6 +94,10 @@ public:
TEST_EVENT_HAVE_IMAGE, // have image.
TEST_EVENT_DISTORTION_VAL, // get distortion_val, data is (float) data > 0 flag is true else false
TEST_EVENT_FALT_INFO, //
TEST_EVEB_GET_DEVICE_CONFIG_VIDPID, //get vid-pid; data is (int*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_SP, //get sp; data is (int*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_SLEEPTIME, //get sleeptime;data is (int*) ;flag is (bool)result,true - get pass
TEST_EVEB_GET_DEVICE_CONFIG_SN, //get sn ;data is (wchar*) ;flag is (bool)result,true - get pass
};
virtual void test_callback(const wchar_t* name/*test name*/, test_event ev, void* data, size_t flag)=0 ;

View File

@ -569,6 +569,7 @@ public:
test_map_[HGPDTTOOLDB_NAME_PRESSUER_TEST_GRAY_200DPI] = &test::test_pressuer_test_gray_200dpi;
test_map_[HGPDTTOOLDB_NAME_PRESSUER_TEST_RGB_300DPI] = &test::test_pressuer_test_rgb_300dpi;
test_map_[HGPDTTOOLDB_NAME_PRESSUER_TEST_GRAY_300DPI] = &test::test_pressuer_test_gray_300dpi;
test_map_[HGPDTTOOLDB_NAME_GET_DEVICE_CONFIG] = &test::test_get_device_config;
}
int set_test(const wchar_t* name,const wchar_t* oper)
{
@ -675,7 +676,7 @@ public:
ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &getlen);
if (ret == SANE_STATUS_NO_MEM)
{
ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &setlen);
ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &getlen);
}
if (set_sn == get_sn)
@ -845,7 +846,6 @@ public:
{
return helper_->io_control(IO_CTRL_CODE_GET_IMAGE, NULL, NULL);
}
/* 放置校正纸 */
int test_place_correction_paper(void *data)
{
@ -1157,6 +1157,86 @@ public:
helper_->io_control(IO_CTRL_CODE_SET_DPI, (void*)&dpi, &len);
return helper_->io_control(IO_CTRL_CODE_GET_IMAGE, NULL, NULL);
}
/*获取设备配置*/
int test_get_device_config(void* data)
{
unsigned int len = sizeof(int);
unsigned int getlen = 0;
int get_vidpid = 0,
ret = SCANNER_ERR_OK;
if (ret == SCANNER_ERR_OK)
{
ret = helper_->io_control(IO_CTRL_CODE_GET_VIDPID, &get_vidpid, &len);
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_VIDPID, &get_vidpid, true);
}
std::string set_sn, get_sn;
std::wstring wstr;
size_t l = 0;
ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &getlen);
if (ret == SANE_STATUS_NO_MEM)
{
ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &getlen);
if (ret != SCANNER_ERR_OK)
{
return ret;
}
ret = str_to_wchar(get_sn.c_str(), (wchar_t*)wstr.c_str(), &l);
if (ret == ERROR_INSUFFICIENT_BUFFER)
{
wstr.resize(l);
ret = str_to_wchar(get_sn.c_str(), (wchar_t*)wstr.c_str(), &l);
}
if (wstr.empty())
{
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_SN, (void*)L"获取序列号失败", false);
return ret;
}
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_SN, (void *)wstr.c_str(), true);
}
int gettime = 0;
unsigned int timelen = sizeof(int*);
ret = helper_->io_control(IO_CTRL_CODE_GET_POWER_LEVEL, &gettime, &timelen);
if (gettime == INT_MAX || gettime == -1)
gettime = 0;
else
gettime /= 60;
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_SLEEPTIME, (void*)&gettime, true);
const wchar_t G139[6] = { 70,80,90,110 };
const wchar_t G239[6] = { 100,110,120,130 };
const wchar_t G300[6] = { 40,50,60,70 };
const wchar_t G400[6] = { 40,50,60,70,80 };
SANE_Int num = 0;
unsigned int lensp = sizeof(SANE_Int);
ret = helper_->io_control(IO_CTRL_CODE_GET_SPEED_MODE, &num, &lensp);
int save_num = 0;
if (fw_ == 3 || fw_ == 4 && num > 0 && num < 6)
{
for (size_t i = 0; i < sizeof(G400) / sizeof(G400[0]); i++)//3288设置速度模式为1 2 3 4 5
{
if ((num - 1) == i)
{
save_num = G400[i];
break;
}
}
}
else
save_num = num;
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVEB_GET_DEVICE_CONFIG_SP, (void*)&save_num, true);
helper_->test_callback(set_test_name_.c_str(), ui_helper::TEST_EVENT_RESULT, (void*)(L"配置获取完成"), true);
return ret;
}
private:
};

View File

@ -160,6 +160,8 @@
#define HGPDTTOOLDB_NAME_PRESSUER_TEST_RGB_300DPI L"PRESSUER_TEST_RGB_300DPI"
/*压力测试灰色+300dpi*/
#define HGPDTTOOLDB_NAME_PRESSUER_TEST_GRAY_300DPI L"PRESSUER_TEST_GRAY_300DPI"
/*获取设备配置*/
#define HGPDTTOOLDB_NAME_GET_DEVICE_CONFIG L"GET_DEVICE_CONFIG"
#define TEST_DLL
#ifdef TEST_DLL