调整校正流程,解决校正信息采集有误的问题
This commit is contained in:
parent
9ecaf00146
commit
e79bed40dd
|
@ -1133,15 +1133,16 @@ int hg_scanner_239::on_scanner_closing(bool force)
|
||||||
void hg_scanner_239::thread_correction(void)
|
void hg_scanner_239::thread_correction(void)
|
||||||
{
|
{
|
||||||
StopWatch sw;
|
StopWatch sw;
|
||||||
char buf[64];
|
unsigned char buf[64];
|
||||||
setting3399::HGEIntInfo* info = (setting3399::HGEIntInfo*)buf;
|
//setting3399::HGEIntInfo* info = (setting3399::HGEIntInfo*)buf;
|
||||||
int size = sizeof(buf),
|
int size = sizeof(buf);
|
||||||
ret = SCANNER_ERR_OK;
|
int ret = SCANNER_ERR_OK;
|
||||||
|
|
||||||
bool autoFaltFinish = false;
|
bool autoFaltFinish = false;
|
||||||
while (run_)
|
while (run_)
|
||||||
{
|
{
|
||||||
size = sizeof(buf);
|
size = sizeof(buf);
|
||||||
|
memset(buf, 0, sizeof(buf));
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(io_lock_);
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
|
|
||||||
|
@ -1152,7 +1153,7 @@ void hg_scanner_239::thread_correction(void)
|
||||||
|
|
||||||
if (ret == SCANNER_ERR_TIMEOUT)
|
if (ret == SCANNER_ERR_TIMEOUT)
|
||||||
{
|
{
|
||||||
if (autoFaltFinish || sw.elapsed_s() > 120)
|
if (autoFaltFinish || sw.elapsed_s() > 60)
|
||||||
{
|
{
|
||||||
is_auto_falt = false;
|
is_auto_falt = false;
|
||||||
status_ = SCANNER_ERR_DEVICE_AUTO_FAIL_OVER;
|
status_ = SCANNER_ERR_DEVICE_AUTO_FAIL_OVER;
|
||||||
|
@ -1166,13 +1167,14 @@ void hg_scanner_239::thread_correction(void)
|
||||||
}
|
}
|
||||||
if (size == sizeof(buf))
|
if (size == sizeof(buf))
|
||||||
{
|
{
|
||||||
if (setting3399::AutoCorrect ==info->From)
|
setting3399::HGEIntInfo info = *(setting3399::HGEIntInfo*)&buf;
|
||||||
|
if (setting3399::AutoCorrect == info.From)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(io_lock_);
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
status_ == SCANNER_ERR_DEVICE_AUTO_FAIL_INFO;
|
status_ == SCANNER_ERR_DEVICE_AUTO_FAIL_INFO;
|
||||||
sw.reset();
|
sw.reset();
|
||||||
std::string sinfo;
|
std::string sinfo;
|
||||||
int len = info->Img_Index;
|
int len = info.Img_Index;
|
||||||
sinfo.resize(len);
|
sinfo.resize(len);
|
||||||
|
|
||||||
io_->read_bulk(&sinfo[0],&len);
|
io_->read_bulk(&sinfo[0],&len);
|
||||||
|
@ -1181,18 +1183,18 @@ void hg_scanner_239::thread_correction(void)
|
||||||
notify_ui_working_status(buf, SANE_EVENT_STATUS, status_);
|
notify_ui_working_status(buf, SANE_EVENT_STATUS, status_);
|
||||||
printf("%s\r\n", sinfo.c_str());
|
printf("%s\r\n", sinfo.c_str());
|
||||||
|
|
||||||
if (info->Code == 4)
|
if (info.Code == 4)
|
||||||
{
|
{
|
||||||
is_auto_falt = false;
|
is_auto_falt = false;
|
||||||
status_ = SCANNER_ERR_DEVICE_AUTO_FAIL_OVER;
|
status_ = SCANNER_ERR_DEVICE_AUTO_FAIL_OVER;
|
||||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "固件层判断校正结束,返回码 Code: %d \n", info->Code);
|
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "固件层判断校正结束,返回码return Code: %d \n", info.Code);
|
||||||
//notify_ui_working_status(buf, SANE_EVENT_STATUS, status_);
|
//notify_ui_working_status(buf, SANE_EVENT_STATUS, status_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NULL != strstr(sinfo.c_str(), "******Correct Done******"))
|
if (NULL != strstr(sinfo.c_str(), "******Correct Done******"))
|
||||||
{
|
{
|
||||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "Recived : ******Correct Done****** , return Code: %d \n", info->Code);
|
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "Recived : ******Correct Done****** , return Code: %d \n", info.Code);
|
||||||
autoFaltFinish = true;
|
autoFaltFinish = true;
|
||||||
}
|
}
|
||||||
//break;
|
//break;
|
||||||
|
|
|
@ -128,6 +128,7 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) :
|
||||||
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (firmware_sup_boardTime)
|
||||||
update_boarddatetime();//暂未考虑版本兼容情况
|
update_boarddatetime();//暂未考虑版本兼容情况
|
||||||
//wait_read_int.notify();
|
//wait_read_int.notify();
|
||||||
status_ = SCANNER_ERR_OK;
|
status_ = SCANNER_ERR_OK;
|
||||||
|
|
Loading…
Reference in New Issue