SDC C-Project CF Review 프로그램
LYW
2021-11-09 9ad2aa59da822e9d30c5e0cd677025fe6e12df95
Ongoing90 #3662 CF AOI Review 전설비 알람 발생 조치

- FDC Defocus보고시 간헐적으로 0으로 보고하는 현상 수정
- 리뷰 히스토리 버튼 클릭시 외부 히스토리 연동
- 리뷰 End시 간헐적으로 SW 다운 현상 개선
1개 파일 추가됨
16개 파일 변경됨
284 ■■■■ 파일 변경됨
ReviewHistory/ReveiwHistory/ReveiwHistory.rc 패치 | 보기 | raw | blame | 히스토리
ReviewHistory/ReveiwHistory/ReveiwHistory.vcxproj 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp 24 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewHistory/ReveiwHistory/akFormationMap.h 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewHistory/bin/ReviewHistroy.exe 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgLogo.cpp 18 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/DlgUpdateNote.cpp 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/MainFrm.cpp 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewInterface.cpp 44 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewInterface.h 18 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewProcessor.h 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp 27 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/ReviewSystemView.cpp 10 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/SequenceProcessor.h 8 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp 106 ●●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.h 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
ReviewSystem/ReviewSystem/aaa.txt 패치 | 보기 | raw | blame | 히스토리
ReviewHistory/ReveiwHistory/ReveiwHistory.rc
Binary files differ
ReviewHistory/ReveiwHistory/ReveiwHistory.vcxproj
@@ -124,6 +124,7 @@
      <SubSystem>Windows</SubSystem>
      <AdditionalLibraryDirectories>../lib</AdditionalLibraryDirectories>
      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
      <UACExecutionLevel>AsInvoker</UACExecutionLevel>
    </Link>
    <Midl>
      <MkTypLibCompatible>false</MkTypLibCompatible>
@@ -181,6 +182,7 @@
      <OptimizeReferences>true</OptimizeReferences>
      <AdditionalLibraryDirectories>../lib</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <UACExecutionLevel>AsInvoker</UACExecutionLevel>
    </Link>
    <Midl>
      <MkTypLibCompatible>false</MkTypLibCompatible>
ReviewHistory/ReveiwHistory/ReveiwHistoryDlg.cpp
@@ -228,13 +228,6 @@
    InitGridDefectLIst(&m_gridDefectInfo, IDC_STATIC_GRID_DEFECT);
    InitGridGlassLIst(&m_gridGlassInfo, IDC_STATIC_GRID_GLASS_INFO);
    /*< LYW 20211025 - #3684 ADD Start >*/
    CString strPath = _T("");
    InitDataInfo();
    strPath.Format(_T("%s%s"), REVIEW_OFFSET_CONFIGFILE_PATH, REVIEW_OFFSET_CONFIGFILE_NAME);
    LoadOffset(strPath);
    /*< LYW 20211025 - #3684 ADD End >*/
    OnViewReviewdefect();
    m_chkReviewDefect.SetCheck(TRUE);
@@ -260,6 +253,11 @@
    m_ctlProgress.SetRange(0, 100);
    m_ctlProgress.ShowWindow(FALSE);
    /*< LYW 20211025 - #3684 ADD Start >*/
    InitDataInfo();
    PostThreadMessage(m_ThreadId, UM_THREAD_LOADING_OFFSET, 0, 0);
    /*< LYW 20211025 - #3684 ADD End >*/
    return TRUE;  // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다.
}
@@ -2685,8 +2683,10 @@
    int center_y = (SrcImage.GetHeight() / 2); // 회전 중심점
    double seta = 3.14 / (180.0 / degree); // 라디안
    double CosSeta = cos(seta);
    double SinSeta = sin(seta);
    double CosSeta = -1;
    double SinSeta = 0;
//     double CosSeta = cos(seta);
//     double SinSeta = sin(seta);
    for (int y = 0; y < Height; y++)
    {
@@ -4367,6 +4367,7 @@
DWORD RunThreadReviewHistory(LPVOID param)
{
    MSG msg;
    CString strPath = _T("");
    CReveiwHistoryDlg* pDlg = (CReveiwHistoryDlg*)param;
    while (GetMessage(&msg, NULL, 0, 0))
    {
@@ -4379,6 +4380,11 @@
            pDlg->PostMessage(UM_WARNING_OFFSET);
            break;
        case UM_THREAD_LOADING_OFFSET:
            strPath.Format(_T("%s%s"), REVIEW_OFFSET_CONFIGFILE_PATH, REVIEW_OFFSET_CONFIGFILE_NAME);
            pDlg->LoadOffset(strPath);
            break;
        default:
            break;
        }
ReviewHistory/ReveiwHistory/akFormationMap.h
@@ -9,6 +9,7 @@
#define UM_WARNING_OFFSET WM_USER+0x2004
//Thread msg Map
#define UM_THREAD_WARNING_OFFSET WM_USER + 0x1001
#define    UM_THREAD_LOADING_OFFSET WM_USER + 0x1002
/*< LYW 20211028 - #3684 ADD End >*/
class CakFormationMap : public CakGraphBasic3
ReviewHistory/bin/ReviewHistroy.exe
Binary files differ
ReviewSystem/ReviewSystem/DlgLogo.cpp
@@ -281,6 +281,20 @@
void CDlgLogo::OnClickedButton6()
{
    // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
    m_pDL2P->IDL2P_OpenHistoryTool();
    g_pLog->DisplayMessage(_T("[ReviewProcessor] History Open"));
    /*< LYW 20211109 - #3662 ADD Start >*/
    HWND hWnd = ::FindWindow(NULL, _T("ReviewHistory"));
    if (hWnd == NULL)
    {
        ShellExecute(hWnd, NULL, _T("D:\\DIT_3rdParty\\ReviewHistory\\ReviewHistroy.exe"), NULL, NULL, SW_NORMAL);
    }
    else
    {
        AfxMessageBox("Review History가 이미 실행 중 입니다.", MB_OK | MB_ICONHAND);
        return;
    }
    /*< LYW 20211109 - #3662 ADD End >*/
    /*< LYW 20211109 - #3662 Delete Start >*/
    //     m_pDL2P->IDL2P_OpenHistoryTool();
    //     g_pLog->DisplayMessage(_T("[ReviewProcessor] History Open"));
    /*< LYW 20211109 - #3662 Delete End >*/
}
ReviewSystem/ReviewSystem/DlgUpdateNote.cpp
@@ -42,13 +42,16 @@
    CString    substring;
    substring = _T("20180706 CMJ.");
    substring = _T("211109 LYW.");
    lastupdate += substring;
    lastupdate += crlf;
    substring = _T("B11 New Program Make");
    substring = _T("FDC Defocus보고시 간헐적으로 0으로 보고하는 현상 수정");
    lastupdate += substring;
    lastupdate += crlf;
    substring = _T("Keyboard Jog Move Add");
    substring = _T("리뷰 히스토리 버튼 클릭시 외부 히스토리 연동");
    lastupdate += substring;
    lastupdate += crlf;
    substring = _T("리뷰 End시 간헐적으로 SW 다운 현상 개선");
    lastupdate += substring;
    lastupdate += crlf;
    lastupdate += crlf;
ReviewSystem/ReviewSystem/MainFrm.cpp
@@ -88,11 +88,14 @@
    SetTimer(ID_TIMER_SEND_SIGNAL_ALIVE, 100, NULL);
    system("net use Y: \\\\126.100.100.1\\d\\DIT_ResultData pw:dit/user:Server/persistent:yes");
    //LYW Align Reconnect
    //업데이트시
    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");
    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"
        "&& net use Y : \\\\126.100.100.1\\d\\DIT_ResultData pw : dit / user : Server / persistent : yes");
    Sleep(2000);
//    SetTimer(ID_TIMER_WSI_LONGRUN_TEST_TIME, 10000, NULL);
ReviewSystem/ReviewSystem/ReviewInterface.cpp
@@ -130,6 +130,10 @@
    /*< 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);
@@ -3420,6 +3424,26 @@
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;
}
@@ -8238,6 +8262,26 @@
    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;
}
SDefectFilter* CReviewInterface::ISP2P_GetDefectFilter()
{
    if (m_pDoc==NULL) return NULL;
ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -265,9 +265,19 @@
    virtual BOOL                        IRP2P_GetFirstReviewRight();
    virtual void                        IRP2P_SetFirstReviewLeft(BOOL b_Check);
    virtual void                        IRP2P_SetFirstReviewRight(BOOL b_Check);
    /*< LYW 20211109 - #3662 ADD Start >*/
    virtual BOOL                        IRP2P_GetReview00ImageContrast();
    virtual BOOL                        IRP2P_GetReview01ImageContrast();
    virtual void                        IRP2P_SetReview00ImageContrast(int n_Value);
    virtual void                        IRP2P_SetReview01ImageContrast(int n_Value);
    /*< LYW 20211109 - #3662 ADD End >*/
    BOOL    m_bFirstReviewLeft;
    BOOL    m_bFirstReviewRight;
    /*< LYW 20211109 - #3662 ADD Start >*/
    int        m_nReview00ImageContrast;
    int        m_nReview01ImageContrast;
    /*< LYW 20211109 - #3662 ADD End >*/
    int        m_daccumulate;
    virtual BOOL                        IRP2P_SaveDefectMap(const CString& strPath);
@@ -367,6 +377,14 @@
    virtual CGlassResult*                ISP2P_GetCurrentGlassResult();                        // get current glass result
    virtual STransferData*                ISP2P_GetCurrentTransferData();                        // get current transfer data
    //Review Contrast
    /*< LYW 20211109 - #3662 ADD Start >*/
    virtual BOOL                        ISP2P_GetReview00ImageContrast();
    virtual BOOL                        ISP2P_GetReview01ImageContrast();
    virtual void                        ISP2P_SetReview00ImageContrast(int n_Value);
    virtual void                        ISP2P_SetReview01ImageContrast(int n_Value);
    /*< LYW 20211109 - #3662 ADD End >*/
    // History result
    virtual CGlassResult*                ISP2P_GetNewHistoryResult(int& nHistoryResultCount);    // new glass result
    virtual CGlassResult*                ISP2P_GetHistoryResult(int nIndex);                    // get glass result
ReviewSystem/ReviewSystem/ReviewProcessor.h
@@ -83,6 +83,13 @@
    virtual void                        IRP2P_SetFirstReviewLeft(BOOL b_Check) = 0;
    virtual void                        IRP2P_SetFirstReviewRight(BOOL b_Check) = 0;
    /*< LYW 20211109 - #3662 ADD Start >*/
    virtual BOOL                        IRP2P_GetReview00ImageContrast() = 0;
    virtual BOOL                        IRP2P_GetReview01ImageContrast() = 0;
    virtual void                        IRP2P_SetReview00ImageContrast(int n_Value) = 0;
    virtual void                        IRP2P_SetReview01ImageContrast(int n_Value) = 0;
    /*< LYW 20211109 - #3662 ADD End >*/
};
typedef std::vector<CPoint>                    VectorPoint;
ReviewSystem/ReviewSystem/ReviewProcessor_CPJT.cpp
@@ -1228,7 +1228,8 @@
              int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
              int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
              m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
              //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
              m_pRP2P->IRP2P_SetReview00ImageContrast(round(dFocusValue));
              m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
              m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
@@ -1243,7 +1244,8 @@
              int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
              int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
              m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
              //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
              m_pRP2P->IRP2P_SetReview01ImageContrast(round(dFocusValue));
              m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
              m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
@@ -1278,7 +1280,8 @@
            int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
            int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
            m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
            //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
            m_pRP2P->IRP2P_SetReview00ImageContrast(round(dFocusValue));
            m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
            m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
            
@@ -1294,7 +1297,8 @@
            int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
            int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
            m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
            //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
            m_pRP2P->IRP2P_SetReview01ImageContrast(round(dFocusValue));
            m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
            m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
@@ -1412,7 +1416,8 @@
                    int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
                    int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
                    m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
                    //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
                    m_pRP2P->IRP2P_SetReview00ImageContrast(round(dFocusValue));
                    m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
                    m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
@@ -1427,7 +1432,8 @@
                    int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
                    int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
                    m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
                    //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
                    m_pRP2P->IRP2P_SetReview01ImageContrast(round(dFocusValue));
                    m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
                    m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
@@ -1483,7 +1489,8 @@
            int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
            int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
            m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
            //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview00ImageContrast = dFocusValue;
            m_pRP2P->IRP2P_SetReview00ImageContrast(round(dFocusValue));
            m_pRP2P->IRP2P_SetFirstReviewLeft(FALSE);
            m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewLeft FDC FocusValue = %.2f "), dFocusValue);
@@ -1498,7 +1505,8 @@
            int nDefocusValueMin = pSignalInfo->GetDefocusValueMin();
            int nDefocusValueMax = pSignalInfo->GetDefocusValueMax();
            m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
            //m_pRP2P->IRP2P_GetCurrentGlassResult()->nReview01ImageContrast = dFocusValue;
            m_pRP2P->IRP2P_SetReview01ImageContrast(round(dFocusValue));
            m_pRP2P->IRP2P_SetFirstReviewRight(FALSE);
            m_pRP2P->IRP2P_DisplayMessage(_T("FirstReviewRight FDC FocusValue = %.2f "), dFocusValue);
@@ -3838,8 +3846,7 @@
    }
    dFocus = dSum / double(nCalWidth*nCalHeight);
    if (dFocus >= 9.8) dFocus = 10.0;
    else dFocus += 0.2;
    if (dFocus >= 10.0) dFocus = 10.0;
    return dFocus;
    //#3524_210902_LYW_MOD END
ReviewSystem/ReviewSystem/ReviewSystemView.cpp
@@ -479,10 +479,12 @@
        m_DlgOffSetTool->Create(IDD_DLG_REVIEW_OFFSET_TOOL, this);
        m_DlgOffSetTool->SetDDL2P(static_cast<IDialogReviewOffSet2Parent*>(pMainFrame));
        //Review HistoryTool 생성
        m_DlgHistoryTool = new CDlgReviewHistoryTool(this);
        m_DlgHistoryTool->Create(IDD_DLG_REVIEW_HISTORY_TOOL, this);
        m_DlgHistoryTool->SetDDL2P(static_cast<IDialogReviewHistory2Parent*>(pMainFrame));
        /*< LYW 20211109 - #3662 Delete Start >*/
        ////Review HistoryTool 생성
        //m_DlgHistoryTool = new CDlgReviewHistoryTool(this);
        //m_DlgHistoryTool->Create(IDD_DLG_REVIEW_HISTORY_TOOL, this);
        //m_DlgHistoryTool->SetDDL2P(static_cast<IDialogReviewHistory2Parent*>(pMainFrame));
        /*< LYW 20211109 - #3662 Delete End >*/
    //    m_DlgOffSetTool->ShowWindow(SW_SHOW);
ReviewSystem/ReviewSystem/SequenceProcessor.h
@@ -430,6 +430,14 @@
    virtual CGlassResult*                ISP2P_GetCurrentGlassResult() = 0;                        // get current glass result
    virtual STransferData*                ISP2P_GetCurrentTransferData() = 0;                        // get current transfer data
    //Review Contrast
    /*< LYW 20211109 - #3662 ADD Start >*/
    virtual BOOL                        ISP2P_GetReview00ImageContrast() = 0;
    virtual BOOL                        ISP2P_GetReview01ImageContrast() = 0;
    virtual void                        ISP2P_SetReview00ImageContrast(int n_Value) = 0;
    virtual void                        ISP2P_SetReview01ImageContrast(int n_Value) = 0;
    /*< LYW 20211109 - #3662 ADD End >*/
    virtual CGlassResult*                ISP2P_GetNewHistoryResult(int& nHistoryResultCount) = 0;    // new glass result
    virtual CGlassResult*                ISP2P_GetHistoryResult(int nIndex) = 0;                    // get glass result
           
ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.cpp
@@ -668,6 +668,8 @@
        SendResultToSignalControl(PCControlSendData_ReviewResult_CPJT, SIGNAL_SEND_RESULT_SUCCESS);
        SendSignalToSignalControl(PCControlSendSignalIndex_Seq, PCControlSend_ReviewComplete_CPJT);
        m_pSP2P->ISP2P_DisplayMessage(_T("[SequenceProcessor::ReviewStart] Send Review Success Signal!"));
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 4);
        m_pSP2P->ISP2P_UpdateReviewProcessStatus(ReviewProcessStatus_None, nPlanIndex);
         
        AFM_SetAFMTracking(FALSE);
@@ -877,19 +879,27 @@
    CSequenceProcessData* pProcessData = static_cast<CSequenceProcessData*>(pParameter);
    m_nProcessStatus = pProcessData->nProcessStatus;
    //LONGREUN
    //SetSimulationMode(TRUE);
    switch(pProcessData->nProcessStatus)
    {
    case ProcessLoading_CPJT:
        Process_Loading();
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 2);
        break;
    case ProcessAlignStart_CPJT:
        Process_AlignStart();
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 3);
        break;
    case ProcessReadRawFile_CPJT:
        Process_ReadRawFile();
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 1);
        break;
@@ -899,9 +909,14 @@
    case ProcessReviewEnd_CPJT:
        Process_ReviewEnd();
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 5);
        break;
    case ProcessReviewUnloding_CPJT:
        Process_ReviewUnloading();
        //LONGREUN
        //RecvSignalToSignalControl(PCControlRecvSignalIndex_Seq, 0);
        break;
    }
@@ -923,7 +938,9 @@
    bFileFind = FALSE;
    m_pSP2P->ISP2P_GetDiagnosisHistory();
    /*< LYW 20211109 - #3662 Delete Start >*/
    //m_pSP2P->ISP2P_GetDiagnosisHistory();
    /*< LYW 20211109 - #3662 Delete End >*/
    m_pSP2P->ISP2P_SetFirstReviewLeft(TRUE);
    m_pSP2P->ISP2P_SetFirstReviewRight(TRUE);
@@ -1685,8 +1702,8 @@
        m_pSP2P->ISP2P_GetWSIControl(0)->SetWsiTimeOver();
        m_pSP2P->ISP2P_GetWSIControl(1)->SetWsiTimeOver();
        /*< LYW 20211015 - #3662 ADD Start >*/
        m_pSP2P->ISP2P_GetWSIControl(0)->SetWsiEnd();
        m_pSP2P->ISP2P_GetWSIControl(1)->SetWsiEnd();
//         m_pSP2P->ISP2P_GetWSIControl(0)->SetWsiEnd();
//         m_pSP2P->ISP2P_GetWSIControl(1)->SetWsiEnd();
        /*< LYW 20211015 - #3662 ADD End >*/
    }
    if (GetLastPointCheck() == FALSE)
@@ -1754,15 +1771,17 @@
    }
    g_pLog->DisplayMessage(_T("History map Start"));
    int nGlassResultCount = 0;
    CGlassResult*  pHistoryResult = m_pSP2P->ISP2P_GetNewHistoryResult(nGlassResultCount); //taek 210201
    g_pLog->DisplayMessage(_T("History map Copy"));
    ReadAOIMemory2(pHistoryResult);
    g_pLog->DisplayMessage(_T("History map TransferData"));
    UpdateHistoryResultFromTransferData(pHistoryResult, pGlassResult);
    g_pLog->DisplayMessage(_T("History Button Enable"));
    m_pSP2P->ISP2P_GetDiagnosisHistory2();
    /*< LYW 20211109 - #3662 Delete Start >*/
    //     g_pLog->DisplayMessage(_T("History map Start"));
    //     int nGlassResultCount = 0;
    //     CGlassResult*  pHistoryResult = m_pSP2P->ISP2P_GetNewHistoryResult(nGlassResultCount); //taek 210201
    //     g_pLog->DisplayMessage(_T("History map Copy"));
    //     ReadAOIMemory2(pHistoryResult);
    //     g_pLog->DisplayMessage(_T("History map TransferData"));
    //     UpdateHistoryResultFromTransferData(pHistoryResult, pGlassResult);
    //     g_pLog->DisplayMessage(_T("History Button Enable"));
    //     m_pSP2P->ISP2P_GetDiagnosisHistory2();
    /*< LYW 20211109 - #3662 Delete End >*/
    /*int nModuleCount = m_pSP2P->ISP2P_GetModuleStatusCount(); 
    for (int nModuleIdx = 0; nModuleIdx < nModuleCount; nModuleIdx++)
@@ -7641,8 +7660,13 @@
    int nReviewAliveCamera01 = 0;
    //foucs 
    nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast * 1000;
    nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview01ImageContrast * 1000;
    /*< LYW 20211109 - #3662 MOD Start >*/
    nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetReview00ImageContrast() * 1000;
    nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetReview01ImageContrast() * 1000;
    /*< LYW 20211109 - #3662 MOD End >*/
    /*< Origin Code >*/
//     nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast * 1000;
//     nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview01ImageContrast * 1000;
    //nRev_PC_HDD_CHECK = GetDiskUsage() * 1000;
    //nWSI1_PC_HDD_CHECK = nRev_PC_HDD_CHECK;//GetDiskUsage() * 1000;
@@ -8008,29 +8032,37 @@
    int nReviewAliveCamera01 = 1000;
    //foucs 
    /*< LYW 20211109 - #3662 MOD Start >*/
    if (m_pSP2P != NULL)
    {
        if (m_pSP2P->ISP2P_GetCurrentGlassResult() != NULL)
        {
            nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast * 1000;
            nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview01ImageContrast * 1000;
            if (m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast <=-2 || m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast >=999)
            {
                nRev_Cam1_Image_Contrast = 0 * 1000;
            }
            if (m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast <=-2|| m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast >=999)
            {
                nRev_Cam2_Image_Contrast = 0 * 1000;
            }
        }
        else
        {
            nRev_Cam1_Image_Contrast = 0;
            nRev_Cam2_Image_Contrast = 0;
        }
        nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetReview00ImageContrast() * 1000;
        nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetReview01ImageContrast() * 1000;
    }
    /*< LYW 20211109 - #3662 MOD End >*/
    /*< Origin Code >*/
//     if (m_pSP2P != NULL)
//     {
//         if (m_pSP2P->ISP2P_GetCurrentGlassResult() != NULL)
//         {
//
//             nRev_Cam1_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast * 1000;
//             nRev_Cam2_Image_Contrast = m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview01ImageContrast * 1000;
//
//             if (m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast <=-2 || m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast >=999)
//             {
//                 nRev_Cam1_Image_Contrast = 0 * 1000;
//             }
//             if (m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast <=-2|| m_pSP2P->ISP2P_GetCurrentGlassResult()->nReview00ImageContrast >=999)
//             {
//                 nRev_Cam2_Image_Contrast = 0 * 1000;
//             }
//         }
//         else
//         {
//             nRev_Cam1_Image_Contrast = 0;
//             nRev_Cam2_Image_Contrast = 0;
//         }
//     }
@@ -8656,8 +8688,10 @@
    case PCControlRecv_ManualMode_CPJT:    // manual mode on
        {
            m_pSP2P->ISP2P_GetDiagnosisHistory2();
        /*< LYW 20211109 - #3662 Delete Start >*/
        //m_pSP2P->ISP2P_GetDiagnosisHistory2();
        /*< LYW 20211109 - #3662 Delete End >*/
            m_pSP2P->ISP2P_DisplayMessage(_T("[PCControl_Mode] Manual Mode"));
            bResult = SetProcessMode(ProcessManualMode_CPJT);
            if (bResult==FALSE) m_pSP2P->ISP2P_DisplayMessage(_T("[PCControl_Mode] Manual Mode Error!"));
ReviewSystem/ReviewSystem/SequenceProcessor_CPJT.h
@@ -419,6 +419,5 @@
    BOOL bLastPointEndCheck;
    BOOL bFileFind;
};
ReviewSystem/ReviewSystem/aaa.txt