From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewHistory/ReveiwHistory/GlassRawCEC.cpp | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 96 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/ReveiwHistory/GlassRawCEC.cpp b/ReviewHistory/ReveiwHistory/GlassRawCEC.cpp new file mode 100644 index 0000000..f51188a --- /dev/null +++ b/ReviewHistory/ReveiwHistory/GlassRawCEC.cpp @@ -0,0 +1,96 @@ +#include "StdAfx.h" +#include "GlassRawCEC.h" +#include "akLoggerExt.h" + +CGlassRawCEC::CGlassRawCEC(void) +{ +} + +CGlassRawCEC::~CGlassRawCEC(void) +{ +} + +BOOL CGlassRawCEC::SequenceGlassLoading( CgrmGlassRawData* pData ) +{ + //나중에 스택파일 읽기 처리도 여기서 하게 하면 좋을듯 [김태현 2018/11/14] + return TRUE; +} + +BOOL CGlassRawCEC::SequenceInspectEnd( CgrmGlassRawData* pData ) +{ + WriteAOIFile(pData); + + return TRUE; +} + +BOOL CGlassRawCEC::SequenceReviewStart( CgrmGlassRawData* pData ) +{ + return TRUE; +} + +BOOL CGlassRawCEC::SequenceReviewEnd( CgrmGlassRawData* pData ) +{ + WriteAOIFile(pData); + + return TRUE; +} + + +BOOL CGlassRawCEC::WriteAOIFile( CgrmGlassRawData* pData ) +{ + BOOL bResult = TRUE; + + + bResult &= MakeAOIFile(pData); + bResult &= MakeAnaFile(pData); + + AKLOG("WriteAOIFile Complete"); + return TRUE; +} + +BOOL CGlassRawCEC::MakeAOIFile( CgrmGlassRawData* pData ) +{ + CString strFilePathName; + strFilePathName.Format("%s\\%s", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName); + + FILE* pf = fopen(strFilePathName.GetBuffer(0), "w"); + if(pf == NULL) return FALSE; + + for(int iCell = 0; iCell < pData->GetGlassData()->m_nCellNum; iCell++) + { + _grmCellData* pCell = pData->GetCellData(iCell); + + fprintCell(pf, pCell); + } + + fprintf(pf, "<HEAD DEFECE> sdlkfjlsd sdlkflsdkjf sdlkfjslkdjf sldkfjsdf\n"); + for(int iDefect = 0; iDefect < pData->GetGlassData()->m_nDefectNum; iDefect++) + { + _grmDefectData* pDefect = pData->GetDefectData(iDefect); + + fprintDefect(pf, pDefect); + } + + AKLOG("MakeAOIFile Complete"); + fclose(pf); + return TRUE; +} + +BOOL CGlassRawCEC::MakeAnaFile( CgrmGlassRawData* pData ) +{ + CString strFilePathName; + strFilePathName.Format("%s\\%sana", pData->GetGlassData()->m_strPath, pData->GetGlassData()->m_strFileName); + + AKLOG("MakeAnaFile Complete"); + return TRUE; +} + +void CGlassRawCEC::fprintDefect( FILE* pf, _grmDefectData* pData ) +{ + //defect pos + fprintf(pf, "%d ", pData->m_nUMCenterAlignX); //defect pos + + fprintf(pf, "%d ", pData->m_nUMCenterAlignX); + + fprintf(pf, "\n"); +} -- Gitblit v1.9.3