mrDarker
2025-08-14 47873f48d17bb8f7602fda73d29b19adcf43fdd0
EdgeInspector_App/Grabber/SoliosControl.cpp
@@ -1,4 +1,4 @@
#include "StdAfx.h"
#include "StdAfx.h"
#include "SoliosControl.h"
#include "FrameBufferController.h"
@@ -330,7 +330,7 @@
   if (nYStart + nYSize > nBufSizeY* GetEndFrameIdx())
      return FALSE;
   
   // 矫累 橇饭烙 锅龋客 场 橇饭烙 锅龋.
   // 矫累 橇饭烙 锅龋客 场 橇饭烙 锅龋.
   int nStartFrameNo = nYStart / nBufSizeY;
   int nEndFrameNo = (nYStart + nYSize) / nBufSizeY;
   LPBYTE   lpHeadAddr = GetFrameHeader(iScan,nStartFrameNo);
@@ -346,7 +346,7 @@
      memcpy(lpIn + i * nXSize, lpStart + nLine * nBufSizeX, nXSize);
      if (nStartFrameNo <= nEndFrameNo && (nYStart + i + 1) % nBufSizeY  == 0)
      {
         // 捞固瘤甫 蝶郴具窍绰 康开捞 MemFrameNo 版拌俊 吧媚乐绰 版快 贸府.
         // 捞固瘤甫 蝶郴具窍绰 康开捞 MemFrameNo 版拌俊 吧媚乐绰 版快 贸府.
         lpHeadAddr = GetFrameHeader(iScan,++nStartFrameNo);
         lpStart = lpHeadAddr + nXStart;
         nLine = 0;
@@ -383,18 +383,19 @@
   m_nEndFrameIdx++;         //Count
   m_nSetBufferIdx++;      //index
   if (m_nEndFrameIdx > g_pStatus->GetGrabFrameCount(m_nScanIndex))
   int nCameraIdx = m_Param.nCameraIdx;
   if (m_nEndFrameIdx > g_pStatus->GetGrabFrameCount(nCameraIdx, m_nScanIndex))
   {
      GrabScanStop();      
      g_pStatus->SetGrabEnd(m_nScanIndex);
      g_pLog->DisplayMessage(_T("%d Over Grab Count : Stop Grab[%d][%d] - %d"), m_Param.nBoardIdx, m_nScanIndex, m_nEndFrameIdx,g_pStatus->GetGrabFrameCount(m_nScanIndex));
      g_pStatus->SetGrabEnd(nCameraIdx, m_nScanIndex);
      g_pLog->DisplayMessage(_T("%d Over Grab Count : Stop Grab[%d][%d] - %d"), m_Param.nBoardIdx, m_nScanIndex, m_nEndFrameIdx,g_pStatus->GetGrabFrameCount(nCameraIdx, m_nScanIndex));
      return TRUE;
   }
   if (m_nSetBufferIdx > m_pFrameBuffer->GetFrameCount())
   {
      GrabScanStop();      
      g_pStatus->SetGrabEnd(m_nScanIndex);
      g_pStatus->SetGrabEnd(nCameraIdx, m_nScanIndex);
      g_pLog->DisplayMessage(_T("%d Over Grab Buffer Stop Grab[%d][%d] - %d"), m_Param.nBoardIdx, m_nScanIndex, m_nEndFrameIdx,m_pFrameBuffer->GetFrameCount());
      return TRUE;
   }
@@ -403,7 +404,7 @@
   if(pBuffer == NULL)
   {
      GrabScanStop();      
      g_pStatus->SetGrabEnd(m_nScanIndex);
      g_pStatus->SetGrabEnd(nCameraIdx, m_nScanIndex);
      g_pLog->DisplayMessage(_T("%d Over Grab Buffer Stop Grab[%d][%d] - %d"), m_Param.nBoardIdx, m_nScanIndex, m_nEndFrameIdx,m_pFrameBuffer->GetFrameCount());
      return TRUE;
   }
@@ -438,15 +439,17 @@
   CGrabberSolios   *pRadient = (CGrabberSolios*)HookDataPtr;
   if(pRadient->m_isLiveGrab == TRUE)      // Live Grab 矫.
   if(pRadient->m_isLiveGrab == TRUE)      // Live Grab 矫.
   {
      pRadient->m_nSetBufferIdx = 0;
      int nCameraIdx = pRadient->m_Param.nCameraIdx;
      LPBYTE      pBuffer = pRadient->m_pFrameBuffer->GetFrameBuferHeader(pRadient->m_nScanIndex,pRadient->m_nSetBufferIdx);
      LPBYTE pBuffer = pRadient->m_pFrameBuffer->GetFrameBuferHeader(pRadient->m_nScanIndex,pRadient->m_nSetBufferIdx);
      if(pBuffer == NULL)
      {
         pRadient->GrabScanStop();      
         g_pStatus->SetGrabEnd(pRadient->m_nScanIndex);
         g_pStatus->SetGrabEnd(nCameraIdx, pRadient->m_nScanIndex);
         g_pLog->DisplayMessage(_T("%d Over Grab Buffer Stop Grab[%d][%d] - %d"), pRadient->m_Param.nBoardIdx, pRadient->m_nScanIndex, pRadient->m_nEndFrameIdx,pRadient->m_pFrameBuffer->GetFrameCount());
         return TRUE;
      }
@@ -611,7 +614,7 @@
      /*
      MdigControl(m_MilDigitizer, M_CAMERALINK_CC1_SOURCE, M_GRAB_EXPOSURE+M_TIMER1);
      MdigControl(m_MilDigitizer, M_GRAB_EXPOSURE+M_TIMER1, M_ENABLE);
      MdigControl(m_MilDigitizer, M_GRAB_EXPOSURE_SOURCE+M_TIMER1, M_CONTINUOUS);                      // Periodic 脚龋 牢啊
      MdigControl(m_MilDigitizer, M_GRAB_EXPOSURE_SOURCE+M_TIMER1, M_CONTINUOUS);                      // Periodic 脚龋 牢啊
      MdigControl(m_MilDigitizer, M_GRAB_EXPOSURE_TIME+M_TIMER1, nExposureTimer);                        //10000ns
      MdigControl(m_MilDigitizer, M_GRAB_EXPOSURE_TIME_DELAY+M_TIMER1,  nExposureTimerDelay);                 //10000ns   
      */