解决300设备固件升级报错IO错误的问题
This commit is contained in:
parent
6f363096bb
commit
c5b1afb88d
|
@ -1398,6 +1398,7 @@ int hg_scanner_300::set_firmware_upgrade(std::string str)
|
|||
ret = io_->write_bulk(&pre, &len); //先告诉下面总字节数
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "PRE_UPGRADE: %s\n", hg_scanner_err_name(ret));
|
||||
return ret;
|
||||
}
|
||||
USBCB update = { setting3288dsp::START_UPGRADE,0,total };
|
||||
|
@ -1422,6 +1423,7 @@ int hg_scanner_300::set_firmware_upgrade(std::string str)
|
|||
ret = io_->read_bulk(&update, &len);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "START_UPGRADE: %s\n", hg_scanner_err_name(ret));
|
||||
return ret;
|
||||
}
|
||||
total -= block;
|
||||
|
@ -1434,19 +1436,28 @@ int hg_scanner_300::set_firmware_upgrade(std::string str)
|
|||
USBCB updatefinished = { setting3288dsp::UPDATE_FINISHED,0,0 };
|
||||
len = sizeof(updatefinished);
|
||||
ret = io_->write_bulk(&updatefinished, &len);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "UPDATE_FINISHED: %s\n", hg_scanner_err_name(ret));
|
||||
}
|
||||
|
||||
StopWatch sw;
|
||||
|
||||
USBCB result = { setting3288dsp::GET_UPDATE_RESULT,0,0 };
|
||||
len = sizeof(result);
|
||||
this_thread::sleep_for(std::chrono::milliseconds(2000));
|
||||
while (sw.elapsed_s() < 60)
|
||||
{
|
||||
this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||
io_->set_timeout(3000);
|
||||
ret = io_->write_bulk(&result, &len);
|
||||
|
||||
USBCB result = { setting3288dsp::GET_UPDATE_RESULT,0,0 };
|
||||
len = sizeof(result);
|
||||
ret = io_->write_bulk(&result, &len);
|
||||
if (ret == SCANNER_ERR_OK)
|
||||
ret = io_->read_bulk(&result, &len);
|
||||
//this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||
else
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "Write GET_UPDATE_RESULT failed: %d\n", ret);
|
||||
}
|
||||
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
|
@ -1458,6 +1469,10 @@ int hg_scanner_300::set_firmware_upgrade(std::string str)
|
|||
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result:%d\n", result.u32_Data);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "GET_UPDATE_RESULT---u32_Data:%d\n", result.u32_Data);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue