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/DlgHardwareSettingMode.cpp |   57 ++++++++++++++++++++++++++++
 ReviewSystem/ReviewSystem/ReviewInterface.h          |    4 ++
 ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h   |    8 ++++
 ReviewSystem/ReviewSystem/DlgLogo.h                  |    2 +
 ReviewSystem/ReviewSystem/ReviewInterface.cpp        |   10 +++++
 ReviewSystem/ReviewSystem/DlgLogo.cpp                |    2 +
 6 files changed, 82 insertions(+), 1 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp b/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp
index c06e299..3bb2db8 100644
--- a/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp
+++ b/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp
@@ -14,7 +14,9 @@
 DlgHardwareSettingMode::DlgHardwareSettingMode(CWnd* pParent /*=nullptr*/)
 	: CDialogEx(IDD_DLG_HARDWARE_SETTING_MODE, pParent)
 {
-
+	b_ReviewCamconnectionstatus = TRUE;
+	b_AFCCamconnectionstatus = TRUE;
+	b_AlignCamCamconnectionstatus = TRUE;
 }
 
 DlgHardwareSettingMode::~DlgHardwareSettingMode()
@@ -98,6 +100,8 @@
 
 void DlgHardwareSettingMode::OnBnClickedButtonReviewCamConnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	if (m_pDHM2P->IDHM2P_InitReviewCamera())
 	{
@@ -105,16 +109,20 @@
 		m_ctrlReviewCamDisConnect.SetBackground(RGB(10, 10, 10));
 		m_ctrlReviewCamConnect.SetBackground(RGB(10, 255, 10));
 		g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Success"));
+		b_ReviewCamconnectionstatus = TRUE;
 	}
 	else
 	{
 		g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam Connect Fail!"));
+		b_ReviewCamconnectionstatus = FALSE;
 	}
 }
 
 
 void DlgHardwareSettingMode::OnBnClickedButtonReviewCamDisconnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	m_pDHM2P->IDHM2P_DisconnectReviewCamera();
 	m_pDHM2P->IDHM2P_DeinitReviewCamera();
@@ -122,56 +130,103 @@
 	m_ctrlReviewCamConnect.SetBackground(RGB(10, 10, 10));
 	m_ctrlReviewCamDisConnect.SetBackground(RGB(200, 0, 0));
 	g_pLog->DisplayMessage(_T("[HWSettingMode] ReviewCam DisConnect Success"));
+	b_ReviewCamconnectionstatus = FALSE;
 }
 
 
 void DlgHardwareSettingMode::OnBnClickedButtonAlignCamConnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
+
+	system("netsh interface set interface name = \"Align #1\" admin = disable"
+		"&& netsh interface set interface name = \"Align #1\" admin = enable"
+		"&& netsh interface set interface name = \"Align #2\" admin = disable"
+		"&& netsh interface set interface name = \"Align #2\" admin = enable");
+	Sleep(10000);
 	if (m_pDHM2P->IDHM2P_InitAlignCamera())
 	{
 		m_ctrlAlignCamDisConnect.SetBackground(RGB(10, 10, 10));
 		m_ctrlAlignCamConnect.SetBackground(RGB(10, 255, 10));
 		g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Success"));
+		b_AlignCamCamconnectionstatus = TRUE;
 	}
 	else
 	{
 		g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera Connect Fail!"));
+		b_AlignCamCamconnectionstatus = FALSE;
 	}
 }
 
 
 void DlgHardwareSettingMode::OnBnClickedButtonAlignCamDisconnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	m_pDHM2P->IDHM2P_DeinitAlignCamera();
 	m_ctrlAlignCamConnect.SetBackground(RGB(10, 10, 10));
 	m_ctrlAlignCamDisConnect.SetBackground(RGB(200, 0, 0));
 	g_pLog->DisplayMessage(_T("[HWSettingMode] AlignCamera DisConnect Success"));
+	b_AlignCamCamconnectionstatus = FALSE;
 }
 
 
 void DlgHardwareSettingMode::OnBnClickedButtonAfmConnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	if (m_pDHM2P->IDHM2P_InitAFMControl())
 	{
 		m_ctrlAFMDisConnect.SetBackground(RGB(10, 10, 10));
 		m_ctrlAFMConnect.SetBackground(RGB(10, 255, 10));
 		g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Success"));
+		b_AFCCamconnectionstatus = TRUE;
 	}
 	else
 	{
 		g_pLog->DisplayMessage(_T("[HWSettingMode] Afm Connect Fail!"));
+		b_AFCCamconnectionstatus = FALSE;
 	}
 }
 
 
 void DlgHardwareSettingMode::OnBnClickedButtonAfmDisconnect()
 {
+	if (m_pDHM2P->IDHM2P_IsManualProcessMode() == FALSE) return;
+
 	// TODO: �뿬湲곗뿉 而⑦듃濡� �븣由� 泥섎━湲� 肄붾뱶瑜� 異붽��빀�땲�떎.
 	m_pDHM2P->IDHM2P_DeinitAFMControl();
 	m_ctrlAFMConnect.SetBackground(RGB(10, 10, 10));
 	m_ctrlAFMDisConnect.SetBackground(RGB(200, 0, 0));
 	g_pLog->DisplayMessage(_T("[HWSettingMode] Afm DisConnect Success"));
+	b_AFCCamconnectionstatus = FALSE;
+}
+
+
+void DlgHardwareSettingMode::OnCancel()
+{
+	// TODO: �뿬湲곗뿉 �듅�닔�솕�맂 肄붾뱶瑜� 異붽� 諛�/�삉�뒗 湲곕낯 �겢�옒�뒪瑜� �샇異쒗빀�땲�떎.
+	if (b_AFCCamconnectionstatus && b_AlignCamCamconnectionstatus && b_ReviewCamconnectionstatus)
+	{
+		CDialogEx::OnCancel();
+	}
+
+	else IDOK == AfxMessageBox(_T("紐⑤뱺 H/W媛� �뿰寃� �긽�깭媛� �븘�땲硫� 李쎌쓣 �떕�쓣 �닔 �뾾�뒿�땲�떎.", MB_OK | MB_ICONQUESTION));
+	return;
+}
+
+
+void DlgHardwareSettingMode::OnOK()
+{
+	// TODO: �뿬湲곗뿉 �듅�닔�솕�맂 肄붾뱶瑜� 異붽� 諛�/�삉�뒗 湲곕낯 �겢�옒�뒪瑜� �샇異쒗빀�땲�떎.
+	if (b_AFCCamconnectionstatus && b_AlignCamCamconnectionstatus && b_ReviewCamconnectionstatus)
+	{
+		CDialogEx::OnOK();
+	}
+
+	else IDOK == AfxMessageBox(_T("紐⑤뱺 H/W媛� �뿰寃� �긽�깭媛� �븘�땲硫� 李쎌쓣 �떕�쓣 �닔 �뾾�뒿�땲�떎.", MB_OK | MB_ICONQUESTION));
+	return;
 }
diff --git a/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h b/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h
index 5ba8f84..43255b6 100644
--- a/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h
+++ b/ReviewSystem/ReviewSystem/DlgHardwareSettingMode.h
@@ -20,6 +20,9 @@
 	virtual int		IDHM2P_InitAlignCamera() = 0;
 	virtual void	IDHM2P_DeinitAlignCamera() = 0;
 
+	//is manual Mode?
+	virtual BOOL	IDHM2P_IsManualProcessMode() = 0;
+
 };
 
 // DlgHardwareSettingMode ���솕 �긽�옄
@@ -62,4 +65,9 @@
 	CFontStatic m_ctrlAlignCamDisConnect;
 	CFontStatic m_ctrlAFMConnect;
 	CFontStatic m_ctrlAFMDisConnect;
+	BOOL b_ReviewCamconnectionstatus;
+	BOOL b_AFCCamconnectionstatus;
+	BOOL b_AlignCamCamconnectionstatus;
+	virtual void OnCancel();
+	virtual void OnOK();
 };
diff --git a/ReviewSystem/ReviewSystem/DlgLogo.cpp b/ReviewSystem/ReviewSystem/DlgLogo.cpp
index 0efb761..299813c 100644
--- a/ReviewSystem/ReviewSystem/DlgLogo.cpp
+++ b/ReviewSystem/ReviewSystem/DlgLogo.cpp
@@ -303,6 +303,8 @@
 
 void CDlgLogo::OnBnClickedButtonHwSettingMode()
 {
+	if (m_pDL2P->IDL2P_IsManualProcessMode() == FALSE) return;
+
 	m_pDL2P->IDL2P_OpenHWSettingTool();
 	g_pLog->DisplayMessage(_T("[ReviewProcessor] HW SettingMode Start"));
 	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
diff --git a/ReviewSystem/ReviewSystem/DlgLogo.h b/ReviewSystem/ReviewSystem/DlgLogo.h
index b141036..2673230 100644
--- a/ReviewSystem/ReviewSystem/DlgLogo.h
+++ b/ReviewSystem/ReviewSystem/DlgLogo.h
@@ -12,6 +12,8 @@
 	/*< LYW 20211112 - #3708 ADD Start >*/
 	virtual void   IDL2P_OpenHWSettingTool() = 0;
 	/*< LYW 20211112 - #3708 ADD End >*/
+	//is manual Mode?
+	virtual BOOL	IDL2P_IsManualProcessMode() = 0;
 };
 
 interface
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
index 369a290..c5a29d6 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -8624,6 +8624,11 @@
 	m_pView->ShowHWSettingMode();
 }
 
+BOOL CReviewInterface::IDL2P_IsManualProcessMode()
+{
+	return IsManualProcessMode();
+}
+
 int CReviewInterface::IDHM2P_InitReviewCamera()
 {
 	return InitReviewCamera();
@@ -8669,6 +8674,11 @@
 	DeinitAlignCamera();
 }
 
+BOOL CReviewInterface::IDHM2P_IsManualProcessMode()
+{
+	return IsManualProcessMode();
+}
+
 //181203
 BOOL CReviewInterface::IRP2P_SaveDefectMap(const CString& strPath)
 {
diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h
index 68d13a0..8323476 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.h
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -520,6 +520,7 @@
 	virtual void   IDL2P_OpenHistoryTool();
 	/*< LYW 20211112 - #3708 ADD Start >*/
 	virtual void IDL2P_OpenHWSettingTool();
+	virtual BOOL	IDL2P_IsManualProcessMode();
 	/*< LYW 20211112 - #3708 ADD End >*/
 
 	// dialog HardwareSettingMode 2 Parent
@@ -538,6 +539,9 @@
 	virtual int		IDHM2P_InitAlignCamera();
 	virtual void	IDHM2P_DeinitAlignCamera();
 
+	// is manual Mode?
+	virtual BOOL	IDHM2P_IsManualProcessMode();
+
 protected:
 	// Motor Control command
 	BOOL	Motor_ReadAddress(long nAddress, double &dValue);

--
Gitblit v1.9.3