EdgeInspector_App/MainFrm.cpp
@@ -433,97 +433,41 @@
         std::vector<DimensionDir> vecDirs = {
            DIMENSION_A_RIP, DIMENSION_B_RIP, DIMENSION_C_RIP, DIMENSION_D_RIP
         };
         pMain->Simulate2PhaseScanByDirs(vecDirs, 1000);
         pMain->Simulate2PhaseScanByDirs(vecDirs);
      }
      break;
   case PROC_MODE_SIMULATION_SIDESHORT:
      {         
         //pMain->m_GlassData.SetScanStartCount(MAX_CAMERA_COUNT);
         //pMain->SendGlassRecipe();
         //for(iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
         //{
         //   pMain->ScanStartGrabManual(iCam,0);
         //   pMain->ScanStartManual(iCam,0);
         //}
         std::vector<DimensionDir> vecDirs = {
            DIMENSION_B, DIMENSION_D, DIMENSION_B_DN, DIMENSION_D_DN
         };
         pMain->Simulate2PhaseScanByDirs(vecDirs, 1000);
         pMain->Simulate2PhaseScanByDirs(vecDirs);
      }
      break;
   case PROC_MODE_SIMULATION_SIDELONG:
      {            
         //pMain->m_GlassData.SetScanStartCount(MAX_CAMERA_COUNT);
         //pMain->SendGlassRecipe();
         //for(iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
         //{
         //   pMain->ScanStartGrabManual(iCam,1);
         //   pMain->ScanStartManual(iCam,1);
         //}
         std::vector<DimensionDir> vecDirs = {
            DIMENSION_A, DIMENSION_C, DIMENSION_A_DN, DIMENSION_C_DN
         };
         pMain->Simulate2PhaseScanByDirs(vecDirs, 1000);
         pMain->Simulate2PhaseScanByDirs(vecDirs);
      }
      break;
   case PROC_MODE_SIMULATION_ALL:
      {
         //g_pLog->DisplayMessage(_T("Simulation Full "));
         //pMain->m_GlassData.SetScanStartCount(MAX_DIMENSION_COUNT);
         //pMain->SendGlassRecipe();
         //for(iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
         //{
         //   pMain->ScanStartGrabManual(iCam,0);
         //   pMain->ScanStartGrabManual(iCam,1);
         //}
         //if(pMain->m_pThread_CheckSequence != NULL)
         //{
         //   double dOneScanTime = pMain->m_GlassRecipe.m_RecieParm.m_dOneScanTime_sec;
         //
         //   pMain->m_pThread_CheckSequence->AddCheckSeqMSG(CHECKSEQ_GLASS_INSPECTION_OVERTIME,(int)(dOneScanTime* 1000.),pMain->m_HardwareRecipe.GetScanCount()-1);
         //   g_pLog->DisplayMessage(_T("Simulation Time Out Set : %.1f"),dOneScanTime);
         //}
         //for(iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
         //{
         //   pMain->ScanStartManual(iCam,0);
         //}
         //DWORD sTime = GetTickCount();
         //while(TRUE)
         //{
         //   if(pMain->m_GlassData.GetScanEnd(0) == TRUE)
         //      break;
         //   if(GetTickCount() - sTime >= 5000)
         //      break;
         //
         //   Sleep(10);
         //}
         //for(iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
         //{
         //   pMain->ScanStartManual(iCam,1);
         //}
         if (pMain->m_HardwareRecipe.m_bUseRipInspection) {
            std::vector<DimensionDir> vecDirs = {
               DIMENSION_A, DIMENSION_C, DIMENSION_A_DN, DIMENSION_C_DN,
               DIMENSION_B, DIMENSION_D, DIMENSION_B_DN, DIMENSION_D_DN,
               DIMENSION_A, DIMENSION_B, DIMENSION_C, DIMENSION_D,
               DIMENSION_A_DN, DIMENSION_B_DN, DIMENSION_C_DN, DIMENSION_D_DN,
               DIMENSION_A_RIP, DIMENSION_B_RIP, DIMENSION_C_RIP, DIMENSION_D_RIP
            };
            pMain->Simulate2PhaseScanByDirs(vecDirs, 1000);
            pMain->Simulate2PhaseScanByDirs(vecDirs);
         }
         else {
            std::vector<DimensionDir> vecDirs = {
               DIMENSION_A, DIMENSION_C, DIMENSION_A_DN, DIMENSION_C_DN,
               DIMENSION_B, DIMENSION_D, DIMENSION_B_DN, DIMENSION_D_DN
               DIMENSION_A, DIMENSION_B, DIMENSION_C, DIMENSION_D,
               DIMENSION_A_DN, DIMENSION_B_DN, DIMENSION_C_DN, DIMENSION_D_DN
            };
            pMain->Simulate2PhaseScanByDirs(vecDirs, 1000);
            pMain->Simulate2PhaseScanByDirs(vecDirs);
         }
      }
      break;
@@ -534,17 +478,13 @@
BOOL CMainFrame::IV2M_InspectionProcess(DimensionDir eDim)
{
   if(IsScanNow())
   {
   if(IsScanNow()) {
      g_pLog->DisplayMessage(_T("Doing Inspection"));
      return FALSE;
   }
   g_pBase->m_eProcessMode = PROC_MODE_SIMULATION_ONESIDE;
   m_eManualInspectSide = eDim;
   // 烙矫肺 阜澜
   //return TRUE;
   AfxBeginThread(ManualInspectProcess,this);
@@ -553,30 +493,20 @@
void CMainFrame::MLight_OnOff(int iCon,int iCh,BOOL bValue)
{
   //    if(IsScanNow())
   //    {
   //       g_pLog->DisplayMessage(_T("Doing Inspection"));
   //       return;
   //    }
   if(m_pLightManager == NULL)
   if (m_pLightManager == NULL) {
      return;
   }
   m_pLightManager->LampTurnOnOff(iCon, iCh, bValue);
}
BOOL CMainFrame::MLight_SetLightControlValue(int iCon,int iCh, int nValue, BOOL bRef, int nScanIdx, BOOL bAdjLight)
{
   //    if(IsScanNow())
   //    {
   //       g_pLog->DisplayMessage(_T("Doing Inspection"));
   //       return TRUE;
   //    }
   if(m_pLightManager == NULL)
   if (m_pLightManager == NULL) {
      return FALSE;
   }
   BOOL   bRet = m_pLightManager->SetLightControlValue(iCon, iCh, nValue);
   BOOL bRet = m_pLightManager->SetLightControlValue(iCon, iCh, nValue);
   return bRet;
}
@@ -757,7 +687,7 @@
   WriteLogManager(str);
}
void CMainFrame::Simulate2PhaseScanByDirs(const std::vector<DimensionDir>& vDirs, int nTimeoutMs /*=0 表示取配方时间*/)
void CMainFrame::Simulate2PhaseScanByDirs(const std::vector<DimensionDir>& vDirs)
{
   struct SCamScan { int cam; int scan; };
@@ -799,51 +729,47 @@
   }
   SendGlassRecipe();
   m_GlassData.SetScanStartCount((int)vDirs.size());
   if (!phase0.empty() && !phase1.empty()) {
      for (const auto& cs : phase0) {
         ScanStartGrabManual(cs.cam, 0);
      }
      for (const auto& cs : phase1) {
         ScanStartGrabManual(cs.cam, 1);
      }
      if (m_pThread_CheckSequence != NULL) {
         double dOneScanTime = m_GlassRecipe.m_RecieParm.m_dOneScanTime_sec;
         m_pThread_CheckSequence->AddCheckSeqMSG(CHECKSEQ_GLASS_INSPECTION_OVERTIME, (int)(dOneScanTime * nTimeoutMs), m_HardwareRecipe.GetScanCount() - 1);
         m_pThread_CheckSequence->AddCheckSeqMSG(CHECKSEQ_GLASS_INSPECTION_OVERTIME, (int)(dOneScanTime * 1000), m_HardwareRecipe.GetScanCount() - 1);
         g_pLog->DisplayMessage(_T("Simulation Time Out Set : %.1f"), dOneScanTime);
      }
      // nScan == 0
      if (!phase0.empty()) {
         m_GlassData.SetScanStartCount((int)phase0.size());
         for (const auto& cs : phase0) {
            ScanStartGrabManual(cs.cam, cs.scan);
            ScanStartManual(cs.cam, cs.scan);
         }
      for (const auto& cs : phase0) {
         ScanStartManual(cs.cam, 0);
      }
      if (!phase0.empty() && !phase1.empty()) {
         DWORD sTime = GetTickCount();
         while (TRUE) {
            if (m_GlassData.GetScanEnd(0) == TRUE) {
               break;
            }
            if (GetTickCount() - sTime > 5000) {
               break;
            }
            Sleep(10);
      DWORD sTime = GetTickCount();
      while (TRUE) {
         if (m_GlassData.GetScanEnd(0) == TRUE) {
            break;
         }
         // nScan == 1
         if (!phase1.empty()) {
            m_GlassData.SetScanStartCount((int)phase1.size());
            for (const auto& cs : phase1) {
               ScanStartGrabManual(cs.cam, cs.scan);
               ScanStartManual(cs.cam, cs.scan);
            }
         if (GetTickCount() - sTime > 5000) {
            break;
         }
         Sleep(10);
      }
      for (const auto& cs : phase1) {
         ScanStartManual(cs.cam, 1);
      }
   }
   else {
      // nScan == 0
      if (!phase0.empty()) {
         m_GlassData.SetScanStartCount((int)phase0.size());
         for (const auto& cs : phase0) {
            ScanStartGrabManual(cs.cam, cs.scan);
            ScanStartManual(cs.cam, cs.scan);
@@ -852,7 +778,6 @@
      // nScan == 1
      if (!phase1.empty()) {
         m_GlassData.SetScanStartCount((int)phase1.size());
         for (const auto& cs : phase1) {
            ScanStartGrabManual(cs.cam, cs.scan);
            ScanStartManual(cs.cam, cs.scan);