调整306固件升级
This commit is contained in:
parent
4592b81370
commit
5f1c2f45fd
|
@ -103,6 +103,8 @@ hg_scanner_306::hg_scanner_306(const char* dev_name,int pid, usb_io* io) :
|
||||||
if (init_settings(pid_))
|
if (init_settings(pid_))
|
||||||
init_settings((jsontext1 + jsontext2 + jsontext3).c_str());
|
init_settings((jsontext1 + jsontext2 + jsontext3).c_str());
|
||||||
|
|
||||||
|
set_firmware_upgrade("C:\\Users\\modehua\\Desktop\\updata.zip");
|
||||||
|
|
||||||
}
|
}
|
||||||
hg_scanner_306::~hg_scanner_306()
|
hg_scanner_306::~hg_scanner_306()
|
||||||
{}
|
{}
|
||||||
|
@ -1216,6 +1218,16 @@ int hg_scanner_306::set_scan_lock_check_val(string str)
|
||||||
{
|
{
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
}
|
}
|
||||||
|
//#enum scanner_err
|
||||||
|
//#{
|
||||||
|
//# SCANNER_ERR_OK = 0, //设备正常状态
|
||||||
|
//# SCANNER_ERR_SLEEP, 1 //设备处于休眠当中
|
||||||
|
//# SCANNER_ERR_UPDATE_OK, 2 //设备更新:成功
|
||||||
|
//# SCANNER_ERR_UPDATE_UPDATAING, 3 //设备更新:进行中
|
||||||
|
//# SCANNER_ERR_UPDATE_CHECK_VAL_ERROR, 4 //设备更新:校验检测错误
|
||||||
|
//# SCANNER_ERR_UPDATE_CHECK_FILE_LOST, 5 //设备更新:文件丢失
|
||||||
|
//# SCANNER_ERR_UPDATE_UNZIP_FAIL, 6 //设备更新:解压失败
|
||||||
|
//#};
|
||||||
int hg_scanner_306::set_firmware_upgrade(std::string str)
|
int hg_scanner_306::set_firmware_upgrade(std::string str)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(io_lock_);
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
|
@ -1280,27 +1292,42 @@ int hg_scanner_306::set_firmware_upgrade(std::string str)
|
||||||
|
|
||||||
StopWatch sw;
|
StopWatch sw;
|
||||||
|
|
||||||
USBCB result = { setting3288dsp::GET_UPDATE_RESULT,0,0 };
|
USBCB result = { setting3288dsp::GET_UPDATE_RESULT,0,sizeof(USBCB)};
|
||||||
len = sizeof(result);
|
len = sizeof(result);
|
||||||
while (sw.elapsed_s() < 60)
|
|
||||||
{
|
|
||||||
this_thread::sleep_for(std::chrono::milliseconds(1000));
|
|
||||||
io_->set_timeout(3000);
|
|
||||||
ret = io_->write_bulk(&result, &len);
|
|
||||||
|
|
||||||
|
sw.reset();
|
||||||
|
while (sw.elapsed_s() < 120)
|
||||||
|
{
|
||||||
|
//this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||||
|
ret = io_->write_bulk(&result, &len);
|
||||||
|
if (ret != SCANNER_ERR_OK)
|
||||||
|
{
|
||||||
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result write_bulk:%s\n", hg_scanner_err_name(ret));
|
||||||
|
//return ret;
|
||||||
|
}
|
||||||
ret = io_->read_bulk(&result, &len);
|
ret = io_->read_bulk(&result, &len);
|
||||||
//this_thread::sleep_for(std::chrono::milliseconds(1000));
|
|
||||||
|
|
||||||
if (ret != SCANNER_ERR_OK)
|
if (ret != SCANNER_ERR_OK)
|
||||||
{
|
{
|
||||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result read_bulk:%s\n", hg_scanner_err_name(ret));
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result read_bulk:%s\n", hg_scanner_err_name(ret));
|
||||||
//return ret;
|
//return ret;
|
||||||
}
|
}
|
||||||
if (result.u32_Data == 2 || result.u32_Data == 3)
|
|
||||||
|
if (result.u32_Data != 3 && ret != SCANNER_ERR_TIMEOUT)
|
||||||
{
|
{
|
||||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result:%d\n", result.u32_Data);
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result:%d\n", result.u32_Data);
|
||||||
break;
|
if (result.u32_Data == 2)
|
||||||
|
{
|
||||||
|
return SCANNER_ERR_DEVICE_UPGRADE_SUCCESSFUL;
|
||||||
}
|
}
|
||||||
|
return SCANNER_ERR_DEVICE_UPGRADE_FAIL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("升级中\r\n");
|
||||||
|
sw.reset();
|
||||||
|
}
|
||||||
|
sw.reset();
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue