/// <summary> /// This is a blocking call that doesn't finish until the requested pattern is confirmed to be displayed. /// </summary> /// <param name="p"> The pattern to be displayed and confirmed. </param> protected override void ShowPattern(TrueTestPattern p) { if (p == null) { return; } // Check that the pattern is the appropriate type for the DI to send. if (!p.Pattern.GetType().Equals(typeof(SimplePattern))) { return; } AckRecieved = false; SimplePattern pattern = (SimplePattern)p.Pattern; string PatternNumber = pattern.ImageNumber.ToString(); List <string> PacketDataList = new List <string>() { PatternNumber }; PacketSerial PatternPacket = new PacketSerial(SerialCommand.ShowPattern, PacketDataList); PatternPacket.Send(this); if (!WaitForAck()) { // Fixture timed out changing the pattern WriteToLog("Fixture did not send the Pattern Ready (PR) command after TrueTest requested pattern #" + PatternNumber + "."); TrueTest.SequenceStop(); // Cancel sequence } }
private void ExposureComplete(object sender, ExposureCompleteEventArgs e) { ExposuresCompleted += 1; WriteToLog("Exposure Number " + ExposuresCompleted + " is complete."); if (ExposuresCompleted >= NumberOfSequenceExposures) { // We've taken all of the exposures and we can unload the panel now PacketSerial UnloadPacket = new PacketSerial(SerialCommand.Unload); UnloadPacket.Send(this); } }
public void SequenceComplete(object sender, SequenceCompleteEventsArgs e) { WriteToLog("Sequence Complete..."); string ResultString = e.PassFail == TrueTest.AnalysisResultEnum.Pass ? "OK" : "NG"; List <string> DataStringList = new List <string>() { ResultString }; PacketSerial ResultPacket = new PacketSerial(SerialCommand.Result, DataStringList); ResultPacket.Send(this); }