解决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); //先告诉下面总字节数
|
ret = io_->write_bulk(&pre, &len); //先告诉下面总字节数
|
||||||
if (ret != SCANNER_ERR_OK)
|
if (ret != SCANNER_ERR_OK)
|
||||||
{
|
{
|
||||||
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "PRE_UPGRADE: %s\n", hg_scanner_err_name(ret));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
USBCB update = { setting3288dsp::START_UPGRADE,0,total };
|
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);
|
ret = io_->read_bulk(&update, &len);
|
||||||
if (ret != SCANNER_ERR_OK)
|
if (ret != SCANNER_ERR_OK)
|
||||||
{
|
{
|
||||||
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "START_UPGRADE: %s\n", hg_scanner_err_name(ret));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
total -= block;
|
total -= block;
|
||||||
|
@ -1434,19 +1436,28 @@ int hg_scanner_300::set_firmware_upgrade(std::string str)
|
||||||
USBCB updatefinished = { setting3288dsp::UPDATE_FINISHED,0,0 };
|
USBCB updatefinished = { setting3288dsp::UPDATE_FINISHED,0,0 };
|
||||||
len = sizeof(updatefinished);
|
len = sizeof(updatefinished);
|
||||||
ret = io_->write_bulk(&updatefinished, &len);
|
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;
|
StopWatch sw;
|
||||||
|
|
||||||
USBCB result = { setting3288dsp::GET_UPDATE_RESULT,0,0 };
|
this_thread::sleep_for(std::chrono::milliseconds(2000));
|
||||||
len = sizeof(result);
|
|
||||||
while (sw.elapsed_s() < 60)
|
while (sw.elapsed_s() < 60)
|
||||||
{
|
{
|
||||||
this_thread::sleep_for(std::chrono::milliseconds(1000));
|
this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
io_->set_timeout(3000);
|
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);
|
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)
|
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);
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "updata result:%d\n", result.u32_Data);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "GET_UPDATE_RESULT---u32_Data:%d\n", result.u32_Data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue