From 0c66940a8e2cf64c9890519901f433b3668216b6 Mon Sep 17 00:00:00 2001
From: KEJ <kimeungju@diteam.co.kr>
Date: 수, 26 6월 2024 15:13:18 +0900
Subject: [PATCH] Ongoing80 #4942 CF AOI Review Bin File Loading 실패 개선  1. GlassRawMessenger 동기화  2. BIN파일 FindFile 제거(RawMessenger, Review 공통)  3. Unloading 시 BIN파일 제거

---
 ReviewSystem/ReviewSystem/DitGlassRawStruct.h |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/DitGlassRawStruct.h b/ReviewSystem/ReviewSystem/DitGlassRawStruct.h
index 5a336e2..bb93482 100644
--- a/ReviewSystem/ReviewSystem/DitGlassRawStruct.h
+++ b/ReviewSystem/ReviewSystem/DitGlassRawStruct.h
@@ -9,6 +9,7 @@
 #define RAWMESSENGER_MAXCAMNUM 30
 #define RAWMESSENGER_MAXSCANNUM 20
 #define RAWMESSENGER_MAXHLINUM 8
+#define RAW_CODE_MAX 10
 
 #define MAX_ZONE_NUM 16
 
@@ -26,6 +27,16 @@
 		RPT_AOICustom = 1000,
 	};
 };
+
+/* < KJG 20240620 - #4942 ADD Start >*/
+enum emClientResult
+{
+	APS_RES_None = 0,
+	APS_RES_BinarySuccess,
+	APS_RES_BinaryFail
+};
+/* < KJG 20240620 - #4942 ADD End >*/
+
 enum emAOIProcStep
 {
 	APS_None = 0,
@@ -116,6 +127,9 @@
 	int			m_nDefectNumTypeMD;
 	int			m_nDefectNumTypeCD;
 	int			m_nDefectNumTypeMC;
+	/* <LJC 20220422 : #3957 ADD Start> */
+	int			m_nDefectCode[RAW_CODE_MAX];
+	/* <LJC 20220422 : #3957 ADD End> */
 
 	int			m_nDefectNumJudgeOKWhite;
 	int			m_nDefectNumJudgeOKBlack;
@@ -125,6 +139,7 @@
 	int			m_nDefectNumJudgeRV;
 	int			m_nDefectNumJudgeTR;
 	int			m_nDefectNumJudgePR;
+	int			m_nDefectNumJudgePT; /* < KJG 20231124 - #4627 ADD >*/ 
 	/*< LHS 20211029 - #3783 MOD Start >*/
 	int			m_nDefectNumJudgeLine;
 	/*< LHS 20211029 - #3783 MOD End >*/
@@ -218,6 +233,10 @@
 	/* < KJG 20220225 - #3850 ADD Start >*/ 
 	char m_strRawMergeStepID[32];
 	/* < KJG 20220225 - #3850 ADD End >*/
+
+	/* < KMH 20220614 : #3957 ADD Start > */
+	char m_strRawDefectCode[RAW_CODE_MAX][5];	// 4글자만 표기
+	/* < KMH 20220614 : #3957 ADD End > */
 };
 struct _grmBlockData
 {
@@ -274,6 +293,9 @@
 	/* <KYH 211129 : #3796 ADD Start> */
 	int			m_nDefectNumJudgeND;
 	/* <KYH 211129 : #3796 ADD End> */
+	/* <LJC 20220422 : #3957 ADD Start> */
+	int			m_nDefectCode[RAW_CODE_MAX];
+	/* <LJC 20220422 : #3957 ADD End> */
 	//DUMY DATA
 	int			Dumy_int[9];
 
@@ -327,6 +349,7 @@
 	int			m_nDefectNumJudgeRV;
 	int			m_nDefectNumJudgeTR;
 	int			m_nDefectNumJudgePR;
+	int			m_nDefectNumJudgePT; /* < KJG 20231124 - #4627 ADD >*/
 	/*< LHS 20211029 - #3783 MOD Start >*/
 	int			m_nDefectNumJudgeLine;
 	/*< LHS 20211029 - #3783 MOD End >*/
@@ -412,7 +435,11 @@
 	int				m_nPixelConv;				// pixel 단위 좌표
 	int				m_nPixelScan;				// pixel 단위 좌표
 
-	short							m_nPixelSize;				// 결함크기		---------------------------------PS
+	/* < KMH 20220707 : #4230 MOD Start > */
+	// 범위 벗어나서 음수로 표기되면 D_Col Fail
+	//short							m_nPixelSize;				// 결함크기		---------------------------------PS
+	int					m_nPixelSize;				// 결함크기		---------------------------------PS
+	/* < KMH 20220707 : #4230 MOD End > */
 	short/*SERVER_DefectType*/		m_DefectType;				// 결함 타입	---------------------------------DT
 	short/*SERVER_DefectSubType*/	m_DefectSubType;			// 결함의 판정상태.
 	short/*SERVER_DefectBDType*/	m_DefectBDType;				// 결함 타입 - Bright, Dark, Both
@@ -472,6 +499,7 @@
 	int				m_nUMCellY;					// 셀 원점 기준 y 좌표
 	short			m_nModelIdx;				// 몇 번째 모델인가?
 	short			m_nCellIdx;					// 몇번째 셀인가?
+	char			m_strCellName[32];			// 셀 이름							/* < KMH 20220609 : #4183 ADD  > */
 	short			m_nCellGate;				// 셀별 Gate라인(얼라인 보정 전)
 	short			m_nCellData;				// 셀별 Data라인(얼라인 보정 전)
 	short			m_nCellGateAlign;			// 셀별 Gate라인(얼라인 보정 후)
@@ -491,7 +519,10 @@
 	short			m_nStackStepCount;			// Stack 수
 	short			m_nStackColorIdx;			// Color를 선택하는 인덱스.
 	//CString			m_strStackStep[CFDEFECT_STACKCOUNT];			// Stack Step.
-	char			m_strStackFirst[60];			// Stack Step. //201221 CJH - 최대 사이즈 60bytes
+/* < KMH 20220712 : #4230 MOD Start > */
+	//	char			m_strStackFirst[60];			// Stack Step. //201221 CJH - 최대 사이즈 60bytes
+	char			m_strStackFirst[400];			// Stack Step. // 400 bytes 확장요청 : SDC 채승석P
+/* < KMH 20220712 : #4230 MOD End > */
 	char			m_strUnitID[16];				// 유닛아이디
 
 	int				m_ClassificationType;				// enum ClassificationType			{ ClassType_None= 0, ClassType_PI_Over= 1, ClassType_PI_Under= 2, ClassType_TFE_Circle= 3, ClassType_Bubble, ClassType_Scratch, ClassType_Particle}; Classification Type, PI나 TFE등 추가 분류  알고리즘 적용 결과.
@@ -617,6 +648,8 @@
 	size_t m_nGlassLoadingCount;
 	emAOIProcStep m_ClientProcStep; //AOI, Review가 보낸 명령
 	emAOIProcStep m_ServerProcStep; //GlassRaw Messenger(Server)가 처리 완료 한 명령
+	// m_ClientResultStep : Binary File 생성 감지하기 위한 신호로 사용
+	emClientResult m_ClientResultStep;  /* < KJG 20240620 - #4942 ADD Start >*/
 };
 
 class CgrmGlassRawData

--
Gitblit v1.9.3