From 12c02f064db12d6d94063bf6dd9e4eb80f4252b8 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 월, 11 10월 2021 15:30:00 +0900 Subject: [PATCH] Ongoing60 #3662 CF AOI Review 전설비 알람 발생 조치 - Review History File Mapping 해제 - Review Inner History 다운 현상 예외처리 추가 - Review End 시 Review 다운 현상 예외처리 추가 --- DitGlassRawMessenger/DitGlassRawMessenger/MacroResultFile.cpp | 122 ++++++++++++++++++++++++++++++++-------- 1 files changed, 98 insertions(+), 24 deletions(-) diff --git a/DitGlassRawMessenger/DitGlassRawMessenger/MacroResultFile.cpp b/DitGlassRawMessenger/DitGlassRawMessenger/MacroResultFile.cpp index 565f53b..a7caac2 100644 --- a/DitGlassRawMessenger/DitGlassRawMessenger/MacroResultFile.cpp +++ b/DitGlassRawMessenger/DitGlassRawMessenger/MacroResultFile.cpp @@ -227,26 +227,74 @@ char* pReadPoint = NULL; char *pStr; + CString stranelData = "DATA PANEL"; + CString strSubPanelData = "DATA SUBPANEL"; + CString strMaxAvgGray, strMaxPortion; + while (!feof(pf)) { - pStr = fgets(buffer, 1024, pf); - if (!strncmp(buffer, "DATA,", 5)) continue; + pStr = fgets(buffer, 1024, pf); if (strlen(buffer) <= 0 || pStr == NULL) break; - - //else if (!strncmp(buffer, "DATA\tSUBPANEL\t", 14))// 탭 파싱 - else if (!strncmp(buffer, "DATA SUBPANEL ", 14))// 띄어쓰기 파싱 + + if (!strncmp(buffer, stranelData, strlen(stranelData)))// 띄어쓰기 파싱 { CakParser paser; if (strlen(buffer) <= 0) continue; - paser.process(buffer); + paser.process(buffer, " "); int nTokNum = paser.getTokNum(); - if (nTokNum < 1) continue; + if (nTokNum < 42) continue; + strMaxAvgGray = paser.getTokStr(41); + strMaxPortion = paser.getTokStr(42); + } - if (nTokNum > 0) MacroSubPanel.PRO_IMAGE = paser.getTokStr(20); - if (nTokNum > 1) MacroSubPanel.AVG_GRAY = atof(paser.getTokStr(21)); - if (nTokNum > 2) MacroSubPanel.PORTION = atof(paser.getTokStr(22)); + if (!strncmp(buffer, strSubPanelData, strlen(strSubPanelData)))// 띄어쓰기 파싱 + { + CakParser paser; + if (strlen(buffer) <= 0) continue; + paser.process(buffer, " "); + int nTokNum = paser.getTokNum(); + if (nTokNum < 52) continue; //kyh 31->52 + MacroSubPanel.PRO_IMAGE = paser.getTokStr(20); + MacroSubPanel.AVG_GRAY_0 = paser.getTokStr(21); + MacroSubPanel.PORTION_0 = paser.getTokStr(22); + //kyh 추가 + MacroSubPanel.CORNER_GRAY_0 = paser.getTokStr(23); + MacroSubPanel.AVG_AMP_0 = paser.getTokStr(24); + MacroSubPanel.FFT_VAR_0 = paser.getTokStr(25); + MacroSubPanel.FFT_VAH_0 = paser.getTokStr(26); + MacroSubPanel.FFT_VAQ_0 = paser.getTokStr(27); + MacroSubPanel.FFT_PK_0 = paser.getTokStr(28); + MacroSubPanel.AVG_GRAY_1 = paser.getTokStr(29); + MacroSubPanel.PORTION_1 = paser.getTokStr(30); + //kyh 추가 + MacroSubPanel.CORNER_GRAY_1 = paser.getTokStr(31); + MacroSubPanel.AVG_AMP_1 = paser.getTokStr(32); + MacroSubPanel.FFT_VAR_1 = paser.getTokStr(33); + MacroSubPanel.FFT_VAH_1 = paser.getTokStr(34); + MacroSubPanel.FFT_VAQ_1 = paser.getTokStr(35); + MacroSubPanel.FFT_PK_1 = paser.getTokStr(36); + + MacroSubPanel.AVG_GRAY_2 = paser.getTokStr(37); + MacroSubPanel.PORTION_2 = paser.getTokStr(38); + //kyh 추가 + MacroSubPanel.CORNER_GRAY_2 = paser.getTokStr(39); + MacroSubPanel.AVG_AMP_2 = paser.getTokStr(40); + MacroSubPanel.FFT_VAR_2 = paser.getTokStr(41); + MacroSubPanel.FFT_VAH_2 = paser.getTokStr(42); + MacroSubPanel.FFT_VAQ_2 = paser.getTokStr(43); + MacroSubPanel.FFT_PK_2 = paser.getTokStr(44); + + MacroSubPanel.AVG_GRAY_3 = paser.getTokStr(45); + MacroSubPanel.PORTION_3 = paser.getTokStr(46); + //kyh 추가 + MacroSubPanel.CORNER_GRAY_3 = paser.getTokStr(47); + MacroSubPanel.AVG_AMP_3 = paser.getTokStr(48); + MacroSubPanel.FFT_VAR_3 = paser.getTokStr(49); + MacroSubPanel.FFT_VAH_3 = paser.getTokStr(50); + MacroSubPanel.FFT_VAQ_3 = paser.getTokStr(51); + MacroSubPanel.FFT_PK_3 = paser.getTokStr(52); vecMacroSubPanel.push_back(MacroSubPanel); } @@ -260,23 +308,49 @@ { pGrmMura= pShared->GetCellData(i); - //pGrmMura->clear(); + strcpy(pGrmMura->m_strProImage, m_vecMacroSubPanel[i].PRO_IMAGE.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgGray_0, m_vecMacroSubPanel[i].AVG_GRAY_0.GetBuffer(0)); + strcpy(pGrmMura->m_strPortion_0, m_vecMacroSubPanel[i].PORTION_0.GetBuffer(0)); + //kyh 0622 + strcpy(pGrmMura->m_strCorner_Gray_0, m_vecMacroSubPanel[i].CORNER_GRAY_0.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgAmp_0, m_vecMacroSubPanel[i].AVG_AMP_0.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVar_0, m_vecMacroSubPanel[i].FFT_VAR_0.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVah_0, m_vecMacroSubPanel[i].FFT_VAH_0.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVaq_0, m_vecMacroSubPanel[i].FFT_VAQ_0.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTPK_0, m_vecMacroSubPanel[i].FFT_PK_0.GetBuffer(0)); - strcpy(pGrmMura->m_strProImage, m_vecMacroSubPanel[i].PRO_IMAGE); - pGrmMura->m_fAvgGray = m_vecMacroSubPanel[i].AVG_GRAY; - pGrmMura->m_fPortion = m_vecMacroSubPanel[i].PORTION; + strcpy(pGrmMura->m_strAvgGray_1, m_vecMacroSubPanel[i].AVG_GRAY_1.GetBuffer(0)); + strcpy(pGrmMura->m_strPortion_1, m_vecMacroSubPanel[i].PORTION_1.GetBuffer(0)); + //kyh 0622 + strcpy(pGrmMura->m_strCorner_Gray_1, m_vecMacroSubPanel[i].CORNER_GRAY_1.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgAmp_1, m_vecMacroSubPanel[i].AVG_AMP_1.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVar_1, m_vecMacroSubPanel[i].FFT_VAR_1.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVah_1, m_vecMacroSubPanel[i].FFT_VAH_1.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVaq_1, m_vecMacroSubPanel[i].FFT_VAQ_1.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTPK_1, m_vecMacroSubPanel[i].FFT_PK_1.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgGray_2, m_vecMacroSubPanel[i].AVG_GRAY_2.GetBuffer(0)); + strcpy(pGrmMura->m_strPortion_2, m_vecMacroSubPanel[i].PORTION_2.GetBuffer(0)); + //kyh 0622 + strcpy(pGrmMura->m_strCorner_Gray_2, m_vecMacroSubPanel[i].CORNER_GRAY_2.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgAmp_2, m_vecMacroSubPanel[i].AVG_AMP_2.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVar_2, m_vecMacroSubPanel[i].FFT_VAR_2.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVah_2, m_vecMacroSubPanel[i].FFT_VAH_2.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVaq_2, m_vecMacroSubPanel[i].FFT_VAQ_2.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTPK_2, m_vecMacroSubPanel[i].FFT_PK_2.GetBuffer(0)); + + strcpy(pGrmMura->m_strAvgGray_3, m_vecMacroSubPanel[i].AVG_GRAY_3.GetBuffer(0)); + strcpy(pGrmMura->m_strPortion_3, m_vecMacroSubPanel[i].PORTION_3.GetBuffer(0)); + //kyh 0622 + strcpy(pGrmMura->m_strCorner_Gray_3, m_vecMacroSubPanel[i].CORNER_GRAY_3.GetBuffer(0)); + strcpy(pGrmMura->m_strAvgAmp_3, m_vecMacroSubPanel[i].AVG_AMP_3.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVar_3, m_vecMacroSubPanel[i].FFT_VAR_3.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVah_3, m_vecMacroSubPanel[i].FFT_VAH_3.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTVaq_3, m_vecMacroSubPanel[i].FFT_VAQ_3.GetBuffer(0)); + strcpy(pGrmMura->m_strFFTPK_3, m_vecMacroSubPanel[i].FFT_PK_3.GetBuffer(0)); } - float Max_AVG_GRAY = m_vecMacroSubPanel[0].AVG_GRAY; - float Max_PORTION = m_vecMacroSubPanel[0].PORTION; - - for (int i = 1; i < m_vecMacroSubPanel.size(); ++i) - { - Max_AVG_GRAY = max(Max_AVG_GRAY, m_vecMacroSubPanel[i].AVG_GRAY); //큰 값을 다시 largest에 대입 - Max_PORTION = max(Max_PORTION, m_vecMacroSubPanel[i].PORTION); - } - pShared->GetGlassData()->m_fMaxAvgGray = Max_AVG_GRAY; - pShared->GetGlassData()->m_fMaxPortion = Max_PORTION; + strcpy(pShared->GetGlassData()->m_strMaxAvgGray, strMaxAvgGray.GetBuffer(0)); + strcpy(pShared->GetGlassData()->m_strMaxPortion, strMaxPortion.GetBuffer(0)); m_bReadSuccess = TRUE; return TRUE; -- Gitblit v1.9.3