| | |
| | | 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]; |