From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 월, 26 12월 2022 15:04:42 +0900
Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선  - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경  - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경  - 물류 정보 읽기 처리 후 1000ms Delay 삭제  - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요)  - ReadRawFile 처리 시작 전 500ms Delay 삭제  - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정  - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewSystem/ReviewSystem/DitGlassRawClient.cpp |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp b/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp
index 7a3c5e6..2c98d09 100644
--- a/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp
+++ b/ReviewSystem/ReviewSystem/DitGlassRawClient.cpp
@@ -105,6 +105,7 @@
 	m_pCellData   = (_grmCellData*)&m_pGlassRawData[m_pGlassRawInfo->m_nCellDataPoint];
 	m_pDefectData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nDefectDataPoint];
 	m_pStackData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nStackDataPoint];
+	m_pRawMergeData = (_grmDefectData*)&m_pGlassRawData[m_pGlassRawInfo->m_nRawMergeDataPoint];
 
 	return TRUE;
 }
@@ -124,6 +125,11 @@
 	return SetCommand(grcReadBin);
 }
 
+BOOL CDitGlassRawClient::WriteReviewRawBinFile()
+{
+	return SetCommand(grcReviewWriteBIn);
+}
+
 BOOL CDitGlassRawClient::SetCommand( emGlassRawCommand nCmd )
 {
 	if(m_pGlassRawInfo == NULL) return FALSE;
@@ -132,14 +138,14 @@
 
 	int nCmdId = (m_pGlassRawInfo->m_nCommandIdxWrite+1) % COMMAND_MAXCOUNT;
 
-	if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId)//둘이 같다는것은 서큘러 버퍼가 한바퀴 돌았다는것!! [김태현 2018/11/12]
+	if(m_pGlassRawInfo->m_nCommandIdxRead == nCmdId)
 	{
-		m_pGlassRawInfo->m_nCommandIdxRead++;//가장 오래된 명령 하나를 삭제한다. [김태현 2018/11/12]
+		m_pGlassRawInfo->m_nCommandIdxRead++;
 	}
 
 	m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nCommand = (short)nCmd;
 	m_pGlassRawInfo->m_nCommandBuffer[nCmdId].strParam;
-	m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1; //-1수행전, 0실패, 1성공 [김태현 2018/11/13]
+	m_pGlassRawInfo->m_nCommandBuffer[nCmdId].nResult = -1;
 
 
 	m_nLastCommandIdx = m_pGlassRawInfo->m_nCommandIdxWrite = nCmdId;
@@ -166,6 +172,7 @@
 	if(isConnect() == FALSE) return FALSE;
 	m_pGlassRawInfo->m_ClientProcStep = APS_GlassLoading;
 	m_pGlassData->m_bStackRead = FALSE;
+	m_pGlassData->m_bRawMergeRead = FALSE;
 	return SetCommand(grcSequenceGlassLoading);
 }
 
@@ -210,7 +217,7 @@
 void CDitGlassRawClient::RemoveReviewDefects()
 {
 	int nDefectNum = m_pGlassData->m_nDefectNum;
-	int nRightDefectNum = 0;//기준점 오른쪽에 위치한 결함 갯수
+	int nRightDefectNum = 0;
 	int nDefectDeleteNum = 0;
 	for(int i=nDefectNum-1; i>=0; i--)
 	{

--
Gitblit v1.9.3