新增获取 设置 设备型号
This commit is contained in:
parent
42003bd323
commit
35e88f264c
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue