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. 로그 시간 출력 불합리 개선  - 로그 시간이 파일 출력 시점으로 작성되어 로그 스래드 지연 시 시간이 맞지 않는 불합리 있음  - 로그 시간은 로그 발생 시점에 시간 저장, 해당 시간 이용하여 파일에 기록하도록 변경

---
 ReviewSystem/ReviewSystem/ReviewInterface.h |   89 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 87 insertions(+), 2 deletions(-)

diff --git a/ReviewSystem/ReviewSystem/ReviewInterface.h b/ReviewSystem/ReviewSystem/ReviewInterface.h
index 8f2d7ce..94ed860 100644
--- a/ReviewSystem/ReviewSystem/ReviewInterface.h
+++ b/ReviewSystem/ReviewSystem/ReviewInterface.h
@@ -46,6 +46,7 @@
 #include "DlgCommand.h"
 #include "DlgReviewPopUp.h"
 #include "DlgReviewHistoryTool.h"
+#include "DlgHardwareSettingMode.h"
 
 #include "CHTotalPitchMeasure/TotalPitchMeasure.h"
 #include "CHResultFileManager/StringRaw.h"
@@ -56,6 +57,8 @@
 #include "DlgDefocusList.h"
 #include "M_AutoDiagnosisManager/DiagnosisManager.h"
 #include "DlgSelfDiagnosis.h"
+
+#include "FTPUploadParam.h"
 
 typedef std::vector<CMotorCalibrator>						VectorMotorCalibrator;
 typedef std::vector<CMotorCalibrator>::iterator				VectorMotorCalibratorIt;
@@ -107,7 +110,8 @@
 							public IDialogReviewPopUP2Parent,
 	                        public IDiagnosisProcessor2Parent,
 							public IDialogReviewOffSet2Parent,
-							public IDialogReviewHistory2Parent
+							public IDialogReviewHistory2Parent,
+							public IDialogHardwareSettingMode2Parent
 {
 public:
 	CReviewInterface(void);
@@ -136,6 +140,7 @@
 	virtual void	IMC2P_GantrySoftWareTrigger(int nIndex, int nGantryIdx, int nTrigger);
 	virtual void    IMC2P_WsiGantrySoftWareTrigger(int nIndex, int nGantryIdx, int nTrigger);
 	virtual void	IMC2P_UpdateWsiMotionEnd(int nIndex, int nGantryIdx);
+	virtual void	IMC2P_SendMotorAliveErrorAlram();
 	virtual BOOL	IMC2P_GetUseWsi();
 
 	// WSI Controller 2 parent	
@@ -147,6 +152,9 @@
 	virtual void    IWC2P_SetWSIAliveCheck();
 	virtual BOOL	IWC2P_GetMeasureInfo(int nModuleIndex, int nPointIndex, short& nLoc, short& nOptic, short& nGray, CString& strCellID);
 	virtual int		IWC2P_GetCurrentStatus(int nModuleIndex, CString& strGlassID, CString& strRecipeID, int& nType);
+	/*< LYW 20220421 - #4086 ADD Start >*/
+	virtual void	IWC2P_SetWSIVersion(int nModuleIndex, int nVersion);
+	/*< LYW 20220421 - #4086 ADD End >*/
 	virtual void	IWC2P_SetConnectedStatus(int nModuleIndex, int nConnectStatus);
 	virtual void	IWC2P_RecvMeasureMessage(int nModuleIndex, int nMessageType, int nMessageResult);
 	virtual void	IWC2P_SetMeasureResult(int nModuleIndex, const SWsiResult& measureResut);
@@ -195,6 +203,10 @@
 	virtual void	IACC2P_CameraControl(int nValue);
 	virtual BOOL	IACC2P_SetLightLevel(int nCameraIndex, int nValue);
 	virtual BOOL	IACC2P_GetLightLevel(int nCameraIndex, int& nValue);
+	/*< LYW 20211014 - #3671 ADD Start >*/
+	virtual int		IACC2P_GetAccumaulate();
+	virtual void	IACC2P_SetAccumaulate(int dValue);
+	/*< LYW 20211014 - #3671 ADD End >*/
 
 	// review camera control 2 parent
 	virtual BOOL	IRCC2P_GetCurrentFrame(int nModuleIndex, int nCameraIndex, int nFrameWidth, int nFrameHeight, int nFrameChannels, CCHImageData *pImageData);
@@ -249,6 +261,7 @@
 	virtual void						IRP2P_UpdateCameraControl(int nModuleIdx, const SCameraControl *pCameraControl, const SCameraInfo* pCameraInfo);
 	virtual const CRsRcpReviewInfo*		IRP2P_Recipe_GetRsRcpReviewInfo();
 	virtual const CSystemInfo*          IRP2P_GetReviewSysteminfo();
+	virtual const CSignalControlInfo*	IRP2P_GetReviewSignalinfo();
 	virtual CGlassResult*				IRP2P_GetCurrentGlassResult();													
 	virtual void						IRP2P_DisplayMessage(const TCHAR* lpstrFormat, ...);
 	virtual CResultServerControl*		IRP2P_GetResultServerControl();
@@ -260,9 +273,20 @@
 	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);
 
@@ -277,6 +301,7 @@
 	virtual BOOL GetOffSetValue(int nModule, int nCam, int nScan, double dGlassXPos, double &dXpos, double &dYpos);
 
 	virtual BOOL IDRO2P_SetGlassMode(BOOL bMode, int nCamidx, int nScanidx, double nXpos, double nYpos);
+	virtual BOOL IDRO2P_SetOffsetPram(int nCamIdx, int nScanIdx, BOOL bUse = 0);
 
 
 protected: // Sequence Processor
@@ -295,6 +320,10 @@
 	virtual const CNetworkInfo*			ISP2P_System_GetNetworkInfo();
 
 	virtual	void						ISP2P_SetCurrentWsiMode(int nMode);
+
+	//#3561 210908 LYW ADD Start
+	virtual void	ISP2P_InitAlignCamera();
+	//#3561 210908 LYW ADD End
 
 	virtual CTotalPitchMeasure*			ISP2P_GetTotalPitchMeasure();
 
@@ -356,6 +385,21 @@
 	virtual CGlassResult*				ISP2P_GetGlassResult(int nIndex);					// get glass result
 	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 >*/
+	/*< LYW 20220415 - #4086 ADD Start >*/
+	virtual int							ISP2P_GetReviewSWVersion();
+	virtual int							ISP2P_GetSyncSWVersion();
+	virtual int							ISP2P_GetGRMSWVersion();
+	virtual int							ISP2P_GetFTPUploaderSWVersion();
+	virtual int							ISP2P_GetWSISWVersion(int nModuleIndex);
+	/*< LYW 20220415 - #4086 ADD End >*/
 
 	// History result
 	virtual CGlassResult*				ISP2P_GetNewHistoryResult(int& nHistoryResultCount);	// new glass result
@@ -488,6 +532,29 @@
 	virtual void	IDL2P_DisplayMessage(const TCHAR* lpstrFormat, ...);
 	virtual void   IDL2P_OpenOffSetTool();
 	virtual void   IDL2P_OpenHistoryTool();
+	/*< LYW 20211112 - #3708 ADD Start >*/
+	virtual void IDL2P_OpenHWSettingTool();
+	virtual BOOL	IDL2P_IsManualProcessMode();
+	/*< LYW 20211112 - #3708 ADD End >*/
+
+	// dialog HardwareSettingMode 2 Parent
+	// review camera
+	virtual int		IDHM2P_InitReviewCamera();
+	virtual void	IDHM2P_DeinitReviewCamera();
+	virtual int		IDHM2P_ConnectReviewCamera();
+	virtual void	IDHM2P_DisconnectReviewCamera();
+	virtual void	IDHM2P_ClearCameraControlObserverVector();
+
+	// AFM Control
+	virtual int		IDHM2P_InitAFMControl();
+	virtual void	IDHM2P_DeinitAFMControl();
+
+	// align camera
+	virtual int		IDHM2P_InitAlignCamera();
+	virtual void	IDHM2P_DeinitAlignCamera();
+
+	// is manual Mode?
+	virtual BOOL	IDHM2P_IsManualProcessMode();
 
 protected:
 	// Motor Control command
@@ -612,7 +679,16 @@
 
 	// setter internal
 	double	GetFreeSpaceOfDrive() const;
-	void	SetProgramVersion();
+	/*< LYW 20220415 - #4086 ADD Start >*/
+	static void	threadSet3rdPartyProgramVersion(void* pArg);
+	void	SetReviewProgramVersion();
+	/*< LYW 20220426 - #4086 ADD Start >*/
+	void	Start3rdPartyProgram();
+	int		StartWindowIDProgram(CString WindowID, CString ProgramPath);
+	void	Terminate3rdPartyProgram();
+	void	TerminateWindowIDProgram(CString WindowID);
+	/*< LYW 20220426 - #4086 ADD End >*/
+	/*< LYW 20220415 - #4086 ADD End >*/
 		
 	void	ApplySystemSettingValue();
 	void	SetDefaultValue();
@@ -799,6 +875,15 @@
 	CString						m_strProgramVersion;			// program version
 	CProcessTimer				m_ProcessTimer;					// process timer
 	SThetaMotorInfo				m_sThetaMotorInfo;				// theta motor info
+
+	/*< LYW 20220415 - #4086 ADD Start >*/
+	long						m_nFDCGRMSWVersion;
+	long						m_nFDCFTPUploaderSWVersion;
+	long						m_nFDCSyncSWVersion;
+	long						m_nFDCReviewSWVersion;
+	long						m_nFDCWSISWVersion00;
+	long						m_nFDCWSISWVersion01;
+	/*< LYW 20220415 - #4086 ADD End >*/
 	
 	// multi variable	
 	VectorModuleStatus			m_vecModuleStatus;				// Review Module Status Vector	

--
Gitblit v1.9.3