功能号数组初始化工作转移到基类处理,各子类不必再处理
This commit is contained in:
parent
39f818a339
commit
14bd4dc0df
|
@ -1,5 +1,6 @@
|
|||
#include "hg_scanner.h"
|
||||
#include "../../sdk/hginclude/hg_log.h"
|
||||
#include "sane/sane_option_definitions.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include "scanner_manager.h"
|
||||
|
@ -26,6 +27,9 @@ hg_scanner::hg_scanner(ScannerSerial serial
|
|||
{
|
||||
custom_gamma_val_ = new SANE_Gamma;
|
||||
memset(custom_gamma_val_, 0, sizeof(SANE_Gamma));
|
||||
#ifdef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));
|
||||
#endif
|
||||
|
||||
paper_size_mm_.cx = 210;
|
||||
paper_size_mm_.cy = 297;
|
||||
|
@ -215,6 +219,124 @@ void hg_scanner::init_setting_map(int* setting_map, int count)
|
|||
for (int i = 0; i < count; ++i)
|
||||
setting_map[i] = -1;
|
||||
}
|
||||
void hg_scanner::set_setting_map(int sn, const char* title)
|
||||
{
|
||||
std::string val(title);
|
||||
int empty = 0;
|
||||
|
||||
while (empty < val.length() && val[empty] == ' ')
|
||||
empty++;
|
||||
val.erase(0, empty);
|
||||
|
||||
HG_VLOG_MINI_2(HG_LOG_LEVEL_DEBUG_INFO, "title: '%s', val: '%s'\n", title, val.c_str());
|
||||
|
||||
if (val == OPTION_TITLE_HFMRSZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_RESTORE_DEFAULT_SETTINGS] = sn;
|
||||
else if (val == OPTION_TITLE_BZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_HELP] = sn;
|
||||
else if (val == OPTION_TITLE_YSMS)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = sn;
|
||||
else if (val == OPTION_TITLE_DLSC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_MULTI_OUT] = sn;
|
||||
else if (val == OPTION_TITLE_HDHHBTX_CS)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_COLOR] = sn;
|
||||
else if (val == OPTION_TITLE_24WCSTX_DLSCCH)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED] = sn;
|
||||
else if (val == OPTION_TITLE_24WCSTX_DTKCH)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED] = sn;
|
||||
else if (val == OPTION_TITLE_BJYC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_BACKGROUND] = sn;
|
||||
else if (val == OPTION_TITLE_BJSCFDFW)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_BACKGROUND_RANGE] = sn;
|
||||
else if (val == OPTION_TITLE_HBTXZDYH)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_NOISE_OPTIMIZE] = sn;
|
||||
else if (val == OPTION_TITLE_ZDYHCC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_NOISE_OPTIMIZE_SIZE] = sn;
|
||||
else if (val == OPTION_TITLE_ZZCC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PAPER] = sn;
|
||||
else if (val == OPTION_TITLE_CCJC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PAPER_SIZE_CHECK] = sn;
|
||||
else if (val == OPTION_TITLE_ZDYSMQY)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_IS_CUSTOM_AREA] = sn;
|
||||
else if (val == OPTION_TITLE_SMQYZCmm)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_CUSTOM_AREA_LEFT] = sn;
|
||||
else if (val == OPTION_TITLE_SMQYYCmm)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_CUSTOM_AREA_RIGHT] = sn;
|
||||
else if (val == OPTION_TITLE_SMQYSCmm)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_CUSTOM_AREA_TOP] = sn;
|
||||
else if (val == OPTION_TITLE_SMQYXCmm)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_CUSTOM_AREA_BOTTOM] = sn;
|
||||
else if (val == OPTION_TITLE_SMYM)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PAGE] = sn;
|
||||
else if (val == OPTION_TITLE_TGKBYLMD)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PAGE_OMIT_EMPTY_LEVEL] = sn;
|
||||
else if (val == OPTION_TITLE_FBL)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_RESOLUTION] = sn;
|
||||
else if (val == OPTION_TITLE_TXZL)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_IMG_QUALITY] = sn;
|
||||
else if (val == OPTION_TITLE_JHZFM)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_EXCHANGE] = sn;
|
||||
else if (val == OPTION_TITLE_TXCF)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SPLIT] = sn;
|
||||
else if (val == OPTION_TITLE_ZDJP)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_AUTO_CORRECT] = sn;
|
||||
else if (val == OPTION_TITLE_CKYC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_RID_HOLE] = sn;
|
||||
else if (val == OPTION_TITLE_CKSSFWZFMBL)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_RID_HOLE_RANGE] = sn;
|
||||
else if (val == OPTION_TITLE_QYSDQX)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_IS_CUSTOM_GAMMA] = sn;
|
||||
else if (val == OPTION_TITLE_LDZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_BRIGHT] = sn;
|
||||
else if (val == OPTION_TITLE_DBD)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_CONTRAST] = sn;
|
||||
else if (val == OPTION_TITLE_GMZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_GAMMA] = sn;
|
||||
else if (val == OPTION_TITLE_RHYMH)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SHARPEN] = sn;
|
||||
else if (val == OPTION_TITLE_SSYZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_DARK_SAMPLE] = sn;
|
||||
else if (val == OPTION_TITLE_XCHK)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERASE_BLACK_FRAME] = sn;
|
||||
else if (val == OPTION_TITLE_YZ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_THRESHOLD] = sn;
|
||||
else if (val == OPTION_TITLE_BJKZDJ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ANTI_NOISE_LEVEL] = sn;
|
||||
else if (val == OPTION_TITLE_BYSJ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_MARGIN] = sn;
|
||||
else if (val == OPTION_TITLE_BJTCFS)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_FILL_BACKGROUND] = sn;
|
||||
else if (val == OPTION_TITLE_FZST)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PERMEATE] = sn;
|
||||
else if (val == OPTION_TITLE_FZSTDJ)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_PERMEATE_LV] = sn;
|
||||
else if (val == OPTION_TITLE_QCMW)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_REMOVE_MORR] = sn;
|
||||
else if (val == OPTION_TITLE_CWKS)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ERROR_EXTENTION] = sn;
|
||||
else if (val == OPTION_TITLE_CWW)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_REMOVE_TXTTURE] = sn;
|
||||
else if (val == OPTION_TITLE_CSBJC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK] = sn;
|
||||
else if (val == OPTION_TITLE_ZDJC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_STAPLE_CHECK] = sn;
|
||||
else if (val == OPTION_TITLE_SMZS)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SCAN_MODE] = sn;
|
||||
else if (val == OPTION_TITLE_SMSL)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SCAN_COUNT] = sn;
|
||||
else if (val == OPTION_TITLE_WGFX)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_TEXT_DIRECTION] = sn;
|
||||
else if (val == OPTION_TITLE_BMXZ180)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_ROTATE_BKG_180] = sn;
|
||||
else if (val == OPTION_TITLE_ZJJC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_FRACTATE_CHECK] = sn;
|
||||
else if (val == OPTION_TITLE_ZJJCFZD)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_FRACTATE_CHECK_LEVEL] = sn;
|
||||
else if (val == OPTION_TITLE_WXJC)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK] = sn;
|
||||
else if (val == OPTION_TITLE_WXJCFZD)
|
||||
setting_map_[HG_BASE_SETTING_INDEX_SKEW_CHECK_LEVEL] = sn;
|
||||
}
|
||||
void hg_scanner::thread_handle_usb(void)
|
||||
{
|
||||
while (run_)
|
||||
|
@ -851,7 +973,7 @@ int hg_scanner::setting_multi_out(void *data)
|
|||
}
|
||||
std::string str((char*)data);
|
||||
|
||||
bool exact = check_range(setting_map_[HG_BASE_SETTING_MULTI_OUT], str);
|
||||
bool exact = check_range(setting_map_[HG_BASE_SETTING_INDEX_MULTI_OUT], str);
|
||||
image_prc_param_.bits.multi_out = match_best_multi_out(str,NULL);
|
||||
HG_VLOG_MINI_3(HG_LOG_LEVEL_DEBUG_INFO, "set multi_out type from %s to %s = %s\n", multi_out_string(image_prc_param_.bits.multi_out).c_str(), (char*)data, hg_scanner::strerr((hg_err)ret).c_str());
|
||||
|
||||
|
@ -1419,6 +1541,8 @@ int hg_scanner::setting_img_quality(void *data)
|
|||
|
||||
is_quality_ = match_best_img_quality(str,NULL);
|
||||
on_resolution_changed(resolution_);
|
||||
|
||||
return HG_ERR_OK;
|
||||
}
|
||||
|
||||
int hg_scanner::on_color_mode_changed(int& color_mode)
|
||||
|
@ -1488,6 +1612,12 @@ void hg_scanner::init_settings(const char* json_setting_text)
|
|||
setting_jsn_.at(key).at("name").get_to(val);
|
||||
if (val == KNOWN_OPT_NAME_CUSTOM_GAMMA)
|
||||
continue;
|
||||
|
||||
#ifdef MAPPING_FUNCTION_IN_BASE
|
||||
setting_jsn_.at(key).at("title").get_to(val);
|
||||
set_setting_map(sn, val.c_str());
|
||||
#endif
|
||||
|
||||
setting_jsn_.at(key).at("type").get_to(val);
|
||||
if (val == "string")
|
||||
{
|
||||
|
|
|
@ -30,7 +30,7 @@ enum
|
|||
HG_BASE_SETTING_INDEX_RESTORE_DEFAULT_SETTINGS = 0, // 恢复默认设置
|
||||
HG_BASE_SETTING_INDEX_HELP, // 帮助
|
||||
HG_BASE_SETTING_INDEX_COLOR_MODE, // 颜色模式
|
||||
HG_BASE_SETTING_MULTI_OUT, // 多流输出
|
||||
HG_BASE_SETTING_INDEX_MULTI_OUT, // 多流输出
|
||||
HG_BASE_SETTING_INDEX_ERASE_COLOR, // 除色
|
||||
HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED, // 多流输出除红
|
||||
HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED, // 答题卡除红
|
||||
|
@ -68,9 +68,9 @@ enum
|
|||
HG_BASE_SETTING_INDEX_FILL_BACKGROUND, // 背景填充方式
|
||||
HG_BASE_SETTING_INDEX_PERMEATE, // 防止渗透
|
||||
HG_BASE_SETTING_INDEX_PERMEATE_LV, // 防止渗透等级
|
||||
HG_BASE_SETTING_REMOVE_MORR, // 去除摩尔纹
|
||||
HG_BASE_SETTING_ERROR_EXTENTION, // 错误扩散
|
||||
HG_BASE_SETTING_REMOVE_TXTTURE, // 除网纹
|
||||
HG_BASE_SETTING_INDEX_REMOVE_MORR, // 去除摩尔纹
|
||||
HG_BASE_SETTING_INDEX_ERROR_EXTENTION, // 错误扩散
|
||||
HG_BASE_SETTING_INDEX_REMOVE_TXTTURE, // 除网纹
|
||||
HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK, // 超声波检测
|
||||
HG_BASE_SETTING_INDEX_STAPLE_CHECK, // 装订检测
|
||||
HG_BASE_SETTING_INDEX_SCAN_MODE, // 连续扫描或扫描指定张数
|
||||
|
@ -86,6 +86,8 @@ enum
|
|||
// 常规的功能索引声明必须在此之前
|
||||
HG_BASE_SETTING_INDEX_MAX,
|
||||
};
|
||||
#define MAPPING_FUNCTION_IN_BASE // 定义该标志,各子类不必再初始化setting_map_数组
|
||||
|
||||
|
||||
class hg_scanner
|
||||
{
|
||||
|
@ -118,12 +120,13 @@ class hg_scanner
|
|||
// 设置接口
|
||||
protected:
|
||||
|
||||
// 配置序号映射数组,各子类必须重载“init_setting_map”方法以初始化该数组
|
||||
// 配置序号映射数组,各子类必须重载“init_setting_map”方法以初始化该数组 --> 2022-05-09:基类中以title自动匹配功能序号,子类不必再处理并屏蔽此项工作
|
||||
// 比如: 某型设备的“颜色模式”功能号为1,则 setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = 1
|
||||
// 如果设备的“颜色模式”配置逻辑与基类预定义的不同,
|
||||
// 则 setting_map_[HG_BASE_SETTING_INDEX_COLOR_MODE] = -1,在子类重载的set_setting_value方法中处理
|
||||
int setting_map_[HG_BASE_SETTING_INDEX_MAX];
|
||||
virtual void init_setting_map(int* setting_map, int count);
|
||||
void set_setting_map(int sn, const char* title);
|
||||
|
||||
int setting_restore(void* data);
|
||||
int setting_help(void* data);
|
||||
|
|
|
@ -213,8 +213,9 @@ hg_scanner_200::hg_scanner_200(const char* dev_name,int pid, usb_io* io) : hg_sc
|
|||
initdevice();
|
||||
|
||||
dsp_config_.value = 0;
|
||||
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
#endif
|
||||
init_settings(jsontext.c_str());
|
||||
|
||||
printf_devconfig();
|
||||
|
@ -258,7 +259,7 @@ void hg_scanner_200::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_HELP] = HG_239_SETTING_HELP;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_COLOR_MODE] = HG_239_SETTING_COLOR_MODE;
|
||||
setting_map[HG_BASE_SETTING_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_COLOR] = HG_239_SETTING_ERASE_COLOR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED] = HG_239_SETTING_ERASE_MULTI_RED;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED] = HG_239_SETTING_ERASE_ANSWER_RED;
|
||||
|
@ -298,9 +299,9 @@ void hg_scanner_200::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_FILL_BACKGROUND] = HG_239_SETTING_FILLING;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE] = HG_239_SETTING_PERMEATE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE_LV] = HG_239_SETTING_PERMEATE_lv;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK] = HG_239_SETTING_ULTRASONIC;
|
||||
setting_map[HG_BASE_SETTING_INDEX_STAPLE_CHECK] = HG_239_SETTING_STAPLE;
|
||||
|
@ -638,7 +639,7 @@ void hg_scanner_200::image_process(std::shared_ptr<std::vector<char>>& buffer)
|
|||
|
||||
tableLength = 768;
|
||||
int index=0;
|
||||
int buffersize = 256;
|
||||
const int buffersize = 256;
|
||||
|
||||
unsigned char buf_01[buffersize];
|
||||
memcpy(buf_01,custom_gamma_val_->table + index,buffersize);
|
||||
|
|
|
@ -381,7 +381,9 @@ hg_scanner_239::hg_scanner_239(const char* dev_name, int pid,usb_io* io) : hg_sc
|
|||
{
|
||||
HG_VLOG_MINI_1(HG_LOG_LEVEL_DEBUG_INFO, "hg_scanner_239(%s) constructing ...\n", hg_log::format_ptr(this).c_str());
|
||||
dev_conf_.value = 0;
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));
|
||||
#endif
|
||||
init_settings(jsontext.c_str());
|
||||
writedown_device_configuration(); // initialize the hardware settings
|
||||
init_version();
|
||||
|
@ -1063,7 +1065,7 @@ void hg_scanner_239::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_HELP] = HG_239_SETTING_HELP;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_COLOR_MODE] = HG_239_SETTING_COLOR_MODE;
|
||||
setting_map[HG_BASE_SETTING_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_COLOR] = HG_239_SETTING_ERASE_COLOR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED] = HG_239_SETTING_ERASE_MULTI_RED;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED] = HG_239_SETTING_ERASE_ANSWER_RED;
|
||||
|
@ -1104,9 +1106,9 @@ void hg_scanner_239::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_FILL_BACKGROUND] = HG_239_SETTING_FILLING;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE] = HG_239_SETTING_PERMEATE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE_LV] = HG_239_SETTING_PERMEATE_lv;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK] = HG_239_SETTING_ULTRASONIC;
|
||||
setting_map[HG_BASE_SETTING_INDEX_STAPLE_CHECK] = HG_239_SETTING_STAPLE;
|
||||
|
|
|
@ -192,7 +192,10 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_sc
|
|||
string fw = get_firmware_version();
|
||||
|
||||
initdevice();
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
#endif
|
||||
|
||||
init_settings(jsontext.c_str());
|
||||
|
||||
printf_devconfig();
|
||||
|
@ -207,7 +210,7 @@ void hg_scanner_300::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_HELP] = HG_239_SETTING_HELP;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_COLOR_MODE] = HG_239_SETTING_COLOR_MODE;
|
||||
setting_map[HG_BASE_SETTING_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_COLOR] = HG_239_SETTING_ERASE_COLOR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED] = HG_239_SETTING_ERASE_MULTI_RED;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED] = HG_239_SETTING_ERASE_ANSWER_RED;
|
||||
|
@ -247,9 +250,9 @@ void hg_scanner_300::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_FILL_BACKGROUND] = HG_239_SETTING_FILLING;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE] = HG_239_SETTING_PERMEATE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE_LV] = HG_239_SETTING_PERMEATE_lv;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK] = HG_239_SETTING_ULTRASONIC;
|
||||
setting_map[HG_BASE_SETTING_INDEX_SCAN_MODE] = HG_239_SETTING_SCAN_METHOD;
|
||||
|
@ -595,7 +598,7 @@ void hg_scanner_300::image_process(std::shared_ptr<std::vector<char>>& buffer)
|
|||
|
||||
tableLength = 768;
|
||||
int index=0;
|
||||
int buffersize = 256;
|
||||
const int buffersize = 256;
|
||||
|
||||
unsigned char buf_01[buffersize];
|
||||
memcpy(buf_01,custom_gamma_val_->table + index,buffersize);
|
||||
|
|
|
@ -191,7 +191,9 @@ hg_scanner_400::hg_scanner_400(const char* dev_name,int pid, usb_io* io) : hg_sc
|
|||
string fw = get_firmware_version();
|
||||
|
||||
initdevice();
|
||||
#ifndef MAPPING_FUNCTION_IN_BASE
|
||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||
#endif
|
||||
init_settings(jsontext.c_str());
|
||||
|
||||
printf_devconfig();
|
||||
|
@ -206,7 +208,7 @@ void hg_scanner_400::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_HELP] = HG_239_SETTING_HELP;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_COLOR_MODE] = HG_239_SETTING_COLOR_MODE;
|
||||
setting_map[HG_BASE_SETTING_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_MULTI_OUT] = HG_239_SETTING_MULTI_OUT;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_COLOR] = HG_239_SETTING_ERASE_COLOR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_MULTI_OUT_RED] = HG_239_SETTING_ERASE_MULTI_RED;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERASE_ANSWER_RED] = HG_239_SETTING_ERASE_ANSWER_RED;
|
||||
|
@ -246,9 +248,9 @@ void hg_scanner_400::init_setting_map(int* setting_map, int count)
|
|||
setting_map[HG_BASE_SETTING_INDEX_FILL_BACKGROUND] = HG_239_SETTING_FILLING;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE] = HG_239_SETTING_PERMEATE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_PERMEATE_LV] = HG_239_SETTING_PERMEATE_lv;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_MORR] = HG_239_SETTING_REMOVE_MORR;
|
||||
setting_map[HG_BASE_SETTING_INDEX_ERROR_EXTENTION] = HG_239_SETTING_ERROR_EXTENTION;
|
||||
setting_map[HG_BASE_SETTING_INDEX_REMOVE_TXTTURE] = HG_239_SETTING_REMOVE_TXTTURE;
|
||||
|
||||
setting_map[HG_BASE_SETTING_INDEX_ULTRASONIC_CHECK] = HG_239_SETTING_ULTRASONIC;
|
||||
setting_map[HG_BASE_SETTING_INDEX_SCAN_MODE] = HG_239_SETTING_SCAN_METHOD;
|
||||
|
@ -598,7 +600,7 @@ void hg_scanner_400::image_process(std::shared_ptr<std::vector<char>>& buffer)
|
|||
|
||||
tableLength = 768;
|
||||
int index=0;
|
||||
int buffersize = 256;
|
||||
const int buffersize = 256;
|
||||
|
||||
unsigned char buf_01[buffersize];
|
||||
memcpy(buf_01,custom_gamma_val_->table + index,buffersize);
|
||||
|
|
Loading…
Reference in New Issue