调整校正流程
This commit is contained in:
parent
79b5b1f8a4
commit
ae4dea8533
|
@ -156,7 +156,7 @@ hg_scanner::hg_scanner(ScannerSerial serial
|
|||
, dump_usb_path_(""),is_kernelsnap_211209_(false), pid_(0), dump_img_(&hg_scanner::dump_image_empty), is_kernelsnap_220830_(false),is_kernelsnap3288_221106_(false)
|
||||
, is_kernelsnap_221027_(false), memory_size_(1024/*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)
|
||||
, is_dpi_color_check(false),save_dpi_color_check_val(0.0f)
|
||||
, is_dpi_color_check(false),save_dpi_color_check_val(0.0f), is_auto_falt(false)
|
||||
{
|
||||
#if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64)
|
||||
isx86_Advan_ = false;
|
||||
|
@ -3389,7 +3389,7 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
|||
}
|
||||
else if (code == IO_CTRL_CODE_SET_AUTO_FALT)
|
||||
{
|
||||
|
||||
is_auto_falt = true;
|
||||
return set_auto_flat();
|
||||
}
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -3487,7 +3487,7 @@ int hg_scanner::set_dpi_color_check_val(void)
|
|||
}
|
||||
int hg_scanner::set_auto_flat(void)
|
||||
{
|
||||
return 0;
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
int hg_scanner::set_leaflet_scan(void)
|
||||
|
|
|
@ -336,7 +336,7 @@ protected:
|
|||
bool is_cis_image; //设置cis获取原图
|
||||
bool is_dpi_color_check; //纵向DPI、色差检测 ,畸变自动计算
|
||||
double save_dpi_color_check_val; //保存纵向DPI、色差检测 ,畸变自动计算 的值
|
||||
|
||||
bool is_auto_falt; //是否进行平场校正
|
||||
|
||||
int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处理
|
||||
int pid_;
|
||||
|
|
|
@ -136,7 +136,7 @@ void hg_scanner_200::thread_handle_usb_read(void)
|
|||
|
||||
while (run_)
|
||||
{
|
||||
if (sw.elapsed_s() > 30)
|
||||
if (sw.elapsed_s() > 30 && !is_auto_falt)
|
||||
{
|
||||
// no any data in 30 seconds, we giveup the work ...
|
||||
status_ = prev_err != SCANNER_ERR_OK ? prev_err : SCANNER_ERR_TIMEOUT;
|
||||
|
@ -148,6 +148,8 @@ void hg_scanner_200::thread_handle_usb_read(void)
|
|||
|
||||
if (ret == SCANNER_ERR_DEVICE_AUTO_FAIL_OVER)
|
||||
{
|
||||
is_auto_falt = false;
|
||||
|
||||
status_ = ret;
|
||||
std::string msg;
|
||||
int count = usb.u32_Count;
|
||||
|
|
|
@ -128,6 +128,7 @@ void hg_scanner_300::thread_handle_usb_read(void)
|
|||
}
|
||||
else if (ret == SCANNER_ERR_DEVICE_AUTO_FAIL_OVER)
|
||||
{
|
||||
is_auto_falt = false;
|
||||
status_ = ret;
|
||||
std::string msg;
|
||||
int count = usb.u32_Count;
|
||||
|
@ -164,7 +165,7 @@ void hg_scanner_300::thread_handle_usb_read(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (sw.elapsed_ms() > 20000)//防止状态信息一直取不上来导致卡死
|
||||
if (sw.elapsed_ms() > 30000 && !is_auto_falt)//防止状态信息一直取不上来导致卡死
|
||||
{
|
||||
//3288固件 获取有纸无纸问题的bug,如果是打开盖子在start之前【主动】获取的话,会先报无纸,而不是开盖。
|
||||
//但是在【端点】又获取不到有纸还是无纸的状态,所以只能通过等待超时,再来【主动】获取有无纸张。
|
||||
|
|
|
@ -130,6 +130,8 @@ void hg_scanner_400::thread_handle_usb_read(void)
|
|||
}
|
||||
else if (ret == SCANNER_ERR_DEVICE_AUTO_FAIL_OVER)
|
||||
{
|
||||
is_auto_falt = false;
|
||||
|
||||
status_ = ret;
|
||||
std::string msg;
|
||||
int count = usb.u32_Count;
|
||||
|
@ -166,7 +168,7 @@ void hg_scanner_400::thread_handle_usb_read(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (sw.elapsed_s() > 30)//防止状态信息一直取不上来导致卡死
|
||||
if (sw.elapsed_s() > 30 && !is_auto_falt)//防止状态信息一直取不上来导致卡死
|
||||
{
|
||||
status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_TIMEOUT;
|
||||
savestatus_.clear();
|
||||
|
|
Loading…
Reference in New Issue