SDC C-Project CF Review 프로그램
LYW
2021-09-23 c08b701c90c8998b241c82638d5c488e03238214
ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -1,6 +1,7 @@
#include "StdAfx.h"
#include <math.h>
#include "crtdbg.h"
#include <experimental/filesystem>
#include "ReviewInterface.h"
#include "MainFrm.h"
@@ -123,6 +124,9 @@
   m_bIsOffSetOn = 0;
   m_bIsSimulation = 0;
   m_bFirstReviewLeft = 0;
   m_bFirstReviewRight = 0;
   // cs init
   InitializeCriticalSection(&m_csReviewResult);
   InitializeCriticalSection(&m_csReviewSignal);
@@ -143,6 +147,13 @@
   CreateDirectory(_REVIEW_SERVER_BASE_PATH_, NULL);
   CreateDirectory(_REVIEW_SERVER_LOG_PATH_, NULL);
   CreateDirectory(_REVIEW_SERVER_CONFIG_PATH_, NULL);
   //LYW_#3344_CF AOI Review Config File 백업 기능 개선 ADD START
   //시작할때 다 지우고 다시 복사가 필요할지
   //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);
   //LYW_#3344_CF AOI Review Config File 백업 기능 개선 ADD END
   SetProgramVersion();
   // init review data
@@ -1261,7 +1272,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
   {
@@ -2866,24 +2877,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);
      }
@@ -3297,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;
@@ -3305,14 +3334,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()
@@ -3348,6 +3386,26 @@
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;
}
@@ -3489,6 +3547,16 @@
   return m_pMotorControl->IsGantryMotionEnd(nModuleIdx);
}
BOOL CReviewInterface::IDP2P_CheckManualMode()
{
   if (IsManualProcessMode() == TRUE)
   {
      return TRUE;
   }
   return FALSE;
}
int CReviewInterface::IDP2P_GetSelectedModuleIndex()
@@ -3671,6 +3739,7 @@
   //return pAFMControl->MoveToHomePosition(nHomePosition);
}
//#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD START
BOOL CReviewInterface::IDP2P_DiagnosisSendJudgeAlarm() // 0412 자가진단 JudgeAlarm 추가
{
@@ -3678,6 +3747,7 @@
   //return pAFMControl->MoveToHomePosition(nHomePosition);
}
//#3407 KYH 자가진단 Judge 판정 및 알람 발생 기능 ADD END
BOOL CReviewInterface::IDP2P_SetDlgFlatness(int nIndex)
{
@@ -3757,12 +3827,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);
@@ -3776,7 +3849,6 @@
      pWsiControl->SetWsiStart(1, vectorPosX, vectorPosY, 0);
   }
}
void CReviewInterface::IDP2P_WsiMotorMotionEnd(int nModuleIdx, double dPosX, double dPosY)
@@ -6453,6 +6525,10 @@
{
   if (m_pSequenceProcessor==NULL) return;
   //#3584 210817 LYW CF AOI Review 시뮬레이션 기능 정상화 ADD START
   m_pSequenceProcessor->SetSimulationMode(TRUE);
   //#3584 210817 LYW CF AOI Review 시뮬레이션 기능 정상화 ADD END
   if (nCommand == -1)      // DBClick Date
   {
@@ -8338,6 +8414,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, ... )
{
@@ -8838,6 +8934,11 @@
   SetCurrentWsiMode(nMode);
}
void CReviewInterface::ISP2P_InitAlignCamera()
{
   InitAlignCamera();
}
int CReviewInterface::IWC2P_GetWsiType()
{
   return GetCurrentWsiMode();