public void MachineStateTest(string machineState, MachineState expectedState, int expectedSubState) { var line = $"<{machineState}|MPos:0.000,0.000,0.000|FS:0.0,0>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.MachineState, expectedState); Assert.AreEqual(statusMsg.MachineSubState, expectedSubState); }
public void AccessoryTest(string accessoryInput, AccessoryState expectedAccessoryFlags) { var line = $"<Hold|WPos:-2.500,0.000,11.000|FS:0.0,0|{accessoryInput}|WCO:0.000,1.551,5.664>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.AccessoryState, expectedAccessoryFlags); }
public void LineNumberTest(string lineNumberInput, int expectedLineNumber) { var line = $"<Hold|WPos:-2.500,0.000,11.000|FS:0.0,0|{lineNumberInput}|WCO:0.000,1.551,5.664>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.LineNumber, expectedLineNumber); }
public void FeedSpeedTest(string feedSpeedInput, float expectedFeedrate, int expectedSpindleSpeed) { var line = $"<Hold|WPos:-2.500,0.000,11.000|FS:0.0,0|{feedSpeedInput}|WCO:0.000,1.551,5.664>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.Feed, expectedFeedrate); Assert.AreEqual(statusMsg.SpindleSpeed, expectedSpindleSpeed); }
public void OverrideTest(string overrideInput, int expectedFeedOverride, int expectedRapidOverride, int expectedSpindleSpeedOverride) { var line = $"<Hold|WPos:-2.500,0.000,11.000|FS:0.0,0|{overrideInput}|WCO:0.000,1.551,5.664>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.OverrideFeedPercent, expectedFeedOverride); Assert.AreEqual(statusMsg.OverrideRapidsPercent, expectedRapidOverride); Assert.AreEqual(statusMsg.OverrideSpindleSpeedPercent, expectedSpindleSpeedOverride); }
public void BufferStateTest(string bufferState, int expectedAvailableBlocksInPlanner, int expectedAvailableBytesInRx) { var line = $"<Hold|WPos:-2.500,0.000,11.000|FS:0.0,0|{bufferState}|WCO:0.000,1.551,5.664>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.IsNotNull(statusMsg.BufferState); Assert.AreEqual(statusMsg.BufferState.AvailableBlocksInPlannerBuffer, expectedAvailableBlocksInPlanner); Assert.AreEqual(statusMsg.BufferState.AvailableBytesInRxBuffer, expectedAvailableBytesInRx); }
public void WorkCoordinateOffsetTest(string workCoordinateOffset, float[] expectedOffset) { var line = $"<Hold|MPos:0.000,-10.000,5.000|FS:0.0,0|{workCoordinateOffset}>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; var testFloatArray = new float[4]; statusMsg.WorkCoordinateOffset.CopyTo(testFloatArray); for (int i = 0; i < testFloatArray.Length; i++) { Assert.AreEqual(testFloatArray[i], expectedOffset[i]); } }
public void CurrentPositionTest(string position, PositionType expectedPositionType, float[] expectedCoordinates) { var line = $"<Idle|{position}|FS:0.0,0>"; var msg = GrblMessage.Parse(line); Assert.IsNotNull(msg); Assert.IsInstanceOfType(msg, typeof(StatusReportMessage)); var statusMsg = msg as StatusReportMessage; Assert.AreEqual(statusMsg.PositionType, expectedPositionType); var testFloatArray = new float[4]; statusMsg.CurrentPosition.CopyTo(testFloatArray); for (int i = 0; i < testFloatArray.Length; i++) { Assert.AreEqual(testFloatArray[i], expectedCoordinates[i]); } }