增加设置固件语言模式的接口

This commit is contained in:
yangjiaxuan 2024-01-17 09:05:19 +08:00
parent f5ae44fbcb
commit 86cd595177
5 changed files with 51 additions and 3 deletions

View File

@ -1110,6 +1110,8 @@ namespace setting3399
SR_GET_ARM_DATETIME=101, SR_GET_ARM_DATETIME=101,
SR_GET_ARM_DATETIME_LENGHT=102, SR_GET_ARM_DATETIME_LENGHT=102,
SR_SET_ARM_DATETIME=103, SR_SET_ARM_DATETIME=103,
SR_SET_LCD_LANGUAGE = 106,
SR_GET_LCD_LANGUAGE = 107,
SR_UPDATA_START = 0x100, SR_UPDATA_START = 0x100,
SR_UPDATA_STAUTUS = 0x101, SR_UPDATA_STAUTUS = 0x101,
SR_UPDATA_MD5_RELUST = 0x102, SR_UPDATA_MD5_RELUST = 0x102,

View File

@ -162,7 +162,7 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i
, firmware_sup_wait_paper_(false),firmware_sup_pick_strength_(false),firmware_sup_log_export_(false), firmware_sup_log_export_G300_(false),firmware_sup_color_corr_(false),firmware_sup_wake_device_(false) , firmware_sup_wait_paper_(false),firmware_sup_pick_strength_(false),firmware_sup_log_export_(false), firmware_sup_log_export_G300_(false),firmware_sup_color_corr_(false),firmware_sup_wake_device_(false)
, firmware_sup_double_img(false),firmware_sup_devs_lock_(false),firmware_sup_dpi_300(false),firmware_sup_dpi_600(false),firmware_sup_auto_speed_(false),firmware_sup_morr_(false) , firmware_sup_double_img(false),firmware_sup_devs_lock_(false),firmware_sup_dpi_300(false),firmware_sup_dpi_600(false),firmware_sup_auto_speed_(false),firmware_sup_morr_(false)
, firmware_sup_color_fill_(false),firmware_sup_history_cnt(false), have_max_size(false), is_discardblank(false),firmware_sup_device_7010(false), firmware_sup_double_check(false) , firmware_sup_color_fill_(false),firmware_sup_history_cnt(false), have_max_size(false), is_discardblank(false),firmware_sup_device_7010(false), firmware_sup_double_check(false)
, firmware_sup_dirty_check(false), firmware_sup_permeation_level(false) , firmware_sup_dirty_check(false), firmware_sup_permeation_level(false), firmware_sup_firmware_language_(0)
{ {
#if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64) #if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64)
isx86_Advan_ = false; isx86_Advan_ = false;
@ -4885,6 +4885,19 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
int ret = set_restore(); int ret = set_restore();
return ret; return ret;
} }
else if (code == IO_CTRL_CODE_SET_FIRMWARE_LANGUAGE)
{
int mode = *((int*)data);
int ret = set_firmware_language(mode);
return ret;
}
else if (code == IO_CTRL_CODE_GET_FIRMWARE_LANGUAGE)
{
int mode = 0;
int ret = get_firmware_language(mode);
(*(int*)data) = mode;
return ret;
}
else if (code == IO_CTRL_CODE_GET_SCAN_WITH_HOLE) else if (code == IO_CTRL_CODE_GET_SCAN_WITH_HOLE)
{ {
*(SANE_Bool*)data = image_prc_param_.bits.rid_hole || isremove_left_hole || isremove_low_hole || isremove_right_hole || isremove_top_hole ? SANE_TRUE : SANE_FALSE; *(SANE_Bool*)data = image_prc_param_.bits.rid_hole || isremove_left_hole || isremove_low_hole || isremove_right_hole || isremove_top_hole ? SANE_TRUE : SANE_FALSE;
@ -5079,6 +5092,14 @@ int hg_scanner::set_backup()
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;
} }
int hg_scanner::set_firmware_language(int language_mode)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::get_firmware_language(int& language_mode)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::set_device_model(string sts) int hg_scanner::set_device_model(string sts)
{ {
return SCANNER_ERR_DEVICE_NOT_SUPPORT; return SCANNER_ERR_DEVICE_NOT_SUPPORT;

View File

@ -378,6 +378,7 @@ protected:
bool firmware_sup_boardTime; //固件支持 板级时间校验 231021 bool firmware_sup_boardTime; //固件支持 板级时间校验 231021
bool firmware_sup_permeation_level; //固件支持 防渗透等级 3399-3C1206 bool firmware_sup_permeation_level; //固件支持 防渗透等级 3399-3C1206
bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21 bool firmware_sup_device_7010; //G300 设备但是7010 2023/9/21
bool firmware_sup_firmware_language_;//固件支持 设置或获取固件语言模式 仅139 239有固件语言功能3D0115及之后支持
int mat_width; int mat_width;
int mat_height; int mat_height;
@ -549,6 +550,8 @@ public:
virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb)
virtual int set_restore(); //还原文件 virtual int set_restore(); //还原文件
virtual int set_backup(); //备份文件 virtual int set_backup(); //备份文件
virtual int set_firmware_language(int language_mode); // 设置固件语言模式 仅139、239设备支持 //0->简体中文; 1->繁体中文; 2->English
virtual int get_firmware_language(int& language_mode); // 获取固件语言模式 仅139、239设备支持 //0->简体中文; 1->繁体中文; 2->English
}; };

View File

@ -177,8 +177,6 @@ hg_scanner_239::hg_scanner_239(const char* dev_name, int pid,usb_io* io) : hg_sc
init_settings((jsontext4 + jsontext5 + jsontext6).c_str()); init_settings((jsontext4 + jsontext5 + jsontext6).c_str());
} }
string str;
get_devs_time(str);
#ifdef OEM_HUAGAO #ifdef OEM_HUAGAO
wait_devsislock_.notify(); wait_devsislock_.notify();
#endif #endif
@ -442,6 +440,26 @@ int hg_scanner_239::set_backup()
int ret = write_register(setting3399::SR_BACKUP_RESTORES_HUAGODIR, 1); int ret = write_register(setting3399::SR_BACKUP_RESTORES_HUAGODIR, 1);
return ret; return ret;
} }
int hg_scanner_239::set_firmware_language(int language_mode)
{
if (!firmware_sup_firmware_language_)
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
std::lock_guard<std::mutex> lock(io_lock_);
int ret = write_register(setting3399::SR_SET_LCD_LANGUAGE, language_mode);
return ret;
}
int hg_scanner_239::get_firmware_language(int& language_mode)
{
if (!firmware_sup_firmware_language_)
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
std::lock_guard<std::mutex> lock(io_lock_);
int ret = read_register(setting3399::SR_GET_LCD_LANGUAGE, &language_mode);
return ret;
}
int hg_scanner_239::get_status(void) int hg_scanner_239::get_status(void)
{ {
std::lock_guard<std::mutex> lock(io_lock_); std::lock_guard<std::mutex> lock(io_lock_);
@ -557,6 +575,7 @@ void hg_scanner_239::init_version(void)
firmware_sup_auto_speed_ = year_date.compare("3B0318") >= 0 ? true : false; firmware_sup_auto_speed_ = year_date.compare("3B0318") >= 0 ? true : false;
firmware_sup_morr_ = year_date.compare("3C0518") >= 0 ? true : false; firmware_sup_morr_ = year_date.compare("3C0518") >= 0 ? true : false;
firmware_sup_color_fill_ = year.compare("3C") >= 0 ? true : false; firmware_sup_color_fill_ = year.compare("3C") >= 0 ? true : false;
firmware_sup_firmware_language_ = year_date.compare("3D0115") >= 0 ? true : false;
} }
else else
{ {
@ -572,6 +591,7 @@ void hg_scanner_239::init_version(void)
firmware_sup_auto_speed_ = year.compare("3C") >= 0 ? true : false; firmware_sup_auto_speed_ = year.compare("3C") >= 0 ? true : false;
firmware_sup_morr_ = year_date.compare("3C0518") >= 0 ? true : false; firmware_sup_morr_ = year_date.compare("3C0518") >= 0 ? true : false;
firmware_sup_color_fill_ = year.compare("3C") >= 0 ? true : false; firmware_sup_color_fill_ = year.compare("3C") >= 0 ? true : false;
firmware_sup_firmware_language_ = false;
} }
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "Firmware_sup_wait_paper_:%s\r\n", firmware_sup_wait_paper_ ? "enable" : "close"); VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "Firmware_sup_wait_paper_:%s\r\n", firmware_sup_wait_paper_ ? "enable" : "close");

View File

@ -150,5 +150,7 @@ public:
virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb) virtual int get_devs_disk(int& disk); //获取设备硬盘容量大小(kb)
virtual int set_restore(); //还原文件 virtual int set_restore(); //还原文件
virtual int set_backup(); //备份文件 virtual int set_backup(); //备份文件
virtual int set_firmware_language(int language_mode); // 设置固件语言模式 仅139、239设备支持 //0->简体中文; 1->繁体中文; 2->English
virtual int get_firmware_language(int& language_mode); // 获取固件语言模式 仅139、239设备支持 //0->简体中文; 1->繁体中文; 2->English
}; };