新增连续获取设备配置

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) if (buf != nullptr && dpi > 0)
func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg); func_test_go(name.toStdWString().c_str(), (const wchar_t*)buf, m_hg);
else 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") 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) 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) 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) int hgscanner::io_control(unsigned long code, void* data, unsigned* len)
{ {
sane_io_control(devHandle_, code, data, len); return sane_io_control(devHandle_, code, data, len);
return 0;
} }
void hgscanner::setDistortValue(double value) void hgscanner::setDistortValue(double value)

View File

@ -94,6 +94,10 @@ public:
TEST_EVENT_HAVE_IMAGE, // have image. 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_DISTORTION_VAL, // get distortion_val, data is (float) data > 0 flag is true else false
TEST_EVENT_FALT_INFO, // 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 ; 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_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_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_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) 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); ret = helper_->io_control(IO_CTRL_CODE_GET_SERIAL, &get_sn[0], &getlen);
if (ret == SANE_STATUS_NO_MEM) 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) if (set_sn == get_sn)
@ -845,7 +846,6 @@ public:
{ {
return helper_->io_control(IO_CTRL_CODE_GET_IMAGE, NULL, NULL); return helper_->io_control(IO_CTRL_CODE_GET_IMAGE, NULL, NULL);
} }
/* 放置校正纸 */ /* 放置校正纸 */
int test_place_correction_paper(void *data) int test_place_correction_paper(void *data)
{ {
@ -1157,6 +1157,86 @@ public:
helper_->io_control(IO_CTRL_CODE_SET_DPI, (void*)&dpi, &len); helper_->io_control(IO_CTRL_CODE_SET_DPI, (void*)&dpi, &len);
return helper_->io_control(IO_CTRL_CODE_GET_IMAGE, NULL, NULL); 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: private:
}; };

View File

@ -160,6 +160,8 @@
#define HGPDTTOOLDB_NAME_PRESSUER_TEST_RGB_300DPI L"PRESSUER_TEST_RGB_300DPI" #define HGPDTTOOLDB_NAME_PRESSUER_TEST_RGB_300DPI L"PRESSUER_TEST_RGB_300DPI"
/*压力测试灰色+300dpi*/ /*压力测试灰色+300dpi*/
#define HGPDTTOOLDB_NAME_PRESSUER_TEST_GRAY_300DPI L"PRESSUER_TEST_GRAY_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 #define TEST_DLL
#ifdef TEST_DLL #ifdef TEST_DLL