public void FrameSetIsCommentTest4() { var s = "; 'Destring/Wipe/Jump Path', 0.0 [feed mm/s], 63.8 [head mm/s]"; var res = new GcodeParser(s).IsComment; Assert.IsTrue(res); }
public void FrameSetIsCommentTest7() { var s = string.Empty; var res = new GcodeParser(s).IsComment; Assert.IsFalse(res); }
public void FrameSetIsCommentTest6() { var s = " ; "; var res = new GcodeParser(s).IsComment; Assert.IsTrue(res); }
public GameObject RenderGcode() { Destroy(); float lineWidth = GcodeParser.GetInstance().GetLayerHeight() * 5; GcodeDrawLineManager.GetInstance().SetGcodeRenderBeans(GcodeParser.GetInstance().GetGcodeRenderPointList()); GcodeDrawLineManager.GetInstance().SetLineWidth(lineWidth); gcodeRenderGameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); gcodeRenderGameObject.name = "gcodeRenderGameObject"; gcodeRenderGameObject.GetComponent <Renderer>().enabled = false; foreach (VectorLine vectorLine in GcodeDrawLineManager.GetInstance().GetVectorLineList_types()) { vectorLine.drawTransform = gcodeRenderGameObject.transform; vectorLine.active = true; } foreach (VectorLine vectorLine in GcodeDrawLineManager.GetInstance().GetVectorLine_topLayer()) { vectorLine.drawTransform = gcodeRenderGameObject.transform; vectorLine.active = true; } _struct.isRendered = true; initColorScheme(); UpdatGcodePreviewColors(); SetActive_Top_Layer(true); GcodeDrawLineManager.GetInstance().SetColor_topLayer(GcodeTypeColor.Top_Layer); return(gcodeRenderGameObject); }
public void FrameSetIsCommentTest3() { var s = " head speed 63.800003, filament speed 0.000000, preload 0.000000"; var res = new GcodeParser(s).IsComment; Assert.IsFalse(res); }
public void GcodeParserSyntheticTests1() { foreach (var r in TestSuiteDataSource.TestSyntheticCodes) { var gcode = GcodeParser.ToGCode(r); Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame)); } }
public static GcodeParser GetInstance() { if (_INSTANCE == null) { _INSTANCE = new GcodeParser(); } return(_INSTANCE); }
public void NormalizeRawFrameTestSynthetic1() { const string def = "A1 B2 C3 D4 E5 F6 G7"; var comparer = def.Replace(" ", string.Empty); var parser = new GcodeParser(comparer); var res = parser.NormalizeRawFrame(); Assert.AreEqual(def, res); }
public void GcodeComment() { const string cmd = ";> ololo G1 X1 Y1 XZ0 ; this frame comment"; var gcode = GcodeParser.ToGCode(cmd); var gcodeRes = GcodeParser.ToStringCommand(gcode); Assert.AreEqual(cmd, gcodeRes); }
public void ToJsonTest4() { var ds = TestSuiteDataSource.Ds100Gcode.Split("\n"); foreach (var r in ds) { var res = GcodeParser.ToJson(r); Assert.IsTrue(res.StartsWith("{") && res.EndsWith("}")); } }
public void CheckSumTest4M115() { var cmd = TestSuiteDataSource.TestSyntheticCodes[6]; var g = GcodeParser.ToGCode(cmd); g.N = 6; var crc = GcodeCrc.FrameCrc(g); Assert.IsTrue(crc >= 0, $"{cmd}"); }
public void CheckSumTest1() { var cmd = TestSuiteDataSource.TestSyntheticCodes[0]; var g = GcodeParser.ToGCode(cmd); g.N = 1; var crc = GcodeCrc.FrameCrc(g); Assert.IsInstanceOfType(crc, typeof(int)); }
public void GcodeParserTests1() { var ds = TestSuiteDataSource.Ds100Gcode.Split("\n"); foreach (var r in ds) { var gcode = GcodeParser.ToGCode(r); Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame), $"{r}"); } }
public void CheckSumTest2() { for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++) { var cmd = TestSuiteDataSource.TestSyntheticCodes[i]; var g = GcodeParser.ToGCode(cmd); g.N = i; var crc = GcodeCrc.FrameCrc(g); Assert.IsInstanceOfType(crc, typeof(int)); } }
public void CheckSumTest3() { for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++) { var cmd = TestSuiteDataSource.TestSyntheticCodes[i]; var g = GcodeParser.ToGCode(cmd); g.N = i; var crc = GcodeCrc.FrameCrc(g); Assert.IsTrue(crc >= 0, $"{i} {cmd}"); } }
public void GcodeOrderSegmentTest1() { //M206 T3 P200 X89 ;extruder normal steps per mm var ds = TestSuiteDataSource.TestSyntheticCodes[0]; var gcode = GcodeParser.ToGCode(ds); gcode.N = 1; var dsExpected = $"N{gcode.N} {ds}"; var res = GcodeParser.ToStringCommand(gcode); Assert.AreEqual(dsExpected, res); }
public void GcodeParserTestsCheckSumIcTest1() { var ds = TestSuiteDataSource.TestSyntheticCodes[0]; var gcode = GcodeParser.ToGCode(ds); gcode.N = 1; gcode.CheckSum = GcodeCrc.FrameCrc(gcode); var resStr = GcodeParser.ToStringCommand(gcode); Assert.IsNotNull(resStr); Assert.IsTrue(resStr.Contains($"*{gcode.CheckSum}")); }
public void ToJsonTest1() { const string raw = "G1 X626.713 Y251.523 E12.01248; Haha"; var expected = "{\"G\":\"1\",\"X\":\"626.713\",\"Y\":\"251.523\",\"E\":\"12.01248\",\"Comment\":\"Haha\"}"; //\r\n\t expected = expected.Replace("\r", null); expected = expected.Replace("\n", null); expected = expected.Replace("\t", null); var res = GcodeParser.ToJson(raw); Assert.AreEqual(expected, res); }
public void CheckSumTest4() { var ds = TestSuiteDataSource.Ds100Gcode.Split("\n"); for (var i = 1; i < ds.Length; i++) { var cmd = ds[i]; var g = GcodeParser.ToGCode(cmd); g.N = i; var crc = GcodeCrc.FrameCrc(g); Assert.IsTrue(crc >= 0, $"{i} {cmd}"); } }
public void NormalizeRawFrameTestReal1() { var data = TestSuiteDataSource.ReadTextFromFile("pattern_blade_fp_piece2_v1.gcode").Split("\r\n"); foreach (var d in data) { var parser = new GcodeParser(d); if (!parser.IsComment) { var res = parser.NormalizeRawFrame(); Assert.AreEqual(d, res); } } }
public void NormalizeRawFrameTestReal_Cube() { var data = TestSuiteDataSource.ReadTextFromFile("100.gcode").Split("\r\n"); foreach (var d in data) { if (!d.Contains(";")) { var parser = new GcodeParser(d); var res = parser.NormalizeRawFrame(); Assert.AreEqual(d, res); } } }
public void NormalizeRawFrameTestReal2() { var data = TestSuiteDataSource.ReadTextFromFile("28.gcode.modified.gcode").Split("\r\n"); foreach (var d in data) { var parser = new GcodeParser(d); if (!parser.IsComment) { var res = parser.NormalizeRawFrame(); Assert.AreEqual(d, res); } } }
public void GcodeParserTests2() { //M206 T3 P200 X89 ; extruder normal steps per mm var ds = TestSuiteDataSource.TestSyntheticCodes[0]; var gcode = GcodeParser.ToGCode(ds); Assert.IsNotNull(gcode.M); Assert.AreEqual(206, gcode.M.Value); Assert.IsNotNull(gcode.T); Assert.AreEqual(3, gcode.T.Value); Assert.IsNotNull(gcode.P); Assert.AreEqual(200, gcode.P.Value); Assert.IsNotNull(gcode.X); Assert.AreEqual(89, gcode.X.Value); Assert.AreEqual("extruder normal steps per mm", gcode.Comment); }
public bool IsInBounds() { List <Vector2> list = GcodeParser.GetInstance().GetBounds(); if (list == null) { return(false); } Vector3 deviceSize = Global.GetInstance().GetPrinterParamsStruct().size; return ((list[0].x >= 0 && list[0].y <= deviceSize.x) && (list[1].x >= 0 && list[1].y <= deviceSize.y) && (list[2].y <= deviceSize.z)); }
/*************** public ***************/ public bool StartParseGcodeFile(string path) { if (string.IsNullOrEmpty(path) || path.Trim().Length == 0) { Debug.LogError("Error occur: StartParseGcodeFile [path is null]" + "\n"); return(false); } if (!File.Exists(path)) { Debug.LogError("Error occur: StartParseGcodeFile [file not exists:" + path + "]" + "\n"); return(false); } UnityEngine.Debug.Log("Start parse gcode file..." + "\n"); _struct.isParsing = true; _struct.isRendered = false; _struct.parseProgress = 0; StageManager.SetStage_Gcode_Render(); //cost long time if file is big GcodeParser.GetInstance().StartParseGcodeFile(path); if (GcodeParser.GetInstance().GetLayerCount() > 0) { foreach (Listener listener in _listenerList) { listener.OnGcodeParseSucceed(); } } else { foreach (Listener listener in _listenerList) { listener.OnGcodeParseFailed(); } } _struct.isParsing = false; _struct.parseProgress = 1; return(true); }
public void GcodeOrderSegmentTest2() { var ds = TestSuiteDataSource.Ds100Gcode.Split("\n"); foreach (var d in ds) { var s = d.Replace("\r", null); if (s == ";") { continue; } var gcode = GcodeParser.ToGCode(s); var gcodeStr = GcodeParser.ToStringCommand(gcode); var expectedResult = $"{s}"; if (string.IsNullOrWhiteSpace(gcode.Comment)) { Assert.AreEqual(expectedResult.Trim(), gcodeStr.Trim(), gcodeStr.Trim()); } } }
public void GcodeCheckSumTest1() { var gcodeCommands = TestSuiteDataSource.ReadTextFromFile("pattern_blade_fp_piece2_v1.gcode").Split("\r\n"); if (gcodeCommands == null || gcodeCommands.Length == 0) { return; } for (var i = 1; i < gcodeCommands.Length; i++) { var frame = gcodeCommands[i]; var parser = new GcodeParser(frame); if (!parser.IsComment) { var frameCrc = GcodeCrc.FrameCrc(i, frame); Assert.IsInstanceOfType(frameCrc, typeof(int)); } } }
public void GcodeCheckSumTest3() { var gcodeCommands = TestSuiteDataSource.ReadTextFromFile("100.gcode").Split("\r\n"); if (gcodeCommands == null || gcodeCommands.Length == 0) { return; } for (var i = 1; i < gcodeCommands.Length; i++) { var frame = gcodeCommands[i]; var parser = new GcodeParser(frame); if (!parser.IsComment) { var frameCrc = GcodeCrc.FrameCrc(i, frame); Assert.IsTrue(frameCrc > 0, $"CRC: {frameCrc} Failed at {i},frame: {frame} "); } } }
public void FrameSetContainsCommentTest2() { var res = new GcodeParser("").ContainsComment; Assert.IsFalse(res); }
public void FrameSetContainsCommentTest3() { var res = new GcodeParser("; > M206 T3 P149 X700.0 ; Y max len = 600.0").ContainsComment; Assert.IsFalse(res); }