增加扫描启动延时200ms,解决USB读取bulk端点通信偶发导致机器启动异常问题

This commit is contained in:
lovelyyoung 2020-07-07 09:58:42 +08:00
parent e10bed9df8
commit 790e085592
1 changed files with 5 additions and 5 deletions

View File

@ -207,7 +207,7 @@ int GScanO200::aquire_bmpdata(std::vector<unsigned char>& bmpdata)
if (m_pImages->valid()) { if (m_pImages->valid()) {
bmpdata = *(m_pImages->popBmpdata()); bmpdata = *(m_pImages->popBmpdata());
//static int aqimgindex = 0; //static int aqimgindex = 0;
////FileTools::write_log("1.txt", "aquireed image " + to_string(++aqimgindex)); //writelog("aquireed image " + to_string(++aqimgindex));
//FileTools::write_log("C:\\Users\\huagao\\Desktop\\out.txt", "aquired procced image "+ to_string(++aqimgindex)); //FileTools::write_log("C:\\Users\\huagao\\Desktop\\out.txt", "aquired procced image "+ to_string(++aqimgindex));
@ -360,7 +360,7 @@ void GScanO200::Scanner_StartScan(UINT16 count)
count = count == 65535 ? 65535 : count / 2; count = count == 65535 ? 65535 : count / 2;
USBCB usbcb = { START_COMMAND,(UINT32)count ,0 }; USBCB usbcb = { START_COMMAND,(UINT32)count ,0 };
m_usb->write_bulk(&usbcb, sizeof(usbcb)); m_usb->write_bulk(&usbcb, sizeof(usbcb));
this_thread::sleep_for(std::chrono::milliseconds(200));
m_pImages->setscanflags(true); m_pImages->setscanflags(true);
m_threadUsb.reset(new std::thread(&GScanO200::usbmain, this)); m_threadUsb.reset(new std::thread(&GScanO200::usbmain, this));
m_pImages->run(); m_pImages->run();
@ -511,8 +511,8 @@ void GScanO200::usbmain()
break; break;
} }
m_pImages->pushMat(std::shared_ptr<IDecode>(new G200Decode(imgData))); m_pImages->pushMat(std::shared_ptr<IDecode>(new G200Decode(imgData)));
/*static int rawdataindex = 0; //static int rawdataindex = 0;
FileTools::write_log("C:\\Users\\huagao\\Desktop\\out.txt", "origin rawbuffer index " + std::to_string(++rawdataindex));*/ //writelog("origin rawbuffer index " + std::to_string(++rawdataindex));
#ifdef LOG_NORMAL #ifdef LOG_NORMAL
static int rawdataindex = 0; static int rawdataindex = 0;
FileTools::write_log("out.txt", "Enquque rawbuffer index " + std::to_string(++rawdataindex)); FileTools::write_log("out.txt", "Enquque rawbuffer index " + std::to_string(++rawdataindex));
@ -586,7 +586,7 @@ std::shared_ptr<std::vector<char>> GScanO200::Get_Img_Data(int bufferSize)
} }
if (sw.elapsed_ms() > 3000) { if (sw.elapsed_ms() > 3000) {
writelog("Usb read data error\n"); writelog("Usb read data timeout\n");
} }
return imData; return imData;