备份还原和校验时间功能需要判断固件版本
This commit is contained in:
parent
a3334457bf
commit
0db35e4b3b
|
@ -393,6 +393,8 @@ protected:
|
|||
bool firmware_sup_history_cnt; //固件支持 清除历史张数 3288 G300 220303
|
||||
bool firmware_sup_double_check; //固件支持 双张校验 139 239-231017, 300-231021
|
||||
bool firmware_sup_dirty_check; //固件支持 脏污检测 231021
|
||||
bool firmware_sup_backup_restore; //固件支持 备份还原 231021
|
||||
bool firmware_sup_boardTime; //固件支持 板级时间校验 231022
|
||||
bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21
|
||||
int mat_width;
|
||||
int mat_height;
|
||||
|
|
|
@ -430,6 +430,9 @@ int hg_scanner_239::get_devs_disk(string& disk)
|
|||
}
|
||||
int hg_scanner_239::set_restore()
|
||||
{
|
||||
if (!firmware_sup_backup_restore)
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
int ret = write_register(setting3399::SR_BACKUP_RESTORES_HUAGODIR, 2);
|
||||
|
@ -437,6 +440,9 @@ int hg_scanner_239::set_restore()
|
|||
}
|
||||
int hg_scanner_239::set_backup()
|
||||
{
|
||||
if (!firmware_sup_backup_restore)
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
int ret = write_register(setting3399::SR_BACKUP_RESTORES_HUAGODIR, 1);
|
||||
|
@ -538,6 +544,8 @@ void hg_scanner_239::init_version(void)
|
|||
|
||||
firmware_sup_double_check = year_date.compare("231017") >= 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;
|
||||
|
||||
if (dev == "G1" || dev == "G2")
|
||||
{
|
||||
|
|
|
@ -108,6 +108,8 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) :
|
|||
firmware_sup_morr_ = year_date.compare("230724") >= 0 ? true : false;
|
||||
firmware_sup_double_check = year_date.compare("231017") >= 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;
|
||||
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
|
@ -867,8 +869,11 @@ int hg_scanner_300::get_devs_distortion_check_val(float& data, int dpi, int dir)
|
|||
data = *(float*)&val;
|
||||
}
|
||||
|
||||
void hg_scanner_300::update_boarddatetime()
|
||||
int hg_scanner_300::update_boarddatetime()
|
||||
{
|
||||
if (!firmware_sup_boardTime)
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
||||
USBCB usbcb = { setting3288dsp::GET_DATETIME,0,0 };
|
||||
int len = sizeof(usbcb);
|
||||
int ret = io_->write_bulk(&usbcb, &len);
|
||||
|
@ -879,7 +884,7 @@ void hg_scanner_300::update_boarddatetime()
|
|||
if (usbcb.u32_Count == 512 || usbcb.u32_Count == 0)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME error data lenght\n", 0);
|
||||
return;
|
||||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
std::string datenow;
|
||||
datenow.resize(usbcb.u32_Count);
|
||||
|
@ -889,10 +894,9 @@ void hg_scanner_300::update_boarddatetime()
|
|||
else
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME usb communication failed\n", 0);
|
||||
return;
|
||||
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);
|
||||
|
@ -911,10 +915,9 @@ void hg_scanner_300::update_boarddatetime()
|
|||
else
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME failed \n", 0);
|
||||
return;
|
||||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
|
||||
USBCB usbcb2 = { setting3288dsp::GET_DATETIME,0,0 };
|
||||
len = sizeof(usbcb);
|
||||
ret = io_->write_bulk(&usbcb2, &len);
|
||||
|
@ -924,7 +927,7 @@ void hg_scanner_300::update_boarddatetime()
|
|||
if (usbcb2.u32_Count == 512 || usbcb2.u32_Count == 0)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME error data lenght\n", 0);
|
||||
return;
|
||||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
std::string datenow;
|
||||
datenow.resize(usbcb2.u32_Count);
|
||||
|
@ -934,8 +937,10 @@ void hg_scanner_300::update_boarddatetime()
|
|||
else
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_FATAL, "GET_DATETIME usb communication failed\n", 0);
|
||||
return;
|
||||
return SCANNER_ERR_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
|
||||
int hg_scanner_300::get_correction_image(int inx , int dpi, int mode)
|
||||
|
@ -1643,6 +1648,9 @@ int hg_scanner_300::get_devs_disk(string& disk)
|
|||
}
|
||||
int hg_scanner_300::set_restore()
|
||||
{
|
||||
if (!firmware_sup_backup_restore)
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
||||
USBCB usbcb = { 0,0,0 };
|
||||
//usbcb.u32_CMD = setting3288dsp::SET_BACKUP_CONFIG;
|
||||
int len = sizeof(usbcb);
|
||||
|
@ -1667,6 +1675,9 @@ int hg_scanner_300::set_restore()
|
|||
|
||||
int hg_scanner_300::set_backup()
|
||||
{
|
||||
if (!firmware_sup_backup_restore)
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
||||
USBCB usbcb = { 0,0,0 };
|
||||
int len = sizeof(usbcb);
|
||||
usbcb.u32_CMD = setting3288dsp::SET_BACKUP_CONFIG;
|
||||
|
|
|
@ -66,7 +66,7 @@ private:
|
|||
void writedown_image_configuration(void);
|
||||
void printf_devconfig(setting_hardware::HGSCANCONF_3288 *d = NULL);
|
||||
int get_devs_distortion_check_val(float& data, int dpi, int dir);//获取设备畸变值 DPI=1、2、3; dir = 0,1;
|
||||
void update_boarddatetime();
|
||||
int update_boarddatetime();
|
||||
|
||||
///////////////////////7010专有协议,获取校正数据//////////////////////
|
||||
//inx:序号//
|
||||
|
|
Loading…
Reference in New Issue