调整固件版本的互斥
This commit is contained in:
parent
ec7695cb57
commit
e9d9ba3cc2
|
@ -153,13 +153,15 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i
|
|||
, double_paper_handle_(0), keep_watermark_(false), save_feedmode_type_(false), feedmode_(1), sleeptime_(-1), split3399_(0)
|
||||
, async_io_(false), is_white_0_(true), isremove_left_hole(false), isremove_right_hole(false), isremove_top_hole(false), isremove_low_hole(false)
|
||||
, isremove_left_hole_threshold(0), isremove_right_hole_threshold(0), isremove_top_hole_threshold(0), isremove_low_hole_threshold(0)
|
||||
, dump_usb_path_(""), is_kernelsnap_239_211209_(false), dump_img_(&hg_scanner::dump_image_empty), is_kernelsnap_239_220830_(false), is_kernelsnap3288_221106_(false)
|
||||
, is_kernelsnap_239_221027_(false), memory_size_(4000/*USB+JPEG压缩及图像处理图队列,总共1GB*/), isx86_Advan_(true), stop_fatal_(SCANNER_ERR_OK), is_auto_paper_scan(false)
|
||||
, size_check(false), save_sleeptime_type_(false), is_kernelsnap_devsislock(false), is_checksum_strat_scan(false), is_cis_image(false)
|
||||
, dump_usb_path_(""), dump_img_(&hg_scanner::dump_image_empty)
|
||||
, memory_size_(4000/*USB+JPEG压缩及图像处理图队列,总共1GB*/), isx86_Advan_(true), stop_fatal_(SCANNER_ERR_OK), is_auto_paper_scan(false)
|
||||
, size_check(false), save_sleeptime_type_(false), is_checksum_strat_scan(false), is_cis_image(false)
|
||||
, is_dpi_color_check(false), save_dpi_color_check_val(0.0f), is_auto_falt(false), HGVersion_mgr_(NULL), HGVersion_Init_(NULL)
|
||||
, HGVersion_Islock_(NULL), HGVersion_Postlog_(NULL), HGVersion_Free_(NULL), Dynamicopen_HGVersion_pHandle_(NULL), pid_(pid), fetching_id_(-1)
|
||||
, is_kernelsnap3288_230210_(false), color_correction_(false), is_kernelsnap_239_3C_(false), is_kernelsnap_239_220500_(false), is_kernelsnap3288_230303_(false)
|
||||
, is_kernelsnap_211227_(false),is_auto_paper_scan_exit_time(60), is_read_int(true), is_kernelsnap_439_3C0606(false), is_auto_feedmode_(false), is_kernelsnap_239_220429_(false)
|
||||
, HGVersion_Islock_(NULL), HGVersion_Postlog_(NULL), HGVersion_Free_(NULL), Dynamicopen_HGVersion_pHandle_(NULL), pid_(pid), fetching_id_(-1), color_correction_(false)
|
||||
, is_auto_paper_scan_exit_time(60), is_read_int(true), is_auto_feedmode_(false)
|
||||
, firmware_sup_wait_paper_(false),firmware_sup_pick_strength_(false),firmware_sup_log_export_(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_color_fill_(false),firmware_sup_history_cnt(false)
|
||||
{
|
||||
#if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64)
|
||||
isx86_Advan_ = false;
|
||||
|
@ -338,7 +340,7 @@ void hg_scanner::thread_devslock_handle(void)
|
|||
{
|
||||
wait_devsislock_.wait();
|
||||
#ifdef OEM_HUAGAO
|
||||
if (is_firstopen_ && is_kernelsnap_devsislock)
|
||||
if (is_firstopen_ && firmware_sup_devs_lock_)
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
ret = set_server_blacklist_lock();
|
||||
|
@ -352,7 +354,7 @@ void hg_scanner::thread_devslock_handle(void)
|
|||
|
||||
//int ret = SCANNER_ERR_OK;
|
||||
//wait_devsislock_.wait();
|
||||
//while (is_firstopen_ && is_kernelsnap_devsislock)
|
||||
//while (is_firstopen_ && firmware_sup_devs_lock_)
|
||||
//{
|
||||
// if (!is_read_int)
|
||||
// {
|
||||
|
@ -1365,24 +1367,38 @@ int hg_scanner::set_color_change(void)
|
|||
bool hg_scanner::jsn_reorganize()
|
||||
{
|
||||
bool enble = false;
|
||||
if (!is_kernelsnap_239_220830_ && pid_ == 0x239)
|
||||
if (!firmware_sup_wait_paper_ && pid_ == 0x239)
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_WAIT_TO_SCAN);
|
||||
enble = true;
|
||||
}
|
||||
if (!firmware_sup_pick_strength_ && pid_ == 0x239)
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH);
|
||||
erase_option(SANE_STD_OPT_NAME_FEED_STRENGTH);
|
||||
enble = true;
|
||||
}
|
||||
if (!is_kernelsnap_239_220429_ && pid_ == 0x239)
|
||||
if (!firmware_sup_color_fill_ && (pid_ == 0x239 || pid_ == 0x439))
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_IS_FILL_COLOR);
|
||||
enble = true;
|
||||
}
|
||||
if (pid_ == 0x239 || pid_ == 0x439)
|
||||
if (!firmware_sup_color_corr_ && (pid_ == 0x239 || pid_ == 0x439))
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_RID_GRID);
|
||||
erase_option(SANE_STD_OPT_NAME_RID_MORR);
|
||||
erase_option(SANE_STD_OPT_NAME_COLOR_CORRECTION);
|
||||
enble = true;
|
||||
|
||||
}
|
||||
if (!firmware_sup_morr_ && (pid_ == 0x239 || pid_ == 0x439))
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_RID_MORR);
|
||||
}
|
||||
if (pid_ == 0x239 || pid_ == 0x439) //固件不支持防止渗透等级
|
||||
{
|
||||
erase_option(SANE_STD_OPT_NAME_ANTI_PERMEATE_LEVEL);
|
||||
}
|
||||
erase_option(SANE_STD_OPT_NAME_RID_GRID); //全系移除 除网纹
|
||||
|
||||
return enble;
|
||||
}
|
||||
int hg_scanner::hgpaper_to_devspaper(Paper_Map papermap[], int len, int& paper, bool* exact, TwSS* type)
|
||||
|
@ -2072,7 +2088,7 @@ int hg_scanner::setting_go_on_when_double_checked(void* data, long* len)
|
|||
|
||||
bool ok = true;
|
||||
std::string val((char*)data);
|
||||
if (!is_kernelsnap_239_220500_ && val.compare(hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM)))
|
||||
if (!firmware_sup_double_img && val.compare(hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM)))
|
||||
{
|
||||
strcpy((char*)data, hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_SCTXBTZSM));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -2393,17 +2409,13 @@ int hg_scanner::setting_auto_pick_paper_threshold(void* data, long* len)
|
|||
int hg_scanner::setting_auto_paper_scan(void* data, long* len)
|
||||
{
|
||||
is_auto_paper_scan = *((bool *)data);
|
||||
if (!is_kernelsnap_239_220430_ && is_auto_paper_scan)
|
||||
if (!firmware_sup_wait_paper_ && is_auto_paper_scan)
|
||||
{
|
||||
is_auto_paper_scan = *(bool*)data = false;
|
||||
//notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORTED), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
|
||||
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
if (!is_auto_paper_scan)
|
||||
{
|
||||
on_is_auto_paper(is_auto_paper_scan);
|
||||
}
|
||||
on_is_auto_paper(is_auto_paper_scan);
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner::setting_isremove_left_hole(void* data, long* len)
|
||||
|
@ -2463,7 +2475,7 @@ int hg_scanner::setting_color_correction(void* data, long* len)
|
|||
}
|
||||
if (pid_ == 0x239 || pid_ == 0x439)
|
||||
{
|
||||
if (!is_kernelsnap_239_3C_)
|
||||
if (!firmware_sup_color_corr_)
|
||||
{
|
||||
*((bool*)data) = color_correction_ = false;
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -4445,7 +4457,7 @@ void hg_scanner::image_process(std::shared_ptr<tiny_buffer>& buffer, uint32_t id
|
|||
else if (param.cis_image
|
||||
|| ((img_conf_.papertype == TwSS::MaxSize || img_conf_.papertype == TwSS::USStatement)
|
||||
&& pid_ == 0x0300
|
||||
&& is_kernelsnap3288_230210_))
|
||||
&& firmware_sup_dpi_600))
|
||||
{
|
||||
printf("cis 原图测试无需任何算法\r\n");
|
||||
}
|
||||
|
@ -4475,9 +4487,9 @@ void hg_scanner::image_process(std::shared_ptr<tiny_buffer>& buffer, uint32_t id
|
|||
float dpi3288 = 200;
|
||||
if (pid_ == 0x300|| pid_== 0x400)
|
||||
{
|
||||
if (is_kernelsnap3288_221106_ && pid_ == 0x300)
|
||||
if (firmware_sup_dpi_300 && pid_ == 0x300)
|
||||
dpi3288 = (img_conf_.resolution_dst >= 300) ? 300 : 200;
|
||||
else if (is_kernelsnap3288_230210_ && pid_ == 0x300)
|
||||
else if (firmware_sup_dpi_600 && pid_ == 0x300)
|
||||
dpi3288 = (img_conf_.resolution_dst == 600) ? 600 : (img_conf_.resolution_dst < 600 && img_conf_.resolution_dst >= 300) ? 300 : 200;
|
||||
else
|
||||
dpi3288 = 200;
|
||||
|
@ -4504,13 +4516,13 @@ void hg_scanner::image_process(std::shared_ptr<tiny_buffer>& buffer, uint32_t id
|
|||
}
|
||||
|
||||
if ( (((img_conf_.resolution_dst != img_conf_.resolution_native) && (pid_ == 0x300 || pid_ == 0x0400 || pid_ == 0x302 || pid_ == 0x402))
|
||||
&& !is_kernelsnap3288_221106_ && !is_kernelsnap3288_230210_ )
|
||||
&& !firmware_sup_dpi_300 && !firmware_sup_dpi_600)
|
||||
|
||||
|| (pid_ == 0x300 && is_kernelsnap3288_221106_ && img_conf_.resolution_dst != 200 && img_conf_.resolution_dst != 300)
|
||||
|| (pid_ == 0x300 && is_kernelsnap3288_230210_ && img_conf_.resolution_dst != 200 && img_conf_.resolution_dst != 300 && img_conf_.resolution_dst != 600))
|
||||
|| (pid_ == 0x300 && firmware_sup_dpi_300 && img_conf_.resolution_dst != 200 && img_conf_.resolution_dst != 300)
|
||||
|| (pid_ == 0x300 && firmware_sup_dpi_600 && img_conf_.resolution_dst != 200 && img_conf_.resolution_dst != 300 && img_conf_.resolution_dst != 600))
|
||||
{
|
||||
float dpi3288 = 0.0;
|
||||
dpi3288 = (img_conf_.resolution_dst >= 300 && (is_kernelsnap3288_221106_ || is_kernelsnap3288_230210_)) ? 300 : 200;
|
||||
dpi3288 = (img_conf_.resolution_dst >= 300 && (firmware_sup_dpi_300 || firmware_sup_dpi_600)) ? 300 : 200;
|
||||
|
||||
hg_imgproc::resolution_change(ImagePrc_pHandle_, dpi3288);
|
||||
(this->*dump_img_)(ImagePrc_pHandle_, "resolution_change");
|
||||
|
|
|
@ -346,23 +346,38 @@ protected:
|
|||
int pid_;
|
||||
|
||||
/////////不同的固件号版本支持
|
||||
bool is_kernelsnap_239_220830_; //此版本支持待纸扫描,手动睡眠唤醒,分纸强度
|
||||
bool is_kernelsnap_239_211209_; //获取固件版本号是否是新旧版本
|
||||
bool is_kernelsnap_239_221027_; //此版本一下不支持拆分模式 pc实现
|
||||
bool is_kernelsnap3288_221106_; //G300 3288 在221106版本支持真实300dpi
|
||||
bool is_kernelsnap3288_230210_; //G300 3288 在230210版本支持真实600dpi
|
||||
bool is_kernelsnap3288_230303_; //G300 3288 支持清除历史扫描张数
|
||||
//bool is_kernelsnap_239_220830_; //此版本支持,手动睡眠唤醒,分纸强度
|
||||
//bool is_kernelsnap_239_211209_; //获取固件版本号是否是新旧版本
|
||||
//bool is_kernelsnap_239_221027_; //此版本一下不支持拆分模式 pc实现
|
||||
|
||||
//bool is_kernelsnap3288_221106_; //G300 3288 在221106版本支持真实300dpi
|
||||
//bool is_kernelsnap3288_230210_; //G300 3288 在230210版本支持真实600dpi
|
||||
|
||||
//bool is_kernelsnap3288_230303_; //G300 3288 支持清除历史扫描张数
|
||||
|
||||
bool is_kernelsnap_devsislock; //支持设备锁的版本
|
||||
bool is_kernelsnap_239_3C_; //支持偏色校正的版本,自适应配置
|
||||
bool is_kernelsnap_439_3C0606; //支持偏色校正的版本
|
||||
bool is_kernelsnap_239_220500_; //支持双张保留的版本
|
||||
//bool is_kernelsnap_devsislock; //支持设备锁的版本
|
||||
//bool is_kernelsnap_239_3C_; //支持偏色校正的版本,自适应配置
|
||||
//bool is_kernelsnap_439_3C0606; //支持偏色校正的版本
|
||||
//bool is_kernelsnap_239_220500_; //支持双张保留的版本
|
||||
|
||||
bool is_kernelsnap_239_220429_; //第一个安陆版本,支持设备日志导出
|
||||
bool is_kernelsnap_239_220430_; //待纸扫描
|
||||
//bool is_kernelsnap_239_220429_; //第一个安陆版本,支持设备日志导出
|
||||
//bool is_kernelsnap_239_220430_; //待纸扫描
|
||||
// bool is_kernelsnap_211227_; //此版本以下,不支持真实dpi ,只设置1下去
|
||||
|
||||
bool is_kernelsnap_211227_; //此版本以下,不支持真实dpi ,只设置1下去
|
||||
|
||||
bool firmware_sup_wait_paper_; //固件支持 待纸扫描 139 239-3B0431, 439-3B0629
|
||||
bool firmware_sup_pick_strength_; //固件支持 分纸强度 139 239-3B0830
|
||||
bool firmware_sup_log_export_; //固件支持 日志导出 139 239-3B0429
|
||||
bool firmware_sup_color_corr_; //固件支持 偏色校正 139 239 439-3C
|
||||
bool firmware_sup_wake_device_; //固件支持 唤醒设备 139 239-3B0830
|
||||
bool firmware_sup_double_img; //固件支持 双张保留 139 239-3C
|
||||
bool firmware_sup_devs_lock_; //固件支持 设备锁定 139 239-3b0500, 439-3C, 302_402-2023/3/15
|
||||
bool firmware_sup_dpi_300; //固件支持 真实DPI300 139 239-21227,此版本以下,不支持真实dpi,dpi设置1 //3288 G300 用到
|
||||
bool firmware_sup_dpi_600; //固件支持 真实DPI600 139 239-21227,此版本以下,不支持真实dpi,dpi设置1
|
||||
bool firmware_sup_auto_speed_; //固件支持 自适应速度 139 239 439 -3C
|
||||
bool firmware_sup_morr_; //固件支持 摩尔纹 139 239-3C0518
|
||||
bool firmware_sup_color_fill_; //固件支持 色彩填充 139 239 439 -3C
|
||||
bool firmware_sup_history_cnt; //固件支持 清除历史张数 3288 G300 220303
|
||||
|
||||
SCANCONF img_conf_; //此参数外部不做任何改变,请在writedown_image_configuration做修改
|
||||
std::string img_type_;
|
||||
|
|
|
@ -157,6 +157,7 @@ namespace settings
|
|||
hg_scanner_239::hg_scanner_239(const char* dev_name, int pid,usb_io* io) : hg_scanner(G20039Serial, dev_name, io,pid)
|
||||
, rewrite_conf_(false), reset_(false),is_start_status(false)
|
||||
{
|
||||
init_version();
|
||||
//pid_ = pid;
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "hg_scanner_239(%s) constructing ...\n", hg_log::format_ptr(this).c_str());
|
||||
dev_conf_.value = 0;
|
||||
|
@ -171,7 +172,7 @@ hg_scanner_239::hg_scanner_239(const char* dev_name, int pid,usb_io* io) : hg_sc
|
|||
init_settings((jsontext4 + jsontext5 + jsontext6).c_str());
|
||||
}
|
||||
hg_version_init_handle();
|
||||
init_version();
|
||||
|
||||
|
||||
#ifdef OEM_HUAGAO
|
||||
wait_devsislock_.notify();
|
||||
|
@ -437,85 +438,115 @@ void hg_scanner_239::init_version(void)
|
|||
string date = fv.substr(5, 5);
|
||||
string year = fv.substr(4, 2);
|
||||
string devType;
|
||||
string year_date = fv.substr(4, 6);
|
||||
//if ((dev == "G1" || dev == "G2") && ver == "393")
|
||||
//{
|
||||
// if (date >= "A1220" && date <= "A1230")
|
||||
// {
|
||||
// if (date >= "A1224")
|
||||
// {
|
||||
// is_kernelsnap_devsislock = true;
|
||||
// }
|
||||
// }
|
||||
// else if (date >= "B0326" && date <= "B0334")
|
||||
// {
|
||||
// if (date >= "B0333")
|
||||
// {
|
||||
// is_kernelsnap_devsislock = true;
|
||||
// }
|
||||
// }
|
||||
// else if (date >= "B0429")
|
||||
// {
|
||||
// if (date >= "B1031" || date == "B0500")
|
||||
// {
|
||||
// is_kernelsnap_devsislock = true;
|
||||
// }
|
||||
// }
|
||||
|
||||
if ((dev == "G1" || dev == "G2") && ver == "393")
|
||||
//}
|
||||
//else if (dev == "G4" && ver == "393")
|
||||
//{
|
||||
// if (date >= "B1108")
|
||||
// {
|
||||
// is_kernelsnap_devsislock = true;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (dev == "G1" || dev == "G2")
|
||||
{
|
||||
if (date >= "A1220" && date <= "A1230")
|
||||
{
|
||||
if (date >= "A1224")
|
||||
{
|
||||
is_kernelsnap_devsislock = true;
|
||||
}
|
||||
}
|
||||
else if (date >= "B0326" && date <= "B0334")
|
||||
{
|
||||
if (date >= "B0333")
|
||||
{
|
||||
is_kernelsnap_devsislock = true;
|
||||
}
|
||||
}
|
||||
else if (date >= "B0429")
|
||||
{
|
||||
if (date >= "B1031" || date == "B0500")
|
||||
{
|
||||
is_kernelsnap_devsislock = true;
|
||||
}
|
||||
}
|
||||
|
||||
firmware_sup_wait_paper_ = year_date >= "3B0431" ? true : false;
|
||||
firmware_sup_log_export_ = year_date >= "3B0429" ? true : false;
|
||||
firmware_sup_pick_strength_ = year_date >= "3B0830" ? true : false;
|
||||
firmware_sup_wake_device_ = year_date >= "3B0830" ? true : false;
|
||||
firmware_sup_color_corr_ = year >= "3C" ? true : false;
|
||||
firmware_sup_double_img = year >= "3C" ? true : false;
|
||||
firmware_sup_devs_lock_ = year_date >= "3b0500" ? true : false;
|
||||
firmware_sup_dpi_300 = false;
|
||||
firmware_sup_dpi_600 = date >= "A1227" ? true : false;
|
||||
firmware_sup_auto_speed_ = year >= "3C" ? true : false;
|
||||
firmware_sup_morr_ = year_date >= "3C0518" ? true : false;
|
||||
firmware_sup_color_fill_ = year >= "3C" ? true : false;
|
||||
}
|
||||
else if (dev == "G4" && ver == "393")
|
||||
else
|
||||
{
|
||||
if (date >= "B1108")
|
||||
{
|
||||
is_kernelsnap_devsislock = true;
|
||||
}
|
||||
firmware_sup_wait_paper_ = year_date >= "3B0629" ? true : false;
|
||||
firmware_sup_log_export_ = true;
|
||||
firmware_sup_pick_strength_ = false; //不支持
|
||||
firmware_sup_wake_device_ = year_date >= "3C0518" ? true : false;
|
||||
firmware_sup_color_corr_ = year >= "3C" ? true : false;
|
||||
firmware_sup_double_img = false; //不支持
|
||||
firmware_sup_devs_lock_ = year >= "3C" ? true : false;
|
||||
firmware_sup_dpi_300 = false;
|
||||
firmware_sup_dpi_600 = true;
|
||||
firmware_sup_auto_speed_ = year >= "3C" ? true : false;
|
||||
firmware_sup_morr_ = year_date >= "3C0518" ? true : false;
|
||||
firmware_sup_color_fill_ = year >= "3C" ? true : false;
|
||||
}
|
||||
|
||||
if (!is_kernelsnap_devsislock)
|
||||
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_log_export_:%s\r\n", firmware_sup_log_export_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_pick_strength_:%s\r\n", firmware_sup_pick_strength_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_color_corr_:%s\r\n", firmware_sup_color_corr_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_double_img:%s\r\n", firmware_sup_double_img ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_devs_lock_:%s\r\n", firmware_sup_devs_lock_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_dpi_300:%s\r\n", firmware_sup_dpi_300 ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_dpi_600:%s\r\n", firmware_sup_dpi_600 ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_auto_speed_:%s\r\n", firmware_sup_auto_speed_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_morr_:%s\r\n", firmware_sup_morr_ ? "enable" : "close");
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "firmware_sup_color_fill_:%s\r\n", firmware_sup_color_fill_ ? "enable" : "close");
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
}
|
||||
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "Firmware version: %s\n", fv.c_str());
|
||||
|
||||
is_kernelsnap_239_220429_ = date >= "B0429" ? true : false;
|
||||
is_kernelsnap_239_220430_ = date >= "B0430" ? true : false;
|
||||
//is_kernelsnap_239_220429_ = date >= "B0429" ? true : false;
|
||||
//is_kernelsnap_239_220430_ = date >= "B0430" ? true : false;
|
||||
|
||||
if (dev == "G1" || dev == "G2" )
|
||||
{
|
||||
is_kernelsnap_239_211209_ = date >= "A1209" ? (is_kernelsnap_239_211209_ = atoi(get_fpga().c_str()) >= 35211210) : false;//基本用不到了
|
||||
is_kernelsnap_239_220830_ = date >= "B0830" ? true: false;
|
||||
is_kernelsnap_239_221027_ = date >= "B1027" ? true : false;
|
||||
is_kernelsnap_239_3C_ = year >= "3C" ? true : false;
|
||||
|
||||
is_kernelsnap_239_220500_ = date >= "B0500" ? true : false;
|
||||
//if (dev == "G1" || dev == "G2" )
|
||||
//{
|
||||
// is_kernelsnap_239_211209_ = date >= "A1209" ? (is_kernelsnap_239_211209_ = atoi(get_fpga().c_str()) >= 35211210) : false;//基本用不到了
|
||||
// is_kernelsnap_239_220830_ = date >= "B0830" ? true: false;
|
||||
// is_kernelsnap_239_221027_ = date >= "B1027" ? true : false;
|
||||
// is_kernelsnap_239_3C_ = year >= "3C" ? true : false;
|
||||
//
|
||||
// is_kernelsnap_239_220500_ = date >= "B0500" ? true : false;
|
||||
|
||||
is_kernelsnap_211227_ = date <= "A1227" ? true : false;
|
||||
VLOG_MINI_6(LOG_LEVEL_DEBUG_INFO,
|
||||
"Firmware version : %s \
|
||||
,is_kernelsnap_239_211209_:%d \
|
||||
,is_kernelsnap_239_220830_:%d \
|
||||
,is_kernelsnap_239_221027_:%d \
|
||||
,is_kernelsnap_239_220430_:%d \
|
||||
,is_kernelsnap_239_3C_:%d\n"
|
||||
, fv.c_str()
|
||||
, is_kernelsnap_239_211209_
|
||||
, is_kernelsnap_239_220830_
|
||||
, is_kernelsnap_239_221027_
|
||||
, is_kernelsnap_239_220430_
|
||||
, is_kernelsnap_239_3C_);
|
||||
}
|
||||
else
|
||||
{
|
||||
//is_kernelsnap_439_3C0606 = date >= "C0606" ? true : false;
|
||||
is_kernelsnap_239_3C_ = date >= "C0606" ? true : false;
|
||||
|
||||
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO \
|
||||
, "is_kernelsnap_239_3C_:%d \
|
||||
, is_kernelsnap_239_220430_:%d\r\n" \
|
||||
, is_kernelsnap_239_3C_ \
|
||||
, is_kernelsnap_239_220430_);
|
||||
}
|
||||
// is_kernelsnap_211227_ = date <= "A1227" ? true : false;
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //is_kernelsnap_439_3C0606 = date >= "C0606" ? true : false;
|
||||
// is_kernelsnap_239_3C_ = date >= "C0606" ? true : false;
|
||||
//
|
||||
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
|
@ -551,12 +582,12 @@ int hg_scanner_239::writedown_device_configuration(bool type, setting_hardware:
|
|||
{
|
||||
dev_conf->params_3399.enable_sizecheck = false;
|
||||
}
|
||||
if (is_kernelsnap_239_3C_ && image_prc_param_.bits.paper == PAPER_AUTO_MATCH)
|
||||
if (firmware_sup_auto_speed_ && image_prc_param_.bits.paper == PAPER_AUTO_MATCH)
|
||||
{
|
||||
dev_conf->params_3399.is_fixedpaper = false;
|
||||
dev_conf->params_3399.en_autosize = true;
|
||||
}
|
||||
if (!is_kernelsnap_239_3C_ && image_prc_param_.bits.paper == PAPER_AUTO_MATCH)//3399 ,在3C之前的版本 匹配原始尺寸设置 12
|
||||
if (!firmware_sup_auto_speed_ && image_prc_param_.bits.paper == PAPER_AUTO_MATCH)//3399 ,在3C之前的版本 匹配原始尺寸设置 12
|
||||
{
|
||||
dev_conf->params_3399.paper = 12;
|
||||
}
|
||||
|
@ -763,10 +794,10 @@ int hg_scanner_239::discard_all_images(void)
|
|||
}
|
||||
}
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||
if (is_read_int)
|
||||
{
|
||||
init_version();
|
||||
}
|
||||
//if (is_read_int)
|
||||
//{
|
||||
// init_version();
|
||||
//}
|
||||
|
||||
if (pre_int)
|
||||
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "prev-connection has left %d interrupt packet(s) && %d image(s).\n", pre_int, pre_img);
|
||||
|
@ -848,10 +879,10 @@ int hg_scanner_239::on_paper_check_changed(bool& check)
|
|||
}
|
||||
int hg_scanner_239::on_resolution_changed(int& dpi)
|
||||
{
|
||||
if (is_kernelsnap_211227_)
|
||||
if (!firmware_sup_dpi_600)
|
||||
dev_conf_.params_3399.dpi = 1;
|
||||
else
|
||||
dev_conf_.params_3399.dpi = dpi == 600 ? 3 : (dpi < 599 && dpi>299) ? 2 : 1;
|
||||
dev_conf_.params_3399.dpi = dpi >= 500 ? 3 : (dpi < 500 && dpi> 299) ? 2 : 1;
|
||||
|
||||
//dev_conf_.params_3399.dpi = 1; //dpi 华凌cis和敦南cis 默认发1无需改变
|
||||
int ret = writedown_device_configuration();
|
||||
|
@ -1021,22 +1052,16 @@ int hg_scanner_239::on_is_auto_paper(bool isautopaper)
|
|||
{
|
||||
int val = 0,
|
||||
ret = SCANNER_ERR_OK;
|
||||
if (is_kernelsnap_239_220430_ || !isautopaper)
|
||||
{
|
||||
|
||||
dev_conf_.params_3399.is_autopaper = isautopaper;
|
||||
ret = writedown_device_configuration();
|
||||
|
||||
//if (isautopaper)
|
||||
//notify_ui_working_status("\345\276\205\347\272\270\346\211\253\346\217\217\347\212\266\346\200\201\344\270\255...", SANE_EVENT_WORKING, status_);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_239::on_cis_get_image(bool isautopaper)
|
||||
{
|
||||
is_cis_image = isautopaper;
|
||||
dev_conf_.params_3399.pc_correct = isautopaper;
|
||||
return writedown_device_configuration();
|
||||
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
void hg_scanner_239::on_device_reconnected(void)
|
||||
{
|
||||
|
@ -1364,14 +1389,9 @@ int hg_scanner_239::start(void)
|
|||
if (handled)
|
||||
return ret;
|
||||
|
||||
//if (is_read_int)
|
||||
//{
|
||||
// VLOG_MINI_1(LOG_LEVEL_WARNING, "device status is(%s)\n", STATU_DESC_SCANNER_ERR_DEVICE_DEVS_BOOTING);
|
||||
// return SCANNER_ERR_DEVICE_DEVS_BOOTING;
|
||||
//}
|
||||
|
||||
user_cancel_ = false;
|
||||
ret = on_is_auto_paper(is_auto_paper_scan);
|
||||
|
||||
split3399_ = 0;
|
||||
|
||||
cb_mem_ = true;
|
||||
|
@ -1385,8 +1405,8 @@ int hg_scanner_239::start(void)
|
|||
{
|
||||
status_ = SCANNER_ERR_DEVICE_SLEEPING;
|
||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "device start status is(%s)\n", hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_SLEEPING));
|
||||
if(is_kernelsnap_239_220830_)
|
||||
ret = set_notify_sleep();
|
||||
|
||||
set_notify_sleep();
|
||||
|
||||
return status_;
|
||||
}
|
||||
|
@ -1697,15 +1717,14 @@ int hg_scanner_239::get_scan_is_sleep(SANE_Bool& type)
|
|||
}
|
||||
int hg_scanner_239::set_notify_sleep()
|
||||
{
|
||||
if (!firmware_sup_wake_device_)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
int val = 0,
|
||||
ret = SCANNER_ERR_OK;
|
||||
if (is_kernelsnap_239_220830_)
|
||||
{
|
||||
ret = write_register(setting3399::SR_NOTIFY_SLEEP, val);
|
||||
}
|
||||
return ret;
|
||||
int val = 0;
|
||||
return write_register(setting3399::SR_NOTIFY_SLEEP, val);
|
||||
}
|
||||
int hg_scanner_239::get_roller_num(int &num)
|
||||
{
|
||||
|
@ -1716,7 +1735,7 @@ int hg_scanner_239::get_roller_num(int &num)
|
|||
}
|
||||
int hg_scanner_239::get_device_log(string &logpath)
|
||||
{
|
||||
if (!is_kernelsnap_239_220429_)
|
||||
if (!firmware_sup_log_export_)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
@ -1801,7 +1820,7 @@ int hg_scanner_239::set_scan_islock(SANE_Bool set_islock)
|
|||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
if (!is_kernelsnap_devsislock)
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -1823,7 +1842,7 @@ int hg_scanner_239::get_scan_islock(SANE_Bool& islock)
|
|||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
if (!is_kernelsnap_devsislock)
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -1843,7 +1862,7 @@ int hg_scanner_239::get_scan_islock(SANE_Bool& islock)
|
|||
}
|
||||
int hg_scanner_239::set_scan_lock_check_val(string check_str)
|
||||
{
|
||||
if (!is_kernelsnap_devsislock)
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -1997,7 +2016,7 @@ int hg_scanner_239::get_dev_islock_file(int& islockfile)
|
|||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
if (!is_kernelsnap_devsislock)
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -2038,7 +2057,7 @@ int hg_scanner_239::set_dev_islock_file(int islockfile)
|
|||
{
|
||||
std::lock_guard<std::mutex> lock(io_lock_);
|
||||
|
||||
if (!is_kernelsnap_devsislock)
|
||||
if (!firmware_sup_devs_lock_)
|
||||
{
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "devs lock:%s \n", hg_scanner_err_description(SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
|
|
@ -82,7 +82,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_sc
|
|||
dsp_config.value = 0;
|
||||
dsp_config.params_3288.enableLed = 1; //默认值
|
||||
dsp_config.params_3288.isCorrect = 1;
|
||||
|
||||
initdevice();
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
#endif
|
||||
|
@ -93,7 +93,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_sc
|
|||
else
|
||||
init_settings((jsontext4 + jsontext5 + jsontext6).c_str());
|
||||
}
|
||||
initdevice();
|
||||
|
||||
//wait_read_int.notify();
|
||||
}
|
||||
hg_scanner_300::~hg_scanner_300()
|
||||
|
@ -204,7 +204,7 @@ void hg_scanner_300::thread_handle_usb_read(void)
|
|||
}
|
||||
if (sw.elapsed_ms() > 30000 && img_conf_.resolution_dst != 600)//防止状态信息一直取不上来导致卡死
|
||||
{
|
||||
if ((img_conf_.papertype == TwSS::MaxSize || img_conf_.papertype == TwSS::USStatement) && pid_ == 0x0300 && is_kernelsnap3288_230210_)
|
||||
if ((img_conf_.papertype == TwSS::MaxSize || img_conf_.papertype == TwSS::USStatement) && pid_ == 0x0300 && firmware_sup_dpi_600)
|
||||
{
|
||||
hg_log::log(LOG_LEVEL_WARNING, "while 30S\n");
|
||||
}
|
||||
|
@ -295,10 +295,10 @@ int hg_scanner_300::discard_all_images(void)
|
|||
}
|
||||
|
||||
|
||||
if (is_read_int)
|
||||
{
|
||||
initdevice();
|
||||
}
|
||||
//if (is_read_int)
|
||||
//{
|
||||
// initdevice();
|
||||
//}
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner_300::get_roller_life(void)
|
||||
|
@ -601,8 +601,8 @@ int hg_scanner_300::on_color_mode_changed(int& color_mode)
|
|||
int hg_scanner_300::on_paper_changed(int& paper)
|
||||
{
|
||||
bool exact = true;
|
||||
Paper_Map* papermap = pid_ == 0x0300 && is_kernelsnap3288_230210_ ? paper_map_3288_600dpi : paper_map_3288;
|
||||
int paperlen = pid_ == 0x0300 && is_kernelsnap3288_230210_ ? ARRAY_SIZE(paper_map_3288_600dpi) : ARRAY_SIZE(paper_map_3288);
|
||||
Paper_Map* papermap = pid_ == 0x0300 && firmware_sup_dpi_600 ? paper_map_3288_600dpi : paper_map_3288;
|
||||
int paperlen = pid_ == 0x0300 && firmware_sup_dpi_600 ? ARRAY_SIZE(paper_map_3288_600dpi) : ARRAY_SIZE(paper_map_3288);
|
||||
|
||||
int ind = hgpaper_to_devspaper(papermap, paperlen, paper, &exact, &paper_size_),
|
||||
ret = exact ? SCANNER_ERR_OK : SCANNER_ERR_NOT_EXACT;
|
||||
|
@ -632,12 +632,9 @@ int hg_scanner_300::on_paper_changed(int& paper)
|
|||
}
|
||||
int hg_scanner_300::on_paper_check_changed(bool& check)
|
||||
{
|
||||
if (!is_kernelsnap3288_230210_ && check)
|
||||
if (!firmware_sup_dpi_600 && check)
|
||||
{
|
||||
check = false;
|
||||
//notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT), SANE_EVENT_ERROR, status_);
|
||||
|
||||
//VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "on_paper_check_changed:%s\r\n", hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT));
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int ret = SCANNER_ERR_OK;
|
||||
|
@ -656,14 +653,14 @@ int hg_scanner_300::on_paper_check_changed(bool& check)
|
|||
int hg_scanner_300::on_resolution_changed(int& dpi)
|
||||
{
|
||||
int ret = SCANNER_ERR_OK;
|
||||
if (is_kernelsnap3288_230210_)
|
||||
if (firmware_sup_dpi_600)
|
||||
dsp_config.params_3288.dpi = dpi == 600 ? 3 : (dpi < 599 && dpi>=300) ? 2 : 1;
|
||||
else if (is_kernelsnap3288_221106_)
|
||||
else if (firmware_sup_dpi_300)
|
||||
dsp_config.params_3288.dpi = (dpi >= 300) ? 2 : 1;
|
||||
else
|
||||
dsp_config.params_3288.dpi = 1;
|
||||
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "on_resolution_changed is dpi:%d .set device dpi(%d),is_kernelsnap3288_221106_ is :%d\n", dpi, dsp_config.params_3288.dpi, is_kernelsnap3288_221106_);
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "on_resolution_changed is dpi:%d .set device dpi(%d),firmware_sup_dpi_300 is :%d\n", dpi, dsp_config.params_3288.dpi, firmware_sup_dpi_300);
|
||||
|
||||
ret = writedown_device_configuration();
|
||||
return ret;
|
||||
|
@ -692,22 +689,22 @@ int hg_scanner_300::set_kernelsnap_ver()
|
|||
if (!fw.empty())
|
||||
{
|
||||
if (atoi(fw.substr(4, 6).c_str()) >= 221106 && atoi(fw.substr(4, 6).c_str()) < 230210)
|
||||
is_kernelsnap3288_221106_ = true;
|
||||
firmware_sup_dpi_300 = true;
|
||||
else if (atoi(fw.substr(4, 6).c_str()) >= 230210)
|
||||
is_kernelsnap3288_230210_ = true;
|
||||
firmware_sup_dpi_600 = true;
|
||||
else
|
||||
{
|
||||
is_kernelsnap3288_221106_ = false;
|
||||
is_kernelsnap3288_230210_ = false;
|
||||
firmware_sup_dpi_300 = false;
|
||||
firmware_sup_dpi_600 = false;
|
||||
}
|
||||
is_kernelsnap3288_230303_ = atoi(fw.substr(4, 6).c_str()) >= 220303 ? true : false;
|
||||
firmware_sup_history_cnt = atoi(fw.substr(4, 6).c_str()) >= 220303 ? true : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
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_);
|
||||
VLOG_MINI_2(LOG_LEVEL_WARNING, "hg_scanner_300 firmware_sup_dpi_300 :%d ,firmware_sup_dpi_600:%d\n", firmware_sup_dpi_300, firmware_sup_dpi_600);
|
||||
return SCANNER_ERR_OK;
|
||||
}
|
||||
int hg_scanner_300::agreement(TwSS tw,int align)
|
||||
|
@ -862,7 +859,7 @@ int hg_scanner_300::set_clear_roller_num(void)
|
|||
}
|
||||
int hg_scanner_300::set_clear_history_num(void)
|
||||
{
|
||||
if (!is_kernelsnap3288_230303_)
|
||||
if (!firmware_sup_history_cnt)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue