From 1e751a5eb3c23d932b5de94456b5a8741f28c7cc Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期六, 16 八月 2025 17:37:49 +0800
Subject: [PATCH] 1. 修复离线测试设置错误的扫描个数,应该设置的是需要扫描的个数(非相机个数)
---
EdgeInspector_App/Grabber/SoliosControl.cpp | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/EdgeInspector_App/Grabber/SoliosControl.cpp b/EdgeInspector_App/Grabber/SoliosControl.cpp
index e560cad..5a4f9dc 100644
--- a/EdgeInspector_App/Grabber/SoliosControl.cpp
+++ b/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
*/
--
Gitblit v1.9.3