From 154cfce360a831d18f3f21b4e1101b4e13440b74 Mon Sep 17 00:00:00 2001
From: 천호석 <hosuk1418@naver.com>
Date: 화, 11 10월 2022 13:19:52 +0900
Subject: [PATCH] 검사 개조, Measurement 후 Width 검사 추가. Recipe 위치 좌표 추가, 검사 Parameter 추가.

---
 SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs
index c615bca..ad858db 100644
--- a/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs
+++ b/SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs
@@ -473,6 +473,49 @@
             Ack = new MeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Point1, Result_Mark1Point2, Result_Mark2Point1, Result_Mark2Point2, Result_Mark3Point1, Result_Mark3Point2, Result_Mark4Point1, Result_Mark4Point2, Result_MarkDistance, Result_AlignResult);
         }
 
+        public void Recv_WidthMeasurement_Result(byte[] Recvdata, out WidthMeasurementResultAck Ack)
+        {
+            byte[] size = new byte[4];
+            byte[] command = new byte[2];
+            byte[] MsgIndex = new byte[4]; //TimeStamp (HHMMSSmsmsms)
+            byte[] ModuleIdx = new byte[4]; //移대찓�씪 Module Idx (0: Left, 1: Right)
+            byte[] MeasureResult = new byte[4]; //0 : Fail, 1 : Success
+            byte[] Mark1Width = new byte[8]; //Mark1�쓽 �꼻�씠
+            byte[] Mark2Width = new byte[8]; //Mark2�쓽 �꼻�씠
+            byte[] Mark3Width = new byte[8]; //Mark3�쓽 �꼻�씠
+            byte[] Mark4Width = new byte[8]; //Mark4�쓽 �꼻�씠
+
+            int copylength = 0;
+            Array.Copy(Recvdata, size, size.Length);
+            copylength += size.Length;
+            Array.Copy(Recvdata, copylength, command, 0, command.Length);
+            copylength += command.Length;
+            Array.Copy(Recvdata, copylength, MsgIndex, 0, MsgIndex.Length);
+            copylength += MsgIndex.Length;
+            Array.Copy(Recvdata, copylength, ModuleIdx, 0, ModuleIdx.Length);
+            copylength += ModuleIdx.Length;
+            Array.Copy(Recvdata, copylength, MeasureResult, 0, MeasureResult.Length);
+            copylength += MeasureResult.Length;
+            Array.Copy(Recvdata, copylength, Mark1Width, 0, Mark1Width.Length);
+            copylength += Mark1Width.Length;
+            Array.Copy(Recvdata, copylength, Mark2Width, 0, Mark2Width.Length);
+            copylength += Mark2Width.Length;
+            Array.Copy(Recvdata, copylength, Mark3Width, 0, Mark3Width.Length);
+            copylength += Mark3Width.Length;
+            Array.Copy(Recvdata, copylength, Mark4Width, 0, Mark4Width.Length);
+            copylength += Mark4Width.Length;
+
+            int Result_MsgIndex = BitConverter.ToInt32(MsgIndex, 0);
+            int Result_ModuleIdx = BitConverter.ToInt32(ModuleIdx, 0);
+            int Result_MeasureResult = BitConverter.ToInt32(MeasureResult, 0);
+            double Result_Mark1Width = BitConverter.ToDouble(Mark1Width, 0);
+            double Result_Mark2Width = BitConverter.ToDouble(Mark2Width, 0);
+            double Result_Mark3Width = BitConverter.ToDouble(Mark3Width, 0);
+            double Result_Mark4Width = BitConverter.ToDouble(Mark4Width, 0);
+
+            Ack = new WidthMeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Width, Result_Mark2Width, Result_Mark3Width, Result_Mark4Width);
+        }
+
         public void Recv_Fine_Align_Result(byte[] Recvdata, out FineAlignResultAck Ack)
         {
             byte[] size = new byte[4];

--
Gitblit v1.9.3