新增获取 设置 设备型号

This commit is contained in:
13038267101 2023-03-20 12:09:33 +08:00
parent 42003bd323
commit 35e88f264c
4 changed files with 60 additions and 1 deletions

View File

@ -3664,7 +3664,7 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
}
else if (code == IO_CTRL_CODE_SET_SERIAL)
{
string str = (char*)data;
string str = (char*)data;
return set_serial_num((char*)data);
}
else if (code == IO_CTRL_CODE_GET_VIDPID)
@ -3674,6 +3674,26 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
(*(int*)data) = num;
return ret;
}
else if (code == IO_CTRL_CODE_SET_DEVS_MODEL)
{
return set_device_model((char*)data);
}
else if (code == IO_CTRL_CODE_GET_DEVS_MODEL)
{
int num = 0;
string str = get_device_model();
if (str.empty())
{
return SCANNER_ERR_NO_DATA;
}
if (*len < str.size())
{
*len = str.size();
return SCANNER_ERR_INSUFFICIENT_MEMORY;
}
strcpy((char*)data, str.c_str());
return SCANNER_ERR_OK;
}
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
std::string hg_scanner::get_firmware_version(void)
@ -3794,6 +3814,10 @@ int hg_scanner::set_auto_flat(int data)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::set_device_model(string sts)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::set_serial_num(string str)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;

View File

@ -477,6 +477,8 @@ public:
virtual std::string get_serial_num(void);
virtual std::string get_ip(void);
virtual std::string get_device_model(void);
virtual int set_device_model(string str);
virtual int set_serial_num(string str) = 0; //设置序列号
virtual int set_vid_pid(int data) = 0; //设置vidpid
virtual int get_vid_pid(int& data) = 0; //获取vidpid

View File

@ -1490,6 +1490,38 @@ std::string hg_scanner_239::get_device_model(void)
return str;
}
int hg_scanner_239::set_device_model(string str)
{
if (str.empty())
{
return SCANNER_ERR_NO_DATA;
}
string device_model = "/home/linaro/microtek_sn";
int ret = SCANNER_ERR_OK;
int buffersize = 0;
int len = device_model.size();
int lenstr = str.size();
io_->set_timeout(3000);
ret = write_register(setting3399::SR_SET_JSON_PATH, len);
if (ret != SCANNER_ERR_OK)
return ret;
ret = io_->write_bulk(&device_model[0], &len);
if (ret != SCANNER_ERR_OK)
return ret;
ret = write_register(setting3399::SR_SET_JSON, lenstr);
if (ret != SCANNER_ERR_OK)
return ret;
ret = io_->write_bulk(&str[0], &lenstr);
if (ret != SCANNER_ERR_OK)
return ret;
;
return SCANNER_ERR_OK;
}
int hg_scanner_239::set_serial_num(string str)
{
int len = str.size(),

View File

@ -88,6 +88,7 @@ public:
virtual std::string get_ip(void)override;
virtual std::string get_device_model(void);
virtual int set_device_model(string str);
virtual int set_serial_num(string str) override; //设置序列号
virtual int set_vid_pid(int data) override; //设置vidpid
virtual int get_vid_pid(int& data)override; //获取vidpid