调整升级流程

This commit is contained in:
13038267101 2023-11-10 17:09:10 +08:00
parent c1d2196656
commit 54bc87c119
1 changed files with 23 additions and 17 deletions

View File

@ -242,17 +242,17 @@ void hg_scanner_306::thread_handle_usb_read(void)
}
if (ret == SCANNER_ERR_OK && usb.u32_Count > 0)
{
if (firmware_sup_device_7010)
if (!savestatus_.empty())
{
ret = get_img_data_7010();
sw.reset();
if (ret != SCANNER_ERR_OK)
{
status_ = ret;
break;
}
continue;
break;
}
ret = get_img_data_7010();
sw.reset();
if (ret != SCANNER_ERR_OK)
{
status_ = ret;
break;
}
}
this_thread::sleep_for(chrono::milliseconds(10));
@ -1259,7 +1259,9 @@ int hg_scanner_306::set_firmware_upgrade(std::string str)
}
USBCB update = { setting3288dsp::START_UPGRADE,0,total };
len = sizeof(update);
io_->write_bulk(&update, &len);
int indx = 0;
while (total > 0)
{
memset(sendbuf, 0, block);
@ -1268,22 +1270,26 @@ int hg_scanner_306::set_firmware_upgrade(std::string str)
{
block = total;
}
io_->write_bulk(&update, &len);//数据分段写,每次都要先告诉下面?
filename.read(sendbuf, block);
filename.read(sendbuf + indx, block);
//size_t pos = filename.tellg();
io_->write_bulk(sendbuf + indx,&block);
io_->write_bulk(sendbuf,&block);
ret = io_->read_bulk(&update, &len);
//ret = io_->read_bulk(&update, &len);
if (ret != SCANNER_ERR_OK)
{
return ret;
}
total -= block;
indx += block;
this_thread::sleep_for(std::chrono::milliseconds(10));
}
ret = io_->read_bulk(&update, &len);
if (update.u32_Count == 10)
{
return SCANNER_ERR_DEVICE_UPGRADE_FAIL;
}
if (sendbuf)
{
delete[]sendbuf;