From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 목, 22 12월 2022 12:31:43 +0900
Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합)

---
 ReviewSystem/ReviewSystem/DlgHardwareSettingMode.cpp |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 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;
 }

--
Gitblit v1.9.3