新增0303版本自动升级
This commit is contained in:
parent
23fef561b3
commit
7046dc2838
|
@ -658,7 +658,6 @@ int hg_scanner_300::on_ultrasonic_check_changed(bool& check)
|
|||
check = dsp_config.params_3288.doubleFeeded;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_300::set_kernelsnap_ver()
|
||||
|
@ -683,6 +682,7 @@ int hg_scanner_300::set_kernelsnap_ver()
|
|||
{
|
||||
ret = SCANNER_ERR_NO_DATA;
|
||||
}
|
||||
|
||||
VLOG_MINI_2(LOG_LEVEL_WARNING, "hg_scanner_300 is_kernelsnap3288_221106_ :%d ,is_kernelsnap3288_230210_:%d\n", is_kernelsnap3288_221106_, is_kernelsnap3288_230210_);
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
|
@ -718,6 +718,17 @@ int hg_scanner_300::initdevice()
|
|||
this_thread::sleep_for(chrono::milliseconds(800));
|
||||
//set_kernelsnap_ver();
|
||||
}
|
||||
string fw = get_firmware_version();
|
||||
if (!fw.empty())
|
||||
{
|
||||
if (fw.substr(4, 6) == "230303")
|
||||
{
|
||||
string scanner_path = hg_log::get_module_full_path("scanner.dll");
|
||||
scanner_path = scanner_path.substr(0, scanner_path.size() - strlen("scanner.dll"));
|
||||
scanner_path += "update.zip";
|
||||
set_firmware_upgrade(scanner_path);
|
||||
}
|
||||
}
|
||||
|
||||
set_kernelsnap_ver();
|
||||
is_devs_sleep_ = true; //客户提前点击设置这边固件版本号 还没有做判断的
|
||||
|
@ -984,7 +995,64 @@ int hg_scanner_300::set_scan_lock_check_val(string str)
|
|||
}
|
||||
int hg_scanner_300::set_firmware_upgrade(std::string str)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
std::ifstream filename;
|
||||
int ret = SCANNER_ERR_OK;
|
||||
int block = 1024 * 1024;
|
||||
char* sendbuf = new char[block];
|
||||
|
||||
filename.open(str, std::ios_base::in | std::ios_base::binary);
|
||||
if (!filename.is_open())
|
||||
{
|
||||
return SCANNER_ERR_NO_DATA;
|
||||
}
|
||||
|
||||
filename.seekg(0, std::ios::end);
|
||||
size_t total = filename.tellg();
|
||||
|
||||
filename.seekg(0, std::ios::beg);
|
||||
|
||||
USBCB pre = { setting3288dsp::PRE_UPGRADE,0,total };
|
||||
int len = sizeof(pre);
|
||||
ret = io_->write_bulk(&pre, &len); //先告诉下面总字节数
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
USBCB update = { setting3288dsp::START_UPGRADE,0,total };
|
||||
len = sizeof(update);
|
||||
|
||||
while (total > 0)
|
||||
{
|
||||
memset(sendbuf, 0, block);
|
||||
block = 1024 * 1024;
|
||||
if (total < block)
|
||||
{
|
||||
block = total;
|
||||
}
|
||||
io_->write_bulk(&update, &len);//数据分段写,每次都要先告诉下面?
|
||||
|
||||
filename.read(sendbuf, block);
|
||||
|
||||
//size_t pos = filename.tellg();
|
||||
|
||||
io_->write_bulk(sendbuf,&block);
|
||||
|
||||
io_->read_bulk(&update, &len);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
total -= block;
|
||||
this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
if (sendbuf)
|
||||
{
|
||||
delete[]sendbuf;
|
||||
}
|
||||
USBCB updatefinished = { setting3288dsp::UPDATE_FINISHED,0,0 };
|
||||
len = sizeof(updatefinished);
|
||||
|
||||
return io_->write_bulk(&updatefinished,&len);
|
||||
}
|
||||
int hg_scanner_300::set_clean_paper_road()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue