3399、3288设备默认板级时间校验,微调备份还原
This commit is contained in:
parent
ee35cf042f
commit
382ef8be76
|
@ -1097,6 +1097,9 @@ namespace setting3399
|
|||
SR_SET_H_600_RATIO,
|
||||
SR_GET_V_600_RATIO,
|
||||
SR_SET_V_600_RATIO,
|
||||
SR_GET_ARM_DATETIME=101,
|
||||
SR_GET_ARM_DATETIME_LENGHT=102,
|
||||
SR_SET_ARM_DATETIME=103,
|
||||
SR_UPDATA_START = 0x100,
|
||||
SR_UPDATA_STAUTUS = 0x101,
|
||||
SR_UPDATA_MD5_RELUST = 0x102,
|
||||
|
|
|
@ -391,10 +391,10 @@ protected:
|
|||
bool firmware_sup_morr_; //固件支持 摩尔纹 139 239-3C0518
|
||||
bool firmware_sup_color_fill_; //固件支持 色彩填充 139 239 439 -3C
|
||||
bool firmware_sup_history_cnt; //固件支持 清除历史张数 3288 G300 220303
|
||||
bool firmware_sup_double_check; //固件支持 双张校验 139 239-231017, 300-231021
|
||||
bool firmware_sup_double_check; //固件支持 双张校验 231021
|
||||
bool firmware_sup_dirty_check; //固件支持 脏污检测 231021
|
||||
bool firmware_sup_backup_restore; //固件支持 备份还原 231021
|
||||
bool firmware_sup_boardTime; //固件支持 板级时间校验 231022
|
||||
bool firmware_sup_boardTime; //固件支持 板级时间校验 231021
|
||||
bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21
|
||||
int mat_width;
|
||||
int mat_height;
|
||||
|
|
|
@ -184,6 +184,8 @@ hg_scanner_239::hg_scanner_239(const char* dev_name, int pid,usb_io* io) : hg_sc
|
|||
wait_devsislock_.notify();
|
||||
#endif
|
||||
//wait_read_int.notify();
|
||||
|
||||
update_boarddatetime();
|
||||
}
|
||||
hg_scanner_239::~hg_scanner_239()
|
||||
{
|
||||
|
@ -542,10 +544,10 @@ void hg_scanner_239::init_version(void)
|
|||
string devType;
|
||||
string year_date = fv.substr(4, 6);
|
||||
|
||||
firmware_sup_double_check = year_date.compare("231017") >= 0 ? true : false;
|
||||
firmware_sup_double_check = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_dirty_check = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_backup_restore = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_boardTime = year_date.compare("231022") >= 0 ? true : false;
|
||||
firmware_sup_boardTime = year_date.compare("231021") >= 0 ? true : false;
|
||||
|
||||
if (dev == "G1" || dev == "G2")
|
||||
{
|
||||
|
@ -1243,6 +1245,34 @@ int hg_scanner_239::read_control_device_files(std::string file_path, std::string
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_239::update_boarddatetime()
|
||||
{
|
||||
int len = 0;
|
||||
int ret = read_register(setting3399::SR_GET_ARM_DATETIME_LENGHT, &len);
|
||||
std::string datenow;
|
||||
datenow.resize(len);
|
||||
|
||||
auto t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
|
||||
std::cout << std::put_time(std::localtime(&t), "%F %T") << std::endl;
|
||||
std::stringstream ss;
|
||||
ss << std::put_time(std::localtime(&t), "%F %T");
|
||||
std::string str = ss.str();
|
||||
|
||||
ret = write_register(setting3399::SR_SET_ARM_DATETIME, len);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
LOG_INFO(LOG_LEVEL_DEBUG_INFO, "write_control_device_files write_register [SR_SET_ARM_DATETIME] is fail \n");
|
||||
return ret;
|
||||
}
|
||||
ret = io_->write_bulk(&str[0], &len);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
LOG_INFO(LOG_LEVEL_DEBUG_INFO, "write_control_device_files write_bulk str is fail \n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner_239::write_control_device_files(std::string file_path, std::string file_str)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#pragma once
|
||||
#pragma once
|
||||
|
||||
// hg_scanner is the base class of kinds of scanners
|
||||
//
|
||||
|
@ -51,6 +51,8 @@ class hg_scanner_239 : public hg_scanner
|
|||
|
||||
int write_control_device_files(std::string file_path,std::string file_str);
|
||||
int read_control_device_files(std::string file_path, std::string &file_str);
|
||||
|
||||
int update_boarddatetime();
|
||||
protected:
|
||||
virtual void on_device_reconnected(void) override;
|
||||
virtual int on_scanner_closing(bool force) override;
|
||||
|
|
|
@ -106,10 +106,10 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) :
|
|||
string year_date = fv.substr(4, 6);
|
||||
|
||||
firmware_sup_morr_ = year_date.compare("230724") >= 0 ? true : false;
|
||||
firmware_sup_double_check = year_date.compare("231017") >= 0 ? true : false;
|
||||
firmware_sup_double_check = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_dirty_check = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_backup_restore = year_date.compare("231021") >= 0 ? true : false;
|
||||
firmware_sup_boardTime = year_date.compare("231022") >= 0 ? true : false;
|
||||
firmware_sup_boardTime = year_date.compare("231021") >= 0 ? true : false;
|
||||
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
|
@ -121,7 +121,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) :
|
|||
else
|
||||
init_settings((jsontext4 + jsontext5 + jsontext6).c_str());
|
||||
}
|
||||
//update_boarddatetime();//暂未考虑版本兼容情况
|
||||
update_boarddatetime();//暂未考虑版本兼容情况
|
||||
//wait_read_int.notify();
|
||||
}
|
||||
hg_scanner_300::~hg_scanner_300()
|
||||
|
@ -876,6 +876,7 @@ int hg_scanner_300::update_boarddatetime()
|
|||
|
||||
USBCB usbcb = { setting3288dsp::GET_DATETIME,0,0 };
|
||||
int len = sizeof(usbcb);
|
||||
int size = 0;
|
||||
int ret = io_->write_bulk(&usbcb, &len);
|
||||
if (ret == SCANNER_ERR_OK)
|
||||
{
|
||||
|
@ -888,7 +889,8 @@ int hg_scanner_300::update_boarddatetime()
|
|||
}
|
||||
std::string datenow;
|
||||
datenow.resize(usbcb.u32_Count);
|
||||
io_->read_bulk(&datenow[0], &len);
|
||||
size = datenow.size();
|
||||
io_->read_bulk(&datenow[0], &size);
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "Boardtime : %s \n", datenow.c_str());
|
||||
}
|
||||
else
|
||||
|
@ -897,22 +899,19 @@ int hg_scanner_300::update_boarddatetime()
|
|||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
auto now = std::chrono::system_clock::now();
|
||||
auto timet = std::chrono::system_clock::to_time_t(now);
|
||||
auto localTime = *std::gmtime(&timet);
|
||||
|
||||
//获取当前系统时间
|
||||
auto t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
|
||||
std::cout << std::put_time(std::localtime(&t), "%F %T") << std::endl;
|
||||
std::stringstream ss;
|
||||
std::string str;
|
||||
ss << std::put_time(&localTime, "%Y-%m-%dT%H:%M:%S");
|
||||
ss >> str;
|
||||
replace(str.begin(),str.end(),'T', ' ');
|
||||
ss << std::put_time(std::localtime(&t), "%F %T");
|
||||
std::string str = ss.str();
|
||||
usbcb.u32_CMD = setting3288dsp::SET_DATETIME;
|
||||
usbcb.u32_Count = str.length();
|
||||
|
||||
ret = io_->write_bulk(&usbcb, &len);
|
||||
if (ret == SCANNER_ERR_OK)
|
||||
ret = io_->read_bulk(&usbcb, &len);
|
||||
else
|
||||
size = str.size();
|
||||
ret = io_->write_bulk(&str[0], &size);
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME failed \n", 0);
|
||||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
|
@ -931,7 +930,8 @@ int hg_scanner_300::update_boarddatetime()
|
|||
}
|
||||
std::string datenow;
|
||||
datenow.resize(usbcb2.u32_Count);
|
||||
io_->read_bulk(&datenow[0], &len);
|
||||
int size = datenow.size();
|
||||
io_->read_bulk(&datenow[0], &size);
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "After update board time : %s \n", datenow.c_str());
|
||||
}
|
||||
else
|
||||
|
@ -1661,7 +1661,9 @@ int hg_scanner_300::set_restore()
|
|||
StopWatch sw;
|
||||
while (sw.elapsed_ms()< 5000.0)
|
||||
{
|
||||
len = sizeof(USBCB);
|
||||
ret = io_->write_bulk(&usbcb, &len);
|
||||
len = sizeof(USBCB);
|
||||
ret = io_->read_bulk(&usbcb, &len);
|
||||
if (usbcb.u32_Data == 2)
|
||||
break;
|
||||
|
@ -1670,7 +1672,7 @@ int hg_scanner_300::set_restore()
|
|||
|
||||
std::string log_info = usbcb.u32_Data == 2 ? "RECOVERY success " : " RECOVERY failed " + std::to_string(usbcb.u32_Data);
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, log_info.c_str(), 0);
|
||||
return usbcb.u32_Data == 2? SCANNER_ERR_OK: SCANNER_ERR_INVALID_PARAMETER;
|
||||
return usbcb.u32_Data == 2? SCANNER_ERR_OK: SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
int hg_scanner_300::set_backup()
|
||||
|
|
Loading…
Reference in New Issue