From d0d88aa27ad3221c64c76ced47371b114420cf91 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 월, 15 11월 2021 10:06:01 +0900
Subject: [PATCH] Ongoing90 #3708 CF AOI Review 전설비 AFM 세팅 모드 기능 추가

---
 ReviewSystem/ReviewSystem/ReviewInterface.cpp |  237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 226 insertions(+), 11 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
index 9c6774d..c5a29d6 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -124,6 +124,17 @@
 	m_bIsOffSetOn = 0;
 	m_bIsSimulation = 0;
 
+	m_bFirstReviewLeft = 0;
+	m_bFirstReviewRight = 0;
+
+	/*< LYW 20211014 - #3671 ADD Start >*/
+	m_daccumulate = 0;
+	/*< LYW 20211014 - #3671 ADD End >*/
+	/*< LYW 20211109 - #3662 ADD Start >*/
+	m_nReview00ImageContrast = 5;
+	m_nReview01ImageContrast = 5;
+	/*< LYW 20211109 - #3662 ADD End >*/
+
 	// cs init
 	InitializeCriticalSection(&m_csReviewResult);
 	InitializeCriticalSection(&m_csReviewSignal);
@@ -148,8 +159,8 @@
 	//�떆�옉�븷�븣 �떎 吏��슦怨� �떎�떆 蹂듭궗媛� �븘�슂�븷吏�
 	//std::experimental::filesystem::remove_all(_REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT);
 	//std::experimental::filesystem::remove_all(_REVIEW_RECIPE_BACKUP_PATH_CPJT);
-	ISP2P_CopyFolder(_REVIEW_SERVER_CONFIG_PATH_, _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT);
-	ISP2P_CopyFolder(_REVIEW_RECIPE_PATH_, _REVIEW_RECIPE_BACKUP_PATH_CPJT);
+	//ISP2P_CopyFolder(_REVIEW_SERVER_CONFIG_PATH_, _REVIEW_SERVER_SYSTEM_SETTING_BACKUP_PATH_CPJT);
+	//ISP2P_CopyFolder(_REVIEW_RECIPE_PATH_, _REVIEW_RECIPE_BACKUP_PATH_CPJT);
 	//LYW_#3344_CF AOI Review Config File 諛깆뾽 湲곕뒫 媛쒖꽑 ADD END
 	SetProgramVersion();
 
@@ -1172,6 +1183,10 @@
 			BOOL bConnection = pCameraControlReview->GetConnected();
 			pConnectionStatus->m_vecReviewCameraStatus.push_back(bConnection);
 
+			/*< LYW 20211112 - #3708 ADD Start >*/
+			g_pLog->DisplayMessage(_T("[ReviewCamera] %d is connected"), nModuleIndex);
+			/*< LYW 20211112 - #3708 ADD End >*/
+
 			nModuleIndex++; // module status++
 		} // for HeaderIdx
 	} // for nGantryIdx
@@ -1269,7 +1284,7 @@
 		// process status observer
 		AddObserverUpdateProcessStatus(static_cast<IUpdateProcessStatus*>(m_pAlignCameraControl));
 
-		m_pAlignCameraControl->Camera_Control(CameraControlLive);		
+		/*m_pAlignCameraControl->Camera_Control(CameraControlLive);*/	  // 210805 Align Camera Sequence 蹂�寃�
 	}
 	else
 	{
@@ -2874,24 +2889,36 @@
 
 			double dAccdata = measureResut.dAccuracy;
 			double dRbtdata = measureResut.dRepeatability;
+			double dDiagnosisHeight[10];
+
+			for (int i = 0; i < 10; i++)
+			{
+				dDiagnosisHeight[i] = measureResut.dDiagnosisHeight[i];
+			}
+
 			if (nModuleIndex == 0)
 			{
 				m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetACC(dAccdata);
 				m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetRTB(dRbtdata);
+				for (int i = 0; i < 10; i++)
+				{
+					m_pDiagnosisManager->GetDiagnosisResult_Wsi(0)->SetDiagnosisHeight(dDiagnosisHeight[i], i);
+				}
 				m_vecWSIControl[0]->SendWsiAfmSafePosMove();
 			}
 			else if (nModuleIndex == 1)
 			{
 				m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetACC(dAccdata);
 				m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetRTB(dRbtdata);
+				for (int i = 0; i < 10; i++)
+				{
+					m_pDiagnosisManager->GetDiagnosisResult_Wsi(1)->SetDiagnosisHeight(dDiagnosisHeight[i], i);
+				}
 				m_vecWSIControl[1]->SendWsiAfmSafePosMove();
 			}
 		
 
 			m_pDlgDiagnosis->m_pDlgWsi->UpdateWSIResult(nModuleIndex,dAccdata, dAccdata, dRbtdata, dRbtdata);
-			
-			
-			
 
 			m_pDlgDiagnosis->m_pDiagnosisManager->setWSIVLSIEnd(true);
 		}
@@ -3100,6 +3127,16 @@
 	return AlignLight_GetLightLevel(nCameraIndex, nValue);
 }
 
+int CReviewInterface::IACC2P_GetAccumaulate()
+{
+	return m_daccumulate;
+}
+
+void CReviewInterface::IACC2P_SetAccumaulate(int dValue)
+{
+	m_daccumulate = dValue;
+}
+
 BOOL CReviewInterface::IRCC2P_GetCurrentFrame(int nModuleIndex, int nCameraIndex, int nFrameWidth, int nFrameHeight, int nFrameChannels, CCHImageData* pImageData)
 {
 	if (m_pVirtualGlassMap==NULL) return FALSE;
@@ -3305,6 +3342,12 @@
 	return m_pDoc->System_GetSystemInfo();
 }
 
+const CSignalControlInfo* CReviewInterface::IRP2P_GetReviewSignalinfo()
+{
+	if (m_pDoc == NULL) return NULL;
+	return m_pDoc->System_GetSignalInfo();
+}
+
 CGlassResult* CReviewInterface::IRP2P_GetCurrentGlassResult()
 {
 	if (m_pDoc==NULL) return NULL;
@@ -3365,6 +3408,46 @@
 CRecipeManager* CReviewInterface::IRP2P_GetEdgeRecipeManager()
 {
 	return m_pEdgeRecipeManager;
+}
+
+BOOL CReviewInterface::IRP2P_GetFirstReviewLeft()
+{
+	return m_bFirstReviewLeft;
+}
+
+BOOL CReviewInterface::IRP2P_GetFirstReviewRight()
+{
+	return m_bFirstReviewRight;
+}
+
+void CReviewInterface::IRP2P_SetFirstReviewLeft(BOOL b_Check)
+{
+	m_bFirstReviewLeft = b_Check;
+}
+
+void CReviewInterface::IRP2P_SetFirstReviewRight(BOOL b_Check)
+{
+	m_bFirstReviewRight = b_Check;
+}
+
+BOOL CReviewInterface::IRP2P_GetReview00ImageContrast()
+{
+	return m_nReview00ImageContrast;
+}
+
+BOOL CReviewInterface::IRP2P_GetReview01ImageContrast()
+{
+	return m_nReview01ImageContrast;
+}
+
+void CReviewInterface::IRP2P_SetReview00ImageContrast(int n_Value)
+{
+	m_nReview00ImageContrast = n_Value;
+}
+
+void CReviewInterface::IRP2P_SetReview01ImageContrast(int n_Value)
+{
+	m_nReview01ImageContrast = n_Value;
 }
 
 
@@ -3506,6 +3589,16 @@
 
 	return m_pMotorControl->IsGantryMotionEnd(nModuleIdx);
 
+}
+
+BOOL CReviewInterface::IDP2P_CheckManualMode()
+{
+	if (IsManualProcessMode() == TRUE)
+	{
+		return TRUE;
+	}
+	
+	return FALSE;
 }
 
 int CReviewInterface::IDP2P_GetSelectedModuleIndex()
@@ -3776,12 +3869,15 @@
 	if (m_SequenceProcessor == NULL) return;
 	m_SequenceProcessor->SetWsiType(9);
 
-	if (!m_SequenceProcessor->WSIAllReadySignal(1))
+	if (nModuleIdx == 0)
 	{
-		g_pLog->DisplayMessage(_T("[WSI] Send Ready Signal to All WIS Fail"));
+		if (!m_SequenceProcessor->WSIAllReadySignal(1))
+		{
+			g_pLog->DisplayMessage(_T("[WSI] Send Ready Signal to All WIS Fail"));
+			return;
+		}
 	}
-	else
-	{
+
 		SetCurrentWsiMode(WsiMeasureType_VLSI);
 
 		CWsiControl* pWsiControl = ISP2P_GetWSIControl(nModuleIdx);
@@ -3795,7 +3891,6 @@
 
 		pWsiControl->SetWsiStart(1, vectorPosX, vectorPosY, 0);
 
-	}
 }
 
 void CReviewInterface::IDP2P_WsiMotorMotionEnd(int nModuleIdx, double dPosX, double dPosY)
@@ -5719,6 +5814,12 @@
 		pGlassResult->m_AlignRecipe.dMatchingRate		= pRsRcpAlignInfo->m_dMatchingRate;
 		pGlassResult->m_AlignRecipe.strFirstImageFile	= pRsRcpAlignInfo->m_strFirstImageFile;
 		pGlassResult->m_AlignRecipe.strSecondImageFile	= pRsRcpAlignInfo->m_strSecondImageFile;
+		/*< LYW 20211012 - #3671 ADD Start >*/
+		pGlassResult->m_AlignRecipe.strFirstAssistantImageFile = pRsRcpAlignInfo->m_strFirstAssistantImageFile;
+		pGlassResult->m_AlignRecipe.strSecondAssistantImageFile = pRsRcpAlignInfo->m_strSecondAssistantImageFile;
+		pGlassResult->m_AlignRecipe.strMatchingPixelStandard = pRsRcpAlignInfo->m_strMatchingPixelStandard;
+		pGlassResult->m_AlignRecipe.strMatchingAlarmCondition = pRsRcpAlignInfo->m_strMatchingAlarmCondition;
+		/*< LYW 20211012 - #3671 ADD End >*/
 		pGlassResult->m_AlignRecipe.strTotalPitchImageFile = pRsRcpAlignInfo->m_strTotalPitchImageFile;
 
 		// edge find param
@@ -6480,6 +6581,7 @@
 
 		
 		m_pDlgDiagnosis->ShowWindow(SW_SHOW);
+		return;
 		/*
 		if (m_pSignalControl)
 		{
@@ -6497,6 +6599,14 @@
 	{
 		g_pLog->DisplayMessage(_T("Machine Mode is not Manual or Review Mode!"));
 		return;
+	}
+
+	else
+	{
+		//#3584 210923 LYW CF AOI Review �떆裕щ젅�씠�뀡 湲곕뒫 �젙�긽�솕 ADD START
+		m_pSequenceProcessor->SetSimulationMode(TRUE);
+		g_pLog->DisplayMessage(_T("Set User Command = %d"),nCommand);
+		//#3584 210923 LYW CF AOI Review �떆裕щ젅�씠�뀡 湲곕뒫 �젙�긽�솕 ADD END
 	}
 
 	m_pSequenceProcessor->RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, nCommand);
@@ -8156,6 +8266,26 @@
 	return m_pDoc->Etc_GetTransferData();
 }
 
+BOOL CReviewInterface::ISP2P_GetReview00ImageContrast()
+{
+	return m_nReview00ImageContrast;
+}
+
+BOOL CReviewInterface::ISP2P_GetReview01ImageContrast()
+{
+	return m_nReview01ImageContrast;
+}
+
+void CReviewInterface::ISP2P_SetReview00ImageContrast(int n_Value)
+{
+	m_nReview00ImageContrast = n_Value;
+}
+
+void CReviewInterface::ISP2P_SetReview01ImageContrast(int n_Value)
+{
+	m_nReview01ImageContrast = n_Value;
+}
+
 SDefectFilter* CReviewInterface::ISP2P_GetDefectFilter()
 {
 	if (m_pDoc==NULL) return NULL;
@@ -8357,6 +8487,26 @@
 	return m_pDlgHistoryTool;
 }
 
+BOOL CReviewInterface::ISP2P_GetFirstReviewLeft()
+{
+	return m_bFirstReviewLeft;
+}
+
+BOOL CReviewInterface::ISP2P_GetFirstReviewRight()
+{
+	return m_bFirstReviewRight;
+}
+
+void CReviewInterface::ISP2P_SetFirstReviewLeft(BOOL b_Check)
+{
+	m_bFirstReviewLeft = b_Check;
+}
+
+void CReviewInterface::ISP2P_SetFirstReviewRight(BOOL b_Check)
+{
+	m_bFirstReviewRight = b_Check;
+}
+
 void CReviewInterface::ILCC2P_DisplayMessage( int nIndex, const TCHAR* lpstrFormat, ... )
 {
 
@@ -8467,6 +8617,66 @@
 void CReviewInterface::IDL2P_OpenHistoryTool()
 {
 	m_pView->ShowHistoryTool();
+}
+
+void CReviewInterface::IDL2P_OpenHWSettingTool()
+{
+	m_pView->ShowHWSettingMode();
+}
+
+BOOL CReviewInterface::IDL2P_IsManualProcessMode()
+{
+	return IsManualProcessMode();
+}
+
+int CReviewInterface::IDHM2P_InitReviewCamera()
+{
+	return InitReviewCamera();
+}
+
+void CReviewInterface::IDHM2P_DeinitReviewCamera()
+{
+	DeinitReviewCamera();
+}
+
+int CReviewInterface::IDHM2P_ConnectReviewCamera()
+{
+	return ConnectReviewCamera();
+}
+
+void CReviewInterface::IDHM2P_DisconnectReviewCamera()
+{
+	DisconnectReviewCamera();
+}
+
+void CReviewInterface::IDHM2P_ClearCameraControlObserverVector()
+{
+	ClearCameraControlObserverVector();
+}
+
+int CReviewInterface::IDHM2P_InitAFMControl()
+{
+	return InitAFMControl();
+}
+
+void CReviewInterface::IDHM2P_DeinitAFMControl()
+{
+	DeinitAFMControl();
+}
+
+int CReviewInterface::IDHM2P_InitAlignCamera()
+{
+	return InitAlignCamera();
+}
+
+void CReviewInterface::IDHM2P_DeinitAlignCamera()
+{
+	DeinitAlignCamera();
+}
+
+BOOL CReviewInterface::IDHM2P_IsManualProcessMode()
+{
+	return IsManualProcessMode();
 }
 
 //181203
@@ -8857,6 +9067,11 @@
 	SetCurrentWsiMode(nMode);
 }
 
+void CReviewInterface::ISP2P_InitAlignCamera()
+{
+	InitAlignCamera();
+}
+
 int CReviewInterface::IWC2P_GetWsiType()
 {
 	return GetCurrentWsiMode();

--
Gitblit v1.9.3