diff --git a/MatterControlLib/PrinterCommunication/Drivers/Emulator/Emulator.cs b/MatterControlLib/PrinterCommunication/Drivers/Emulator/Emulator.cs index 844718cf3..b7743b25e 100644 --- a/MatterControlLib/PrinterCommunication/Drivers/Emulator/Emulator.cs +++ b/MatterControlLib/PrinterCommunication/Drivers/Emulator/Emulator.cs @@ -92,6 +92,7 @@ namespace MatterHackers.PrinterEmulator public event EventHandler ZPositionChanged; public event EventHandler EPositionChanged; + public event EventHandler RecievedInstruction; // Instance reference allows test to access the most recently initialized emulator public static Emulator Instance { get; private set; } @@ -178,6 +179,8 @@ namespace MatterHackers.PrinterEmulator { try { + RecievedInstruction?.Invoke(this, inCommand); + // Remove line returns var commandNoNl = inCommand.Split('\n')[0]; // strip of the trailing cr (\n) var command = ParseChecksumLine(commandNoNl); diff --git a/Tests/MatterControl.AutomationTests/ReSliceTests.cs b/Tests/MatterControl.AutomationTests/ReSliceTests.cs index 198e5defd..79b0e8540 100644 --- a/Tests/MatterControl.AutomationTests/ReSliceTests.cs +++ b/Tests/MatterControl.AutomationTests/ReSliceTests.cs @@ -72,6 +72,14 @@ namespace MatterHackers.MatterControl.Tests.Automation double lastAbsoluteEPostion = 0; double largestAbsoluteEPosition = 0; double largestRetraction = 0; + emulator.RecievedInstruction += (e, s) => + { + if(s.Contains("G92")) + { + int a = 0; + } + }; + emulator.EPositionChanged += (e, s) => { largestAbsoluteEPosition = Math.Max(largestAbsoluteEPosition, emulator.CurrentExtruder.AbsoluteEPosition);