From bd13fa3f9396f1f681759f4623c55d5f91d74a9c Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 목, 29 7월 2021 11:42:19 +0900
Subject: [PATCH] Ongoing90 #3524 CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선

---
 ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp
index 74cbfd8..3c4fe43 100644
--- a/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp
@@ -5,6 +5,7 @@
 #include "CameraControlReview.h"
 #include "CHImageControls/CHImageProcess.h"
 #include "CHMotorControls/MotorControl.h"
+#include "CHSignalControls/SignalControl.h"
 
 #include "CHEdgeTriangle/EdgeTriangle.h"
 #include "CHEdgeTriangle/RecipeManager.h"
@@ -359,7 +360,6 @@
 	}
 
 	LeaveCriticalSection(&m_csUserCriticalSection);
-.
 	m_pRP2P->IRP2P_UpdateReviewResult(nModuleIndex, pGlassResult);
 	return;
 
@@ -1224,15 +1224,33 @@
 
 		  if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft())
 		  {
+			  const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			  int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			  int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			  m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
 			  m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
 			  m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
+
+			  if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			  {
+				  m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			  }
 		  }
 		  else if(pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight())
 		  {
+			  const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			  int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			  int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			  m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
 			  m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
 			  m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
+
+			  if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			  {
+				  m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			  }
 		  }
 	  }
 	}
@@ -1256,15 +1274,34 @@
 
 		if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft())
 		{
+			const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
 			m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
 			m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
+			
+			if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			{
+				m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			}
+			
 		}
 		else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight())
 		{
+			const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
 			m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
 			m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
+
+			if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			{
+				m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			}
 
 		}
 	}
@@ -1371,15 +1408,33 @@
 
 				if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft())
 				{
+					const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+					int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+					int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 					m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
 					m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
 					m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
+
+					if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+					{
+						m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+					}
 				}
 				else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight())
 				{
+					const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+					int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+					int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 					m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
 					m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
 					m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
+
+					if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+					{
+						m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+					}
 
 				}
 
@@ -1424,16 +1479,34 @@
 
 		if (pReviewResult->nModuleIdx == 0 && m_pRP2P->IRP2P_GetFirstReviewLeft())
 		{
+			const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
 			m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
 			m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
+
+			if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			{
+				m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			}
 		}
 		else if (pReviewResult->nModuleIdx == 1 && m_pRP2P->IRP2P_GetFirstReviewRight())
 		{
+			const CSignalControlInfo* pSignalInfo = m_pRP2P->IRP2P_GetReviewSignalinfo();
+			int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
+			int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
+
 			m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
 			m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
 			m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
 
+			if (dFocusValue < nDefocusValueMin && dFocusValue > nDefocusValueMax)
+			{
+				m_pRP2P->IRP2P_GetSequenceProcessor()->SendSignalToSignalControl(0, 3, 1000);
+			}
+
 		}
 	}
 	//#3524_210723_LYW_CF AOI Review 디포커스 알람 추가 및 FDC 보고 방식 개선 ADD End

--
Gitblit v1.9.3