| | |
| | | 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 >*/ |
| | | |
| | | // cs init |
| | | InitializeCriticalSection(&m_csReviewResult); |
| | | InitializeCriticalSection(&m_csReviewSignal); |
| | |
| | | //시작할때 다 지우고 다시 복사가 필요할지 |
| | | //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(); |
| | | |
| | |
| | | // process status observer |
| | | AddObserverUpdateProcessStatus(static_cast<IUpdateProcessStatus*>(m_pAlignCameraControl)); |
| | | |
| | | m_pAlignCameraControl->Camera_Control(CameraControlLive); |
| | | /*m_pAlignCameraControl->Camera_Control(CameraControlLive);*/ // 210805 Align Camera Sequence 변경 |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | 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); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | 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() |
| | |
| | | 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; |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | return m_pMotorControl->IsGantryMotionEnd(nModuleIdx); |
| | | |
| | | } |
| | | |
| | | BOOL CReviewInterface::IDP2P_CheckManualMode() |
| | | { |
| | | if (IsManualProcessMode() == TRUE) |
| | | { |
| | | return TRUE; |
| | | } |
| | | |
| | | return FALSE; |
| | | } |
| | | |
| | | int CReviewInterface::IDP2P_GetSelectedModuleIndex() |
| | |
| | | //return pAFMControl->MoveToHomePosition(nHomePosition); |
| | | } |
| | | |
| | | //#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD START |
| | | BOOL CReviewInterface::IDP2P_DiagnosisSendJudgeAlarm() // 0412 자가진단 JudgeAlarm 추가 |
| | | { |
| | | |
| | |
| | | |
| | | //return pAFMControl->MoveToHomePosition(nHomePosition); |
| | | } |
| | | //#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD END |
| | | |
| | | BOOL CReviewInterface::IDP2P_SetDlgFlatness(int nIndex) |
| | | { |
| | |
| | | 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); |
| | |
| | | |
| | | pWsiControl->SetWsiStart(1, vectorPosX, vectorPosY, 0); |
| | | |
| | | } |
| | | } |
| | | |
| | | void CReviewInterface::IDP2P_WsiMotorMotionEnd(int nModuleIdx, double dPosX, double dPosY) |
| | |
| | | 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 |
| | |
| | | |
| | | |
| | | m_pDlgDiagnosis->ShowWindow(SW_SHOW); |
| | | return; |
| | | /* |
| | | if (m_pSignalControl) |
| | | { |
| | |
| | | { |
| | | 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); |
| | |
| | | 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, ... ) |
| | | { |
| | | |
| | |
| | | SetCurrentWsiMode(nMode); |
| | | } |
| | | |
| | | void CReviewInterface::ISP2P_InitAlignCamera() |
| | | { |
| | | InitAlignCamera(); |
| | | } |
| | | |
| | | int CReviewInterface::IWC2P_GetWsiType() |
| | | { |
| | | return GetCurrentWsiMode(); |