From ea996431950e6ecff451bd40d1228f51d077475c Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 목, 28 4월 2022 09:22:18 +0900 Subject: [PATCH] Ongoing100 #4086 CF AOI Review FDC SW Version 추가 요청 --- ReviewSystem/ReviewSystem/ReviewInterface.cpp | 553 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 510 insertions(+), 43 deletions(-) diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.cpp b/ReviewSystem/ReviewSystem/ReviewInterface.cpp index ee3f5e5..73bc99f 100644 --- a/ReviewSystem/ReviewSystem/ReviewInterface.cpp +++ b/ReviewSystem/ReviewSystem/ReviewInterface.cpp @@ -67,6 +67,8 @@ #include "akAOISharedSystem.h" #include "DlgModuleInfo.h" +#include <Psapi.h> + using namespace CHReviewResult; using namespace CHImageControls; @@ -111,6 +113,14 @@ // single variable m_strProgramVersion = _T(""); // program version + /*< LYW 20220415 - #4086 ADD Start >*/ + m_nFDCGRMSWVersion = 20220101; + m_nFDCFTPUploaderSWVersion = 20220101; + m_nFDCSyncSWVersion = 20220101; + m_nFDCReviewSWVersion = 20220101; + m_nFDCWSISWVersion00 = 20220101; + m_nFDCWSISWVersion01 = 20220101; + /*< LYW 20220415 - #4086 ADD End >*/ m_ProcessTimer.End(); // process timer // multi variable @@ -123,6 +133,17 @@ m_nCurrentWsiMode = 0; 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); @@ -141,6 +162,8 @@ { if (m_pDoc==NULL) return FALSE; + Start3rdPartyProgram(); + CreateDirectory(_REVIEW_SERVER_BASE_PATH_, NULL); CreateDirectory(_REVIEW_SERVER_LOG_PATH_, NULL); CreateDirectory(_REVIEW_SERVER_CONFIG_PATH_, NULL); @@ -148,10 +171,10 @@ //�떆�옉�븷�븣 �떎 吏��슦怨� �떎�떆 蹂듭궗媛� �븘�슂�븷吏� //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(); + SetReviewProgramVersion(); // init review data if (m_pDoc->InitReviewData()==FALSE) @@ -176,6 +199,10 @@ { m_pView->CreateDialogs(pSystemInfo->m_nLineType, pSystemInfo->m_nMachineType, pSystemInfo->m_bUseVisionAlign); } + + /*< LYW 20220415 - #4086 ADD Start >*/ + _beginthread(threadSet3rdPartyProgramVersion, NULL, this); + /*< LYW 20220415 - #4086 ADD End >*/ // system type log : SW Version 異붽� g_pLog->DisplayMessage(_T("Starting ReviewSystem Program! (%s)"), m_strProgramVersion); @@ -359,20 +386,24 @@ { TRACE(_T("[A2E]DeinitReviewInterface �떆�옉\n")); - if (m_pView) - { - m_pView->DeleteDialogs(); - } - - ClearAllObserverVector(); - g_pLog->DisplayMessage(_T("Clear all Observer Vectors")); - ::Sleep(400); - m_ProcessTimer.Start(); DisconnectReviewCamera(); DeinitReviewCamera(); m_ProcessTimer.End(); + + Terminate3rdPartyProgram(); + + if (m_pView) + { + m_pView->DeleteDialogs(); + } g_pLog->DisplayMessage(_T("ReviewCamera Deinit Time : %f ms"), m_ProcessTimer.GetDurationMilliSecond()); + + g_pLog->DisplayMessage(_T("Program exit by User!")); + + ClearAllObserverVector(); + g_pLog->DisplayMessage(_T("Clear all Observer Vectors")); + ::Sleep(400); m_ProcessTimer.Start(); DeinitAlignCamera(); @@ -465,8 +496,6 @@ DeinitSharedImage(); g_pLog->DisplayMessage(_T("Deinit Shared Image")); - - DeinitTotalPitchMeasure(); g_pLog->DisplayMessage(_T("Deinit TotalPitch Measure")); @@ -552,32 +581,196 @@ AFM_SetAFMZoomLevel(0, 0); } - -void CReviewInterface::SetProgramVersion() +/*< LYW 20220415 - #4086 ADD Start >*/ +void CReviewInterface::threadSet3rdPartyProgramVersion(void* pArg) { - BOOL bReturn; + CReviewInterface* pThis = (CReviewInterface*)pArg; + //LYW0412 + BOOL bReturn, bRetFTPUploader = FALSE, bRetGRM = FALSE, bRetSync = FALSE; CFileFind finder; CTime timeLastWrite; TCHAR currentPath[MAX_PATH]; + DWORD dwPid; + HWND hWnd; + HANDLE hHandle; + CString strTemp; - ::GetModuleFileName( AfxGetInstanceHandle(), currentPath, MAX_PATH); - - bReturn = finder.FindFile(currentPath); - - while(bReturn) + while ((bRetFTPUploader&bRetGRM&bRetSync) != TRUE) { - bReturn = finder.FindNextFile(); + bReturn = FALSE; - if(finder.IsDots()) continue; - if(finder.IsDirectory()) continue; + //FTPUploader S/W Version Start + if (bRetFTPUploader == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("FTPUploader")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); - finder.GetLastWriteTime(timeLastWrite); - m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"), - timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute()); + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCFTPUploaderSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCFTPUploaderSWVersion = %d "), pThis->m_nFDCFTPUploaderSWVersion); + bRetFTPUploader = TRUE; + } + //FTPUploader S/W Version End + + bReturn = FALSE; + + //Dit Glass Raw Messenger S/W Version Start + if (bRetGRM == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("Dit Glass Raw Messenger")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCGRMSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCGRMSWVersion = %d "), pThis->m_nFDCGRMSWVersion); + bRetGRM = TRUE; + } + //Dit Glass Raw Messenger S/W Version End + + bReturn = FALSE; + + //Dit Shared Memory Sync Client S/W Version Start + if (bRetSync == FALSE) + { + dwPid = 0; + hWnd = ::FindWindow(NULL, _T("Dit Shared Memory Sync Client")); + GetWindowThreadProcessId(hWnd, &dwPid); + hHandle = OpenProcess(MAXIMUM_ALLOWED, FALSE, dwPid); + ZeroMemory(currentPath, MAX_PATH); + GetModuleFileNameEx(hHandle, NULL, currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + } + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + pThis->m_nFDCSyncSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCSyncSWVersion = %d "), pThis->m_nFDCSyncSWVersion); + bRetSync = TRUE; + } + //Dit Shared Memory Sync Client S/W Version End } finder.Close(); } + +void CReviewInterface::SetReviewProgramVersion() +{ + //LYW0412 + BOOL bReturn; + CFileFind finder; + CTime timeLastWrite; + TCHAR currentPath[MAX_PATH]; + CString strTemp; + + //Review S/W Version Start + ::GetModuleFileName(AfxGetInstanceHandle(), currentPath, MAX_PATH); + + bReturn = finder.FindFile(currentPath); + + while (bReturn) + { + bReturn = finder.FindNextFile(); + + if (finder.IsDots()) continue; + if (finder.IsDirectory()) continue; + + finder.GetLastWriteTime(timeLastWrite); + m_strProgramVersion.Format(_T("Build[ %04d.%02d.%02d %02d:%02d ]"), + timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay(), timeLastWrite.GetHour(), timeLastWrite.GetMinute()); + strTemp.Format(_T("%04d%02d%02d"), timeLastWrite.GetYear(), timeLastWrite.GetMonth(), timeLastWrite.GetDay()); + m_nFDCReviewSWVersion = atoi(strTemp); + g_pLog->DisplayMessage(_T("FDCReviewSWVersion = %d "), m_nFDCReviewSWVersion); + } + //Review S/W Version End +} + +/*< LYW 20220426 - #4086 ADD Start >*/ +void CReviewInterface::Start3rdPartyProgram() +{ +// if(StartWindowIDProgram(_T("FTPUploader"), _T("D:\\DIT_3rdParty\\FTPUpload\\FTPUploader.exe"))) +// g_pLog->DisplayMessage(_T("FDCFTPUploader Start Success")); +// else g_pLog->DisplayMessage(_T("FDCFTPUploader Start Fail")); + + if (StartWindowIDProgram(_T("Dit Glass Raw Messenger"), _T("D:\\DIT_3rdParty\\GlassRawMessenger\\DitGlassRawMessenger_x64.exe"))) + g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Success")); + else g_pLog->DisplayMessage(_T("DitGlassRawMessenger Start Fail")); +} + +int CReviewInterface::StartWindowIDProgram(CString WindowID, CString ProgramPath) +{ + HWND hWnd = ::FindWindow(NULL, WindowID); + if (hWnd == NULL) + { + if(ShellExecute(hWnd, NULL, ProgramPath, NULL, NULL, SW_SHOWMINIMIZED)) + return TRUE; + else return FALSE; + } + return TRUE; +} + +void CReviewInterface::Terminate3rdPartyProgram() +{ + /*TerminateWindowIDProgram(_T("FTPUploader"));*/ + TerminateWindowIDProgram(_T("Dit Glass Raw Messenger")); + TerminateWindowIDProgram(_T("gnuplot")); + KillProcess("wgnuplot.exe"); +} + +void CReviewInterface::TerminateWindowIDProgram(CString WindowID) +{ + HWND hWnd = ::FindWindow(NULL, WindowID); + if (hWnd != NULL) + { + DWORD ProcessId; + GetWindowThreadProcessId(hWnd, &ProcessId); + HANDLE hProcess = OpenProcess(MAXIMUM_ALLOWED, FALSE, ProcessId); + if (hProcess != NULL) + { + TerminateProcess(hProcess, 0); + } + + } +} +/*< LYW 20220426 - #4086 ADD End >*/ +/*< LYW 20220415 - #4086 ADD End >*/ void CReviewInterface::CreateSystemDirectory() { @@ -1172,6 +1365,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 +1466,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 { @@ -2747,6 +2944,21 @@ return -1; } +void CReviewInterface::IWC2P_SetWSIVersion(int nModuleIndex, int nVersion) +{ + switch (nModuleIndex) + { + case 0: + m_nFDCWSISWVersion00 = nVersion; + break; + case 1: + m_nFDCWSISWVersion01 = nVersion; + break; + default: + break; + } +} + void CReviewInterface::IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus) { CString strMessage = _T(""); @@ -2874,24 +3086,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 +3324,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 +3539,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; @@ -3313,14 +3553,23 @@ void CReviewInterface::IRP2P_DisplayMessage(const TCHAR* lpstrFormat, ...) { - va_list list; - TCHAR strText[2000] = {0}; + try + { + va_list list; + TCHAR strText[2000] = { 0 }; - va_start(list, lpstrFormat); - _vstprintf_s(strText, lpstrFormat, list); - va_end(list); + va_start(list, lpstrFormat); + _vstprintf_s(strText, lpstrFormat, list); + va_end(list); - g_pLog->DisplayMessage(strText); + g_pLog->DisplayMessage(strText); + } + + catch (...) + { + return ; + } + } CResultServerControl* CReviewInterface::IRP2P_GetResultServerControl() @@ -3356,6 +3605,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; } @@ -3413,6 +3702,14 @@ CDlgDefectMap* pDefectmap = m_pView->GetDefectMapDlgHandle(); if (pDefectmap == NULL) { return FALSE; } pDefectmap->GetDefectMap()->SetOffsetmodeparma(bMode, nCamidx, nScanidx, nXpos, nYpos); + return FALSE; +} + +BOOL CReviewInterface::IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse) +{ + CDlgDefectMap* pDefectmap = m_pView->GetDefectMapDlgHandle(); + if (pDefectmap == NULL) { return FALSE; } + pDefectmap->GetDefectMap()->SetOffsetparm(nCamIdx, nScanIdx, bUse); return FALSE; } @@ -3497,6 +3794,16 @@ return m_pMotorControl->IsGantryMotionEnd(nModuleIdx); +} + +BOOL CReviewInterface::IDP2P_CheckManualMode() +{ + if (IsManualProcessMode() == TRUE) + { + return TRUE; + } + + return FALSE; } int CReviewInterface::IDP2P_GetSelectedModuleIndex() @@ -3679,6 +3986,7 @@ //return pAFMControl->MoveToHomePosition(nHomePosition); } +//#3407 KYH �옄媛�吏꾨떒 Judge �뙋�젙 諛� �븣�엺 諛쒖깮 湲곕뒫 ADD START BOOL CReviewInterface::IDP2P_DiagnosisSendJudgeAlarm() // 0412 �옄媛�吏꾨떒 JudgeAlarm 異붽� { @@ -3686,6 +3994,7 @@ //return pAFMControl->MoveToHomePosition(nHomePosition); } +//#3407 KYH �옄媛�吏꾨떒 Judge �뙋�젙 諛� �븣�엺 諛쒖깮 湲곕뒫 ADD END BOOL CReviewInterface::IDP2P_SetDlgFlatness(int nIndex) { @@ -3765,12 +4074,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); @@ -3784,7 +4096,6 @@ pWsiControl->SetWsiStart(1, vectorPosX, vectorPosY, 0); - } } void CReviewInterface::IDP2P_WsiMotorMotionEnd(int nModuleIdx, double dPosX, double dPosY) @@ -5708,6 +6019,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 @@ -6469,6 +6786,7 @@ m_pDlgDiagnosis->ShowWindow(SW_SHOW); + return; /* if (m_pSignalControl) { @@ -6486,6 +6804,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); @@ -8145,6 +8471,62 @@ 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; +} + +int CReviewInterface::ISP2P_GetReviewSWVersion() +{ + return m_nFDCReviewSWVersion; +} + +int CReviewInterface::ISP2P_GetSyncSWVersion() +{ + return m_nFDCSyncSWVersion; +} + +int CReviewInterface::ISP2P_GetGRMSWVersion() +{ + return m_nFDCGRMSWVersion; +} + +int CReviewInterface::ISP2P_GetFTPUploaderSWVersion() +{ + return m_nFDCFTPUploaderSWVersion; +} + +int CReviewInterface::ISP2P_GetWSISWVersion(int nModuleIndex) +{ + switch (nModuleIndex) + { + case 0: + return m_nFDCWSISWVersion00; + break; + case 1: + return m_nFDCWSISWVersion01; + break; + default: + return m_nFDCWSISWVersion00; + break; + } +} + SDefectFilter* CReviewInterface::ISP2P_GetDefectFilter() { if (m_pDoc==NULL) return NULL; @@ -8346,6 +8728,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, ... ) { @@ -8456,6 +8858,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 @@ -8846,6 +9308,11 @@ SetCurrentWsiMode(nMode); } +void CReviewInterface::ISP2P_InitAlignCamera() +{ + InitAlignCamera(); +} + int CReviewInterface::IWC2P_GetWsiType() { return GetCurrentWsiMode(); -- Gitblit v1.9.3