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/ReviewInterface.cpp | 6 + ReviewSystem/ReviewSystemSetting/DlgSignal.h | 2 ReviewSystem/ReviewSystem/MainFrm.cpp | 7 + ReviewSystem/ReviewSystem/ReviewProcessor.h | 1 ReviewSystem/ReviewSystem/ReviewInterface.h | 1 ReviewSystem/ReviewSystem/MainFrm.h | 1 ReviewSystem/ReviewSystem/stdafx.h | 31 +++++++ ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp | 75 ++++++++++++++++++ ReviewSystem/ReviewSystem/ReviewSystem.vcxproj | 5 + ReviewSystem/ReviewSystemSetting/DlgSignal.cpp | 13 +++ ReviewSystem/ReviewSystemSetting/ReviewSystemSetting.rc | 9 ++ ReviewSystem/ReviewSystemSetting/resource.h | 10 +- ReviewSystem/CHReviewSetting/Sys_SignalManager.cpp | 14 +++ ReviewSystem/include/CHSignalControls/SignalControlInfo.h | 6 + 14 files changed, 172 insertions(+), 9 deletions(-) diff --git a/ReviewSystem/CHReviewSetting/Sys_SignalManager.cpp b/ReviewSystem/CHReviewSetting/Sys_SignalManager.cpp index 8278319..45e091f 100644 --- a/ReviewSystem/CHReviewSetting/Sys_SignalManager.cpp +++ b/ReviewSystem/CHReviewSetting/Sys_SignalManager.cpp @@ -38,6 +38,12 @@ strItem.Format(_T("SYS_SIGNAL_PERIOD_TIME")); macroFile.SetItem(strItem, m_SignalInfo.GetMSPeriod()); + strItem.Format(_T("SYS_SIGNAL_DEFOCUS_VALUE_MIN")); + macroFile.SetItem(strItem, m_SignalInfo.GetDefocusValueMin()); + + strItem.Format(_T("SYS_SIGNAL_DEFOCUS_VALUE_MAX")); + macroFile.SetItem(strItem, m_SignalInfo.GetDefocusValueMax()); + strItem.Format(_T("SYS_SIGNAL_LOADING_SIGNAL_DELAY")); macroFile.SetItem(strItem, m_SignalInfo.GetMSLoadingSignalDelay()); @@ -140,6 +146,14 @@ macroFile.GetItem(strItem, nData); m_SignalInfo.SetMSPeriod(nData); + strItem.Format(_T("SYS_SIGNAL_DEFOCUS_VALUE_MIN")); + macroFile.GetItem(strItem, nData); + m_SignalInfo.SetDefocusValueMin(nData); + + strItem.Format(_T("SYS_SIGNAL_DEFOCUS_VALUE_MAX")); + macroFile.GetItem(strItem, nData); + m_SignalInfo.SetDefocusValueMax(nData); + strItem.Format(_T("SYS_SIGNAL_LOADING_SIGNAL_DELAY")); macroFile.GetItem(strItem, nData); m_SignalInfo.SetMSLodingSignalDelay(nData); diff --git a/ReviewSystem/ReviewSystem/MainFrm.cpp b/ReviewSystem/ReviewSystem/MainFrm.cpp index 62cab8a..5687f0b 100644 --- a/ReviewSystem/ReviewSystem/MainFrm.cpp +++ b/ReviewSystem/ReviewSystem/MainFrm.cpp @@ -41,6 +41,8 @@ ID_INDICATOR_SCRL, }; +// �젙�쓽 + // CMainFrame �깮�꽦/�냼硫� CMainFrame::CMainFrame() @@ -67,6 +69,8 @@ { if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1; + + SetUnhandledExceptionFilter(TopLevelExceptionFilterCallBack); ModifyStyle(WS_CAPTION, NULL); @@ -940,4 +944,5 @@ return TRUE; } return FALSE; -} \ No newline at end of file +} + diff --git a/ReviewSystem/ReviewSystem/MainFrm.h b/ReviewSystem/ReviewSystem/MainFrm.h index a112ee8..7c0297a 100644 --- a/ReviewSystem/ReviewSystem/MainFrm.h +++ b/ReviewSystem/ReviewSystem/MainFrm.h @@ -19,7 +19,6 @@ #include "stdafx.h" - class CMainFrame : public CFrameWndEx, public CReviewInterface { diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp index 6b2beb7..a933e74 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp +++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp @@ -3320,6 +3320,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; diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h index 8f2d7ce..1d6e241 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.h +++ b/ReviewSystem/ReviewSystem/ReviewInterface.h @@ -249,6 +249,7 @@ virtual void IRP2P_UpdateCameraControl(int nModuleIdx, const SCameraControl *pCameraControl, const SCameraInfo* pCameraInfo); virtual const CRsRcpReviewInfo* IRP2P_Recipe_GetRsRcpReviewInfo(); virtual const CSystemInfo* IRP2P_GetReviewSysteminfo(); + virtual const CSignalControlInfo* IRP2P_GetReviewSignalinfo(); virtual CGlassResult* IRP2P_GetCurrentGlassResult(); virtual void IRP2P_DisplayMessage(const TCHAR* lpstrFormat, ...); virtual CResultServerControl* IRP2P_GetResultServerControl(); diff --git a/ReviewSystem/ReviewSystem/ReviewProcessor.h b/ReviewSystem/ReviewSystem/ReviewProcessor.h index 4de61ac..781547a 100644 --- a/ReviewSystem/ReviewSystem/ReviewProcessor.h +++ b/ReviewSystem/ReviewSystem/ReviewProcessor.h @@ -62,6 +62,7 @@ virtual const CRsRcpReviewInfo* IRP2P_Recipe_GetRsRcpReviewInfo() = 0; virtual const CSystemInfo* IRP2P_GetReviewSysteminfo() = 0; + virtual const CSignalControlInfo* IRP2P_GetReviewSignalinfo() = 0; virtual CGlassResult* IRP2P_GetCurrentGlassResult() = 0; virtual void IRP2P_DisplayMessage(const TCHAR* lpstrFormat, ...) = 0; virtual CResultServerControl* IRP2P_GetResultServerControl() = 0; 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 diff --git a/ReviewSystem/ReviewSystem/ReviewSystem.vcxproj b/ReviewSystem/ReviewSystem/ReviewSystem.vcxproj index c479f2d..0b78cfd 100644 --- a/ReviewSystem/ReviewSystem/ReviewSystem.vcxproj +++ b/ReviewSystem/ReviewSystem/ReviewSystem.vcxproj @@ -143,7 +143,7 @@ <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> - <Optimization>MaxSpeed</Optimization> + <Optimization>Disabled</Optimization> <IntrinsicFunctions>true</IntrinsicFunctions> <AdditionalIncludeDirectories>../include;../../Internal_Library/include;../../External_Library/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -185,6 +185,9 @@ <PreBuildEvent> <Command>updateDlls.bat</Command> </PreBuildEvent> + <ClCompile> + <Optimization>Disabled</Optimization> + </ClCompile> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\include\M_AutoDiagnosisManager\StaticGNUPlot.cpp" /> diff --git a/ReviewSystem/ReviewSystem/stdafx.h b/ReviewSystem/ReviewSystem/stdafx.h index adcb7cf..d482171 100644 --- a/ReviewSystem/ReviewSystem/stdafx.h +++ b/ReviewSystem/ReviewSystem/stdafx.h @@ -38,6 +38,9 @@ #include "CHReviewResult/GlassResult.h" #include "CHReviewSetting/MotorParameter.h" +#include <DbgHelp.h> +#pragma comment ( lib, "DbgHelp" ) + #include <WinNetWk.h> //#pragma comment(lib,"Mpr.lib") @@ -403,4 +406,30 @@ char strMessageString[MAX_PATH]; }; -BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName); \ No newline at end of file +BOOL KillProcess(CString ProcessName);BOOL getStateProcess(CString ProcessName); + +// �꽑�뼵 +static LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS* exceptionInfo); + +LONG CALLBACK TopLevelExceptionFilterCallBack(EXCEPTION_POINTERS * exceptionInfo) +{ + MINIDUMP_EXCEPTION_INFORMATION dmpInfo = { 0 }; + dmpInfo.ThreadId = ::GetCurrentThreadId(); // Threae ID + dmpInfo.ExceptionPointers = exceptionInfo; // Exception Info + dmpInfo.ClientPointers = FALSE; + CTime time; + CString strStamp; + + SYSTEMTIME currentTime; + ::GetLocalTime(¤tTime); + time = CTime::GetCurrentTime(); + strStamp.Format(_T("Dump\\%02d_%02d_%02d_%02d_%02d_%02d.dmp"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond()); + + HANDLE hFile = CreateFile(strStamp, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + + // �뜡�봽 �깮�꽦 + BOOL bWrite = ::MiniDumpWriteDump(::GetCurrentProcess(), ::GetCurrentProcessId(), hFile, MiniDumpNormal, &dmpInfo, NULL, NULL); + + return 0L; + +} \ No newline at end of file diff --git a/ReviewSystem/ReviewSystemSetting/DlgSignal.cpp b/ReviewSystem/ReviewSystemSetting/DlgSignal.cpp index d70aaba..4ad556a 100644 --- a/ReviewSystem/ReviewSystemSetting/DlgSignal.cpp +++ b/ReviewSystem/ReviewSystemSetting/DlgSignal.cpp @@ -25,6 +25,8 @@ , m_nSignalReviewStartDelay(0) , m_nSignalReviewEndDelay(0) , m_nSignalUnloadingDelay(0) + , m_nSignalDefocusValueMin(0) + , m_nSignalDefocusValueMax(0) { m_pDlgSignalReadData = NULL; m_pDlgSignalWriteData = NULL; @@ -95,6 +97,8 @@ DDX_Text(pDX, IDC_EDIT_SYS_SIGNAL_REVIEWSTART_DELAY, m_nSignalReviewStartDelay); DDX_Text(pDX, IDC_EDIT_SYS_SIGNAL_REVIEWEND_DELAY, m_nSignalReviewEndDelay); DDX_Text(pDX, IDC_EDIT_SYS_SIGNAL_UNLOADING_DELAY, m_nSignalUnloadingDelay); + DDX_Text(pDX, IDC_EDIT_DEFOCUSVALUE_MIN, m_nSignalDefocusValueMin); + DDX_Text(pDX, IDC_EDIT_DEFOCUSVALUE_MAX, m_nSignalDefocusValueMax); } @@ -114,6 +118,7 @@ // TODO: 여기에 추가 초기화 작업을 추가합니다. int nSignalConnectionType = -1, nSignalPort = -1, nSignalPeriodTime = -1, nTimerTime = 0, nTotalTime = 0; int nLoadingDelay = 0, nAlignStartDelay = 0, nAlignEndDelay = 0, nReviewStartDelay = 0, nReviewEndDelay = 0, nUnloadingDelay = 0; + int nDefocusValueMin = 0, nDefocusValueMax = 0; CString strTemp = _T(""), strSignalReceiveAddress = _T(""), strSignalSendAddress = _T(""); CReviewSystemSettingDlg* pDlg = (CReviewSystemSettingDlg*)AfxGetMainWnd(); @@ -127,6 +132,8 @@ // strSignalReceiveAddress = pSignalInfo->GetReadSignalAddress(0); // strSignalSendAddress = pSignalInfo->GetSendSignalAddress(0); nSignalPeriodTime = pSignalInfo->GetMSPeriod(); + nDefocusValueMin = pSignalInfo->GetDefocusValueMin(); + nDefocusValueMax = pSignalInfo->GetDefocusValueMax(); nLoadingDelay = pSignalInfo->GetMSLoadingSignalDelay(); nAlignStartDelay = pSignalInfo->GetMSAlignStartSignalDelay(); nAlignEndDelay = pSignalInfo->GetMSAlignEndSignalDelay(); @@ -180,6 +187,8 @@ m_strSendAddress = strSignalSendAddress; m_nSignalPeriod = nSignalPeriodTime; + m_nSignalDefocusValueMin = nDefocusValueMin; + m_nSignalDefocusValueMax = nDefocusValueMax; m_nSignalLodingDelay = nLoadingDelay; m_nSignalAlignStartDelay = nAlignStartDelay; m_nSignalAlignEndDelay = nAlignEndDelay; @@ -275,6 +284,8 @@ m_nSignalReviewStartDelay = 0; m_nSignalReviewEndDelay = 0; m_nSignalUnloadingDelay = 0; + m_nSignalDefocusValueMin = 0; + m_nSignalDefocusValueMax = 0; m_nTimerTime = 0; m_nTotalTime = 0; @@ -298,6 +309,8 @@ pSignalInfo->SetReadSignalAddress(m_strReceiveAddress); pSignalInfo->SetSendSignalAddress(m_strSendAddress); pSignalInfo->SetMSPeriod(m_nSignalPeriod); + pSignalInfo->SetDefocusValueMin(m_nSignalDefocusValueMin); + pSignalInfo->SetDefocusValueMax(m_nSignalDefocusValueMax); pSignalInfo->SetMSLodingSignalDelay(m_nSignalLodingDelay); pSignalInfo->SetMSAlignStartSignalDelay(m_nSignalAlignStartDelay); pSignalInfo->SetMSAlignEndSignalDelay(m_nSignalAlignEndDelay); diff --git a/ReviewSystem/ReviewSystemSetting/DlgSignal.h b/ReviewSystem/ReviewSystemSetting/DlgSignal.h index 3529a8b..e1aa373 100644 --- a/ReviewSystem/ReviewSystemSetting/DlgSignal.h +++ b/ReviewSystem/ReviewSystemSetting/DlgSignal.h @@ -65,4 +65,6 @@ int m_nSignalReviewStartDelay; int m_nSignalReviewEndDelay; int m_nSignalUnloadingDelay; + int m_nSignalDefocusValueMin; + int m_nSignalDefocusValueMax; }; diff --git a/ReviewSystem/ReviewSystemSetting/ReviewSystemSetting.rc b/ReviewSystem/ReviewSystemSetting/ReviewSystemSetting.rc index bd8a319..66cde8b 100644 --- a/ReviewSystem/ReviewSystemSetting/ReviewSystemSetting.rc +++ b/ReviewSystem/ReviewSystemSetting/ReviewSystemSetting.rc @@ -141,6 +141,10 @@ RTEXT "Unloading Signal Delay :",IDC_STATIC,178,94,93,14,SS_CENTERIMAGE EDITTEXT IDC_EDIT_SYS_SIGNAL_UNLOADING_DELAY,276,92,70,14,ES_AUTOHSCROLL LTEXT "ms",IDC_STATIC,348,95,14,12,SS_CENTERIMAGE + RTEXT "DefocusValue :",IDC_STATIC,24,111,48,14,SS_CENTERIMAGE + EDITTEXT IDC_EDIT_DEFOCUSVALUE_MIN,77,111,24,13,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_DEFOCUSVALUE_MAX,122,110,23,13,ES_AUTOHSCROLL + RTEXT "~",IDC_STATIC,107,109,8,14,SS_CENTERIMAGE END IDD_DIALOG_SYS_SETTING_SIGNAL_READ_DATA DIALOGEX 0, 0, 416, 342 @@ -746,6 +750,11 @@ 0 END +IDD_DIALOG_SYS_SETTING_SIGNAL AFX_DIALOG_LAYOUT +BEGIN + 0 +END + ///////////////////////////////////////////////////////////////////////////// // diff --git a/ReviewSystem/ReviewSystemSetting/resource.h b/ReviewSystem/ReviewSystemSetting/resource.h index 466d635..f91454f 100644 --- a/ReviewSystem/ReviewSystemSetting/resource.h +++ b/ReviewSystem/ReviewSystemSetting/resource.h @@ -1,6 +1,6 @@ //{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by ReviewSystemSetting.rc +// Microsoft Visual C++에서 생성한 포함 파일입니다. +// ReviewSystemSetting.rc에서 사용되고 있습니다. // #define IDM_ABOUTBOX 0x0010 #define IDD_ABOUTBOX 100 @@ -223,14 +223,16 @@ #define IDC_EDIT_SYS_MOTOR_START_POINT_XPOS 1089 #define IDC_EDIT_START_POINT_YPOS 1090 #define IDC_EDIT_SYS_MOTOR_START_POINT_YPOS 1090 +#define IDC_EDIT_DEFOCUSVALUE_MIN 1092 +#define IDC_EDIT_DEFOCUSVALUE_MAX 1093 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 144 +#define _APS_NEXT_RESOURCE_VALUE 145 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1092 +#define _APS_NEXT_CONTROL_VALUE 1094 #define _APS_NEXT_SYMED_VALUE 107 #endif #endif diff --git a/ReviewSystem/include/CHSignalControls/SignalControlInfo.h b/ReviewSystem/include/CHSignalControls/SignalControlInfo.h index 37efb39..1ef4c7b 100644 --- a/ReviewSystem/include/CHSignalControls/SignalControlInfo.h +++ b/ReviewSystem/include/CHSignalControls/SignalControlInfo.h @@ -122,6 +122,8 @@ int GetMSReviewStartSignalDelay() const { return m_pMsSignalDelayTime[SignalDelayIndex_ReviewStart]; } int GetMSReviewEndSignalDelay() const { return m_pMsSignalDelayTime[SignalDelayIndex_ReviewEnd]; } int GetMSUnloadingSignalDelay() const { return m_pMsSignalDelayTime[SignalDelayIndex_Unloading]; } + int GetDefocusValueMin()const { return m_nDefocusValueMin; } + int GetDefocusValueMax()const { return m_nDefocusValueMax; } BOOL GetUseContinuousReadAddress() const { return m_bUseContinuousReadAddr; } BOOL GetUseContinuousSendAddress() const { return m_bUseContinuousSendAddr; } @@ -202,6 +204,8 @@ void SetMSTotalTime(int nTime) { m_nMSTotalTime = nTime; } void SetUseContinuousReadAddress(BOOL bUse) { m_bUseContinuousReadAddr = bUse; } void SetUseContinuousSendAddress(BOOL bUse) { m_bUseContinuousSendAddr = bUse; } + void SetDefocusValueMin(int nValue) { m_nDefocusValueMin = nValue; } + void SetDefocusValueMax(int nValue) { m_nDefocusValueMax = nValue; } void SetReadSignalAddressCount(int nCnt) { m_vecReadSigAddr.resize(nCnt); } @@ -226,6 +230,8 @@ int m_nMSTimerTime; int m_nMSTotalTime; int m_pMsSignalDelayTime[SignalDelayIndex_Count]; + int m_nDefocusValueMin; + int m_nDefocusValueMax; BOOL m_bUseContinuousReadAddr; BOOL m_bUseContinuousSendAddr; -- Gitblit v1.9.3