From 3ce48f6dbeb537e252edb0d62c88a28796e36674 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 월, 26 12월 2022 15:04:42 +0900
Subject: [PATCH] ongoing60 #4403 CF AOI Review TACT 지연 개선 1. 신호 출력 방식 재개선  - 유지 시간이 없는 신호는 바로 출력 진행하도록 변경 2. 불필요 Delay 제거 및 시퀀스 변경  - 얼라인 측정 종료 처리 간 제어 신호 먼저 출력 후 카메라 Stop으로 변경  - 물류 정보 읽기 처리 후 1000ms Delay 삭제  - 얼라인 측정 시작(카메라 Live Start) 후 Delay 300ms -> 100ms(이미지 들어오는 시간 확보 필요)  - ReadRawFile 처리 시작 전 500ms Delay 삭제  - Path Scheduling 완료 후 Review Ready 신호 출력 전 1000ms Delay 삭제 3. 버그 수정  - 이미지 저장 경로 생성 간 예외 처리 부분 버그 수정 4. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewHistory/ReveiwHistory/stdafx.cpp |  137 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 137 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/stdafx.cpp b/ReviewHistory/ReveiwHistory/stdafx.cpp
new file mode 100644
index 0000000..2c9e56f
--- /dev/null
+++ b/ReviewHistory/ReveiwHistory/stdafx.cpp
@@ -0,0 +1,137 @@
+癤�
+// stdafx.cpp : �몴以� �룷�븿 �뙆�씪留� �뱾�뼱 �엳�뒗 �냼�뒪 �뙆�씪�엯�땲�떎.
+// ReveiwHistory.pch�뒗 誘몃━ 而댄뙆�씪�맂 �뿤�뜑媛� �맗�땲�떎.
+// stdafx.obj�뿉�뒗 誘몃━ 而댄뙆�씪�맂 �삎�떇 �젙蹂닿� �룷�븿�맗�땲�떎.
+
+#include "stdafx.h"
+
+
+CCriticalSection g_criticalExe;
+CCriticalSection g_criticalLog;
+
+
+CString	GetExePath()
+{
+	g_criticalExe.Lock();
+
+	static TCHAR pBuf[256] = { 0, };
+
+	memset(pBuf, NULL, sizeof(pBuf));
+
+	if (AfxGetApp())
+		GetModuleFileName(AfxGetApp()->m_hInstance, pBuf, sizeof(pBuf));
+	else
+		GetModuleFileName(NULL, pBuf, sizeof(pBuf));
+
+	CString strFilePath;
+
+	strFilePath.Format(_T("%s"), pBuf);
+
+	strFilePath = strFilePath.Left(strFilePath.ReverseFind(_T('\\')));
+
+	g_criticalExe.Unlock();
+
+	return strFilePath.GetString();
+}
+
+void LOG(int nType, const char* fmt, ...)
+{
+	g_criticalLog.Lock();
+
+	static _TCHAR szLog[5096];
+
+	FILE*		fp = NULL;
+	CTime		tm = CTime::GetCurrentTime();
+	CString		strLog = _T("");
+	CString		strPath = _T("");
+	va_list		args;
+	SYSTEMTIME	cur_time;
+
+	if (fmt == NULL)
+	{
+		g_criticalLog.Unlock();
+
+		return;
+	}
+
+	ZeroMemory(szLog, 5096);
+	va_start(args, fmt);
+	wvsprintf(szLog, fmt, args);
+	va_end(args);
+
+	strPath.Format("%s\\Log\\%s", GetExePath(), tm.Format("%Y_%m_%d_%H.log").GetString());
+
+	fopen_s(&fp, (LPSTR)(LPCSTR)strPath, "a+");
+
+	GetLocalTime(&cur_time);
+
+	strLog.Format("%04d-%02d-%02d %02d:%02d:%02d:%03ld : ",
+		cur_time.wYear,
+		cur_time.wMonth,
+		cur_time.wDay,
+		cur_time.wHour,
+		cur_time.wMinute,
+		cur_time.wSecond,
+		cur_time.wMilliseconds);
+
+	if (fp != NULL)
+	{
+		switch (nType)
+		{
+		case Normal: strLog += _T("[NORMAL    ] : ");	break;
+		case Dbg: strLog += _T("[DEBUG     ] : ");	break;
+		case Operation: strLog += _T("[OPERATION ] : ");	break;
+		case Err: strLog += _T("[ERROR     ] : ");  break;
+		}
+
+		strLog += szLog;
+
+		fprintf(fp, "%s\r\n", (LPSTR)(LPCSTR)strLog);
+		fflush(fp);
+		fclose(fp);
+	}
+
+	g_criticalLog.Unlock();
+}
+
+void	INIWriteStr(CString strAppName, CString strKeyName, CString strValue, CString strFilePath)
+{
+	WritePrivateProfileString(strAppName, strKeyName, strValue, strFilePath);
+}
+
+CString	INIReadStr(CString strAppName, CString strKeyName, CString strFilePath)
+{
+	TCHAR szReturnString[1024] = { 0, };
+
+	memset(szReturnString, NULL, 1024);
+
+	GetPrivateProfileString(strAppName, strKeyName, _T(""), szReturnString, 1024, strFilePath);
+
+	CString str;
+
+	str.Format(_T("%s"), szReturnString);
+
+	return str;
+}
+
+void	INIWriteInt(CString strAppName, CString strKeyName, int nValue, CString strFilePath)
+{
+	CString str;
+
+	str.Format(_T("%d"), nValue);
+
+	WritePrivateProfileString(strAppName, strKeyName, str, strFilePath);
+}
+
+int		INIReadInt(CString strAppName, CString strKeyName, CString strFilePath)
+{
+	TCHAR szReturnString[1024] = { 0, };
+
+	memset(szReturnString, NULL, 1024);
+
+	GetPrivateProfileString(strAppName, strKeyName, _T(""), szReturnString, 1024, strFilePath);
+
+	int nRet = atoi(szReturnString);
+
+	return nRet;
+}
\ No newline at end of file

--
Gitblit v1.9.3