creating new test

This commit is contained in:
Lars Brubaker 2020-12-17 17:30:19 -08:00
parent cddf939868
commit b37b6b4e8a
4 changed files with 646 additions and 16 deletions

View file

@ -77,7 +77,8 @@ namespace MatterHackers.MatterControl.PrintLibrary
var openButton = new IconButton(StaticData.Instance.LoadIcon("fa-folder-open_16.png", 16, 16, theme.InvertIcons), theme)
{
BackgroundColor = theme.MinimalShade,
Margin = new BorderDouble(left: 8)
Margin = new BorderDouble(left: 8),
Name = "Open File Button"
};
openButton.Click += (s, e) =>
{

View file

@ -1,6 +1,7 @@
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using MatterHackers.MatterControl.SlicerConfiguration;
using NUnit.Framework;
namespace MatterHackers.MatterControl.Tests.Automation
@ -23,24 +24,21 @@ namespace MatterHackers.MatterControl.Tests.Automation
//Get parts to add
string rowItemPath = MatterControlUtilities.GetTestItemPath("Batman.stl");
//Add STL part items to Downloads and then type paths into file dialog
testRunner.Delay(1);
testRunner.Type(MatterControlUtilities.GetTestItemPath("Batman.stl"));
testRunner.Delay(1);
testRunner.Type("{Enter}");
testRunner.Delay(1)
.Type(MatterControlUtilities.GetTestItemPath("Batman.stl"))
.Delay(1)
.Type("{Enter}");
//Get test results
testRunner.ClickByName("Row Item Batman.stl");
testRunner.ClickByName("Row Item Batman.stl")
.ClickByName("Print Library Overflow Menu")
.ClickByName("Export Menu Item")
.Delay(2)
.WaitForName("Export Item Window");
testRunner.ClickByName("Print Library Overflow Menu");
testRunner.ClickByName("Export Menu Item");
testRunner.Delay(2);
testRunner.WaitForName("Export Item Window");
testRunner.ClickByName("Machine File (G-Code) Button");
testRunner.ClickByName("Export Button");
testRunner.Delay(2);
testRunner.ClickByName("Machine File (G-Code) Button")
.ClickByName("Export Button")
.Delay(2);
string gcodeOutputPath = MatterControlUtilities.PathToExportGcodeFolder;
@ -57,5 +55,61 @@ namespace MatterHackers.MatterControl.Tests.Automation
return Task.FromResult(0);
});
}
[Test]
public async Task ExportStreamG92HandlingTest()
{
var startGCode = "G28\\nM109 S[Temperature]\\nG1 Y5 X5 Z0.8 F1800\\nG92 E0\\nG1 X100 Z0.3 E25 F900\\nG92 E0\\nG1 E-2 F2400\\nG92 E0\\nG1 E1 F900";
await MatterControlUtilities.RunTest(testRunner =>
{
testRunner.WaitForFirstDraw();
testRunner.CloneAndSelectPrinter("No Retraction after Purge.printer");
var printer = testRunner.FirstPrinter();
printer.Settings.SetValue(SettingsKey.start_gcode, startGCode);
//Navigate to Downloads Library Provider
testRunner.NavigateToFolder("Print Queue Row Item Collection");
testRunner.InvokeLibraryAddDialog();
//Get parts to add
string rowItemPath = MatterControlUtilities.GetTestItemPath("Batman.stl");
testRunner.Delay(1)
.Type(MatterControlUtilities.GetTestItemPath("Batman.stl"))
.Delay(1)
.Type("{Enter}");
//Get test results
testRunner.ClickByName("Row Item Batman.stl")
.ClickByName("Print Library Overflow Menu")
.ClickByName("Export Menu Item")
.Delay(2)
.WaitForName("Export Item Window");
testRunner.ClickByName("Machine File (G-Code) Button")
.ClickByName("Export Button")
.Delay(2);
string gcodeOutputPath = MatterControlUtilities.PathToExportGcodeFolder;
Directory.CreateDirectory(gcodeOutputPath);
string fullPathToGcodeFile = Path.Combine(gcodeOutputPath, "Batman");
testRunner.Type(fullPathToGcodeFile);
testRunner.Type("{Enter}");
var filename = fullPathToGcodeFile + ".gcode";
testRunner.WaitFor(() => File.Exists(filename), 10)
.Delay(2);
var gcode = File.ReadAllLines(filename);
// make sure the file has the expected header
return Task.FromResult(0);
});
}
}
}

View file

@ -430,6 +430,36 @@ namespace MatterHackers.MatterControl.Tests.Automation
return testRunner;
}
public static AutomationRunner CloneAndSelectPrinter(this AutomationRunner testRunner, string profileName)
{
testRunner.GetWidgetByName("PartPreviewContent", out SystemWindow systemWindow, 10);
testRunner.WaitforDraw(systemWindow) // make sure we wait for MC to be up and running
.EnsureWelcomePageClosed(); // close the welcome message
if (testRunner.NamedWidgetExists("Cancel Wizard Button"))
{
testRunner.ClickByName("Cancel Wizard Button");
}
// go to the start page
testRunner.ClickByName("Hardware Tab")
.ClickByName("Import Printer Button");
string profilePath = TestContext.CurrentContext.ResolveProjectPath(4, "Tests", "TestData", "TestProfiles", profileName);
// Apply filter
testRunner.ClickByName("Open File Button")
.Type(Path.GetFullPath(profilePath)) // open the right file
.ClickByName("Import Button") // Continue to next page
.Delay()
.Type("{Enter}")
.ClickByName("Next Button") // Continue to next page
.Delay();
return testRunner;
}
public static AutomationRunner EnsureWelcomePageClosed(this AutomationRunner testRunner)
{
// Close the WelcomePage window if active

View file

@ -0,0 +1,545 @@
{
"DocumentVersion": 201606271,
"ID": "E-223-4666503325286400",
"Macros": [
{
"Name": "Deploy Probe",
"GCode": "M280 P0 S10",
"LastModified": "0001-01-01T00:00:00"
},
{
"Name": "Retract Probe",
"GCode": "M280 P0 S90",
"LastModified": "0001-01-01T00:00:00"
},
{
"Name": "Release Probe Alarm",
"GCode": "M280 P0 S160",
"LastModified": "0001-01-01T00:00:00"
},
{
"Name": "Test Probe",
"GCode": "M280 P0 S60",
"LastModified": "0001-01-01T00:00:00"
}
],
"MaterialLayers": [
{
"layer_name": "PRO Series PLA (w/Buildtak bed)",
"filament_density": "1.24",
"layer_id": "09e848d1-7f40-4344-aae0-b449f60caee7",
"bed_temperature": "55",
"temperature": "210",
"min_fan_speed": "70",
"max_fan_speed": "100",
"bridge_fan_speed": "100",
"retract_restart_extra": "0",
"retract_restart_extra_time_to_apply": "0",
"min_fan_speed_layer_time": "180",
"max_fan_speed_layer_time": "60",
"filament_cost": "42",
"disable_fan_first_layers": "5",
"extrusion_multiplier": "0.97"
},
{
"layer_name": "PRO Series RYNO",
"layer_id": "267fe79f-73cf-4096-8cf2-ef32f02b4deb",
"temperature": "245",
"filament_density": "1.28",
"bed_temperature": "55",
"bridge_fan_speed": "50",
"max_fan_speed": "100",
"min_fan_speed": "35",
"min_fan_speed_layer_time": "15",
"max_fan_speed_layer_time": "10",
"filament_cost": "64",
"extrusion_multiplier": "0.95",
"disable_fan_first_layers": "3"
},
{
"layer_name": "Build Series PLA (w/LayerLock PEI bed)",
"filament_density": "1.24",
"layer_id": "4870359d-72b8-49c8-b179-fbbdc485e405",
"bed_temperature": "75",
"temperature": "205",
"min_fan_speed": "70",
"max_fan_speed": "100",
"bridge_fan_speed": "100",
"layer_etag": "",
"layer_source": "",
"filament_cost": "19.99",
"min_fan_speed_layer_time": "180",
"max_fan_speed_layer_time": "60",
"extrusion_multiplier": "0.97",
"disable_fan_first_layers": "5"
},
{
"layer_name": "PRO Series Nylon",
"layer_id": "6197509f-948d-4940-8e0d-f457fa61b85c",
"temperature": "250",
"bed_temperature": "55",
"retract_restart_extra": "0",
"retract_restart_extra_time_to_apply": "0",
"filament_density": "1.1",
"filament_cost": "73.3"
},
{
"layer_name": "NylonX",
"layer_id": "72a66f1c-2c30-43d8-8748-2a5ab2035143",
"retract_restart_extra_time_to_apply": "0",
"retract_restart_extra": "0",
"temperature": "255",
"bed_temperature": "60",
"filament_density": "1.01",
"filament_cost": "116",
"min_fan_speed": "35",
"max_fan_speed": "100",
"raft_fan_speed_percent": "0",
"bridge_fan_speed": "50",
"min_fan_speed_layer_time": "10",
"max_fan_speed_layer_time": "10"
},
{
"layer_name": "NylonG",
"layer_id": "adfe9a38-6a4c-401f-945d-f4c041d282ac",
"retract_restart_extra_time_to_apply": "0",
"retract_restart_extra": "0",
"temperature": "255",
"bed_temperature": "60",
"filament_density": "1.01",
"filament_cost": "128",
"min_fan_speed": "35",
"max_fan_speed": "100",
"raft_fan_speed_percent": "0",
"bridge_fan_speed": "50",
"min_fan_speed_layer_time": "10",
"max_fan_speed_layer_time": "10",
"layer_etag": "",
"layer_source": ""
},
{
"layer_name": "Build Series PETg (w/LayerLock PEI bed)",
"layer_id": "d605aeba-d45d-4c50-a77b-23356aa22e34",
"temperature": "245",
"filament_density": "1.28",
"bed_temperature": "75",
"bridge_fan_speed": "25",
"max_fan_speed": "100",
"min_fan_speed": "35",
"min_fan_speed_layer_time": "25",
"max_fan_speed_layer_time": "10",
"layer_etag": "",
"layer_source": "",
"extrusion_multiplier": "0.95",
"filament_cost": "24.99"
},
{
"layer_name": "Build Series ABS",
"filament_density": "1.04",
"layer_id": "4133af8d-7a86-44d4-9457-75dd67b3930b",
"bed_temperature": "100",
"temperature": "235",
"min_fan_speed": "70",
"max_fan_speed": "100",
"bridge_fan_speed": "50",
"merge_overlapping_lines": "1",
"enable_fan": "1",
"layer_etag": "",
"layer_source": "",
"min_fan_speed_layer_time": "8",
"max_fan_speed_layer_time": "8",
"create_skirt": "0",
"create_brim": "1",
"brims": "5mm",
"filament_cost": "19.99"
},
{
"layer_name": "PRO Series ABS",
"filament_density": "1.04",
"layer_id": "2fcdc1dc-3741-4ed7-b252-563a6342cec6",
"bed_temperature": "100",
"temperature": "240",
"min_fan_speed": "70",
"max_fan_speed": "100",
"bridge_fan_speed": "50",
"merge_overlapping_lines": "1",
"enable_fan": "1",
"layer_etag": "",
"layer_source": "",
"filament_cost": "42",
"min_fan_speed_layer_time": "8",
"max_fan_speed_layer_time": "8",
"disable_fan_first_layers": "5"
},
{
"layer_name": "Build Series PETg (w/Buildtak bed)",
"layer_id": "f81ed578-eb8b-4f51-9320-db3988734864",
"temperature": "245",
"filament_density": "1.28",
"bed_temperature": "55",
"bridge_fan_speed": "25",
"max_fan_speed": "100",
"min_fan_speed": "35",
"min_fan_speed_layer_time": "25",
"max_fan_speed_layer_time": "10",
"layer_etag": "",
"layer_source": "",
"extrusion_multiplier": "0.95",
"filament_cost": "24.99"
},
{
"layer_name": "Build Series PLA (w/Buildtak bed)",
"filament_density": "1.24",
"layer_id": "658c5cea-a363-460a-ab6e-fe881604b972",
"bed_temperature": "55",
"temperature": "205",
"min_fan_speed": "70",
"max_fan_speed": "100",
"bridge_fan_speed": "100",
"layer_etag": "",
"layer_source": "",
"filament_cost": "19.99",
"min_fan_speed_layer_time": "180",
"max_fan_speed_layer_time": "60",
"extrusion_multiplier": "0.97",
"disable_fan_first_layers": "5"
},
{
"layer_name": "PRO Series Tough PLA (w/LayerLock PEI bed)",
"layer_id": "c9a009f8-c99e-4bce-a9a7-f33c55065a26",
"temperature": "215",
"bed_temperature": "75",
"min_fan_speed_layer_time": "180",
"max_fan_speed_layer_time": "60",
"min_fan_speed": "60",
"disable_fan_first_layers": "5",
"extrusion_multiplier": "0.97",
"filament_cost": "52"
},
{
"layer_name": "PRO Series Tough PLA (w/Buildtak bed)",
"layer_id": "d7b0e9eb-36e2-46ea-809e-5eb1c09b6043",
"temperature": "215",
"bed_temperature": "55",
"min_fan_speed_layer_time": "180",
"max_fan_speed_layer_time": "60",
"min_fan_speed": "60",
"disable_fan_first_layers": "5",
"extrusion_multiplier": "0.97",
"filament_cost": "52",
"layer_etag": "",
"layer_source": ""
},
{
"layer_name": "PRO Series PLA (w/LayerLock PEI bed)",
"filament_density": "1.24",
"layer_id": "67f2259e-bb58-4563-b824-513cb4267e39",
"bed_temperature": "65",
"temperature": "210",
"min_fan_speed": "100",
"max_fan_speed": "100",
"bridge_fan_speed": "100",
"retract_restart_extra": "0",
"retract_restart_extra_time_to_apply": "0",
"min_fan_speed_layer_time": "300",
"max_fan_speed_layer_time": "60",
"filament_cost": "42",
"disable_fan_first_layers": "5",
"extrusion_multiplier": "0.97",
"layer_etag": "",
"layer_source": ""
}
],
"OemLayer": {
"avoid_crossing_perimeters": "1",
"bed_shape": "rectangular",
"bed_size": "250,220",
"bed_temperature": "55",
"bottom_clip_amount": "0",
"bridge_acceleration": "0",
"bridge_fan_speed": "100",
"bridge_flow_ratio": "1",
"bridge_speed": "15",
"brim_width": "0",
"build_height": "210",
"cancel_gcode": "M77 ; stop print timer\\nG28 Z0\\nG28 Y0\\nG0 X5 Y215 F[travel_speed]\\nM106 S0\\n\\n\\nM300 S2400 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S2400 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S2400 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S2400 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S2000 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S1600 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\nM300 S1200 P30 ; Cancel Tone\\nM300 S800 P30 ; Cancel Tone\\n\\n",
"center_part_on_bed": "1",
"complete_objects": "0",
"cool_extruder_lift": "0",
"cooling": "1",
"create_raft": "0",
"default_acceleration": "1300",
"disable_fan_first_layers": "1",
"end_gcode": "M77 ; stop print timer\\nG91\\nG1 E-[retract_length] F[retract_speed]\\nG90\\nG0 X5 Y215 F[travel_speed]\\nG28 Z0 ; Retract and move away, then home Z axis\\n\\nM104 S0 ; turn off temperature\\nM140 S0 ; turn off heat bed\\nM106 S0 ; turn off layer fan\\nM84 ; disable motors\\n\\nM300 S1760 P20 ; End Tone\\nM300 S880 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S880 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S880 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S880 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2794 P20 ; End Tone\\nM300 S1397 P20 ; End Tone\\nM300 S2794 P20 ; End Tone\\nM300 S1397 P20 ; End Tone\\nM300 S2794 P20 ; End Tone\\nM300 S1397 P20 ; End Tone\\nM300 S2794 P20 ; End Tone\\nM300 S1397 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2637 P20 ; End Tone\\nM300 S1318 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S2217 P20 ; End Tone\\nM300 S1108 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone\\nM300 S3520 P20 ; End Tone\\nM300 S1760 P20 ; End Tone",
"external_perimeter_speed": "25",
"external_perimeters_first": "0",
"extra_perimeters": "1",
"extruder_clearance_height": "20",
"extruder_clearance_radius": "20",
"extruder_count": "1",
"extruder_offset": "0x0,0x0,0x0,0x0",
"extruders_share_temperature": "0",
"extrusion_axis": "E",
"extrusion_multiplier": "1",
"extrusion_width": "0",
"fan_always_on": "0",
"fan_below_layer_time": "60",
"filament_diameter": "1.73",
"fill_angle": "90",
"fill_density": "25%",
"fill_pattern": "honeycomb",
"first_layer_acceleration": "0",
"first_layer_bed_temperature": "75",
"first_layer_height": "0.25",
"first_layer_speed": "18",
"first_layer_temperature": "205",
"g0": "0",
"gap_fill_speed": "20",
"gcode_arcs": "0",
"gcode_comments": "0",
"gcode_flavor": "reprap",
"gcode_output_type": "REPRAP",
"has_fan": "1",
"has_heated_bed": "1",
"has_sd_card_reader": "0",
"include_firmware_updater": "Simple Arduino",
"infill_acceleration": "0",
"infill_every_layers": "1",
"infill_extruder": "1",
"infill_extrusion_width": "0",
"infill_first": "0",
"infill_only_where_needed": "0",
"infill_overlap_perimeter": "70%",
"infill_speed": "60",
"infill_type": "TRIANGLES",
"layer_height": "0.2",
"max_fan_speed": "100",
"min_extrusion_before_retract": "0",
"min_fan_speed": "100",
"min_print_speed": "20",
"min_skirt_length": "5",
"notes": "",
"nozzle_diameter": "0.4",
"only_retract_when_crossing_perimeters": "1",
"ooze_prevention": "0",
"output_filename_format": "[input_filename_base].gcode",
"overhangs": "1",
"pause_gcode": "M76 ; pause print timer\\nG91\\nG1 Z10 E-5.0 F1800\\nG90\\n\\nM300 S3000 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S3000 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S3000 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S3000 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S750 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S750 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S750 P30 ; Pause Tone\\nM300 S1500 P30 ; Pause Tone\\nM300 S750 P30 ; Pause Tone",
"perimeter_acceleration": "800",
"perimeter_extruder": "1",
"perimeter_extrusion_width": "0",
"perimeter_speed": "55",
"perimeters": "3",
"post_process": "",
"print_center": "125,110",
"raft_air_gap": "0.25",
"raft_extra_distance_around_part": "5",
"raft_extruder": "0",
"raft_fan_speed_percent": "100",
"raft_layers": "0",
"raft_print_speed": "40",
"randomize_start": "0",
"repair_outlines_extensive_stitching": "0",
"repair_outlines_keep_open": "0",
"resolution": "0",
"resume_gcode": "M75 ; start print timer \\nG91\\nG1 Z-10 F1800\\nG90\\n\\nM300 S750 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S750 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S750 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S750 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S3000 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S3000 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S3000 P30 ; Resume Tone\\nM300 S1500 P30 ; Resume Tone\\nM300 S3000 P30 ; Resume Tone",
"retract_before_travel": "5",
"retract_layer_change": "1",
"retract_length": "4",
"retract_length_tool_change": "10",
"retract_lift": "0",
"retract_restart_extra": "0",
"retract_restart_extra_toolchange": "0",
"retract_speed": "40",
"skirt_distance": "3",
"skirt_height": "1",
"skirts": "2",
"slowdown_below_layer_time": "20",
"small_perimeter_speed": "30",
"solid_fill_pattern": "rectilinear",
"solid_infill_below_area": "70",
"solid_infill_every_layers": "0",
"solid_infill_extrusion_width": "0",
"solid_infill_speed": "60",
"spiral_vase": "0",
"standby_temperature_delta": "-5",
"start_gcode": "G28 ; home all axes\\nM109 S[temperature]\\n\\nG1 Y5 X5 Z0.8 F1800 ; Purge line\\nG92 E0 ; Purge line\\nG1 X100 Z0.3 E25 F900 ; Purge line\\nG92 E0 ; Purge line\\nG1 E-2 F2400 ; Purge line\\nM75 ; start print timer ",
"start_perimeters_at_concave_points": "0",
"start_perimeters_at_non_overhang": "0",
"support_material": "0",
"support_material_angle": "45",
"support_material_create_perimeter": "0",
"support_material_enforce_layers": "0",
"support_material_extruder": "1",
"support_material_extrusion_width": "0",
"support_material_infill_angle": "45",
"support_material_interface_extruder": "1",
"support_material_interface_layers": "1mm",
"support_material_interface_spacing": "0",
"support_material_pattern": "honeycomb",
"support_material_spacing": "3",
"support_material_speed": "40",
"support_material_threshold": "0",
"support_material_xy_distance": "2",
"support_material_z_distance": "0.15",
"support_material_z_gap_layers": "1",
"support_type": "LINES",
"temperature": "210",
"thin_walls": "1",
"threads": "2",
"toolchange_gcode": "",
"top_infill_extrusion_width": "0",
"top_solid_infill_speed": "30",
"top_solid_layers": "1mm",
"travel_speed": "200",
"use_firmware_retraction": "0",
"use_relative_e_distances": "0",
"vibration_limit": "0",
"wipe": "0",
"wipe_shield_distance": "0",
"wipe_tower_size": "0",
"z_can_be_negative": "1",
"z_offset": "0",
"make": "Pulse",
"model": "E-223",
"created_date": "08/31/2020 19:06:28",
"baud_rate": "250000",
"default_material_presets": "PLA",
"windows_driver": "MHSerial.inf",
"calibration_files": "Calibration - Box.stl",
"active_theme_name": "Blue - Light",
"show_reset_connection": "0",
"z_homes_to_max": "1",
"filament_cost": "0",
"bottom_solid_layers": "1mm",
"print_leveling_required_to_print": "1",
"manual_probe_paper_width": "0.1",
"recover_is_enabled": "1",
"z_offset_after_home": "2",
"printer_z_after_home": "178",
"manual_movement_speeds": "x,5400,y,5400,z,1200,e0,210",
"baby_step_z_offset": "0",
"print_leveling_solution": "5x5 Mesh",
"expand_thin_walls": "1",
"merge_overlapping_lines": "1",
"active_quality_key": "",
"auto_connect": "1",
"has_z_probe": "1",
"use_z_probe": "1",
"has_z_servo": "1",
"z_servo_depolyed_angle": "10",
"z_servo_retracted_angle": "90",
"z_probe_samples": "1",
"feedrate_ratio": "1",
"print_leveling_probe_start": "10",
"retract_restart_extra_time_to_apply": "0",
"write_regex": "\"^(G28)\",\"G28,M280 P0 S160,G4 P400,M280 P0 S90\"\\n\"^(M106)\", \"M106 P1\"",
"slicing_engine": "MatterSlice",
"filament_runout_sensor": "1",
"support_air_gap": "0.4",
"probe_has_been_calibrated": "0",
"load_filament_length": "598",
"load_filament_speed": "35",
"unload_filament_length": "700",
"driver_type": "RepRap",
"enable_network_printing": "0",
"enable_retractions": "1",
"retract_when_changing_islands": "1",
"create_skirt": "1",
"enable_fan": "1",
"perimeter_start_end_overlap": "25",
"max_velocity": "200",
"max_acceleration": "3000",
"min_fan_speed_layer_time": "15",
"max_fan_speed_layer_time": "10",
"jerk_velocity": "10",
"layer_to_pause": "",
"filament_has_been_loaded": "0",
"xy_offsets_have_been_calibrated": "0",
"filament_1_has_been_loaded": "0",
"probe_offset": "23,0,-1.6",
"coast_at_end_distance": "0.4",
"air_gap_speed": "40",
"interface_layer_speed": "40",
"connect_gcode": "M300 S800 P20 ; Connect Tone\\nM300 S900 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1000 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1100 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1200 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1300 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1400 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1500 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone\\nM300 S800 P20 ; Connect Tone\\nM300 S1600 P30 ; Connect Tone",
"progress_reporting": "M73",
"firmware_type": "Marlin",
"active_material_key": "67f2259e-bb58-4563-b824-513cb4267e39",
"print_leveling_data": "",
"print_leveling_enabled": "0",
"baby_step_z_offset_t1": "0",
"baby_step_z_offset_t2": "0",
"baby_step_z_offset_t3": "0",
"oem_profile_token": "ag9zfm1hdHRlcmNvbnRyb2xyQwsSCUFmZmlsaWF0ZRiAgKDWiK6yCAwLEgZEZXZpY2UYgIDQv6mjpwkMCxINRGV2aWNlUHJvZmlsZRiAgLCgv-nSCAw"
},
"QualityLayers": [
{
"external_perimeter_speed": "12",
"fill_density": "15%",
"perimeter_speed": "20",
"layer_name": "High - 0.2mm",
"layer_id": "16cf98d7-2eb6-4a7c-8656-20e58e434ed0"
},
{
"external_perimeter_speed": "12",
"fill_density": "15%",
"layer_height": "0.1",
"perimeter_speed": "20",
"layer_name": "High - 0.1mm",
"layer_id": "068f4328-1ce4-42fd-9768-dea0cac51ef8"
},
{
"fill_density": "15%",
"layer_name": "Standard - 0.2mm",
"layer_id": "beb4aaa4-edd2-4219-84ac-07fcc42dcc3f"
},
{
"bottom_solid_layers": "1.2mm",
"fill_density": "8%",
"first_layer_height": "0.3",
"infill_type": "GYROID",
"layer_height": "0.3",
"perimeters": "2",
"top_solid_layers": "1.5mm",
"layer_name": "Draft - 0.3mm",
"layer_id": "888cb6ab-8c77-407e-87aa-457990148892"
}
],
"StagedUserSettings": {
"bed_temperature": "55",
"retract_restart_extra": "0",
"retract_restart_extra_time_to_apply": "0"
},
"UserLayer": {
"printer_name": "Pulse E-423S - Marlin",
"device_token": "ag9zfm1hdHRlcmNvbnRyb2xyFAsSB1ByaW50ZXIYgICwyI-FpQgM",
"support_air_gap": "0.5",
"retract_speed": "40",
"manual_movement_speeds": "x,4800,y,4800,z,1200,e0,210",
"baby_step_z_offset": "-0.16",
"DESKTOP-J3CFEL1_com_port": "COM5",
"temperature": "205",
"print_leveling_probe_start": "7",
"filament_has_been_loaded": "1",
"print_leveling_data": "{\"SampledPositions\":[{\"X\":25.0,\"Y\":22.0,\"Z\":3.25},{\"X\":69.25,\"Y\":22.0,\"Z\":3.12},{\"X\":113.5,\"Y\":22.0,\"Z\":2.89},{\"X\":157.75,\"Y\":22.0,\"Z\":2.74},{\"X\":202.0,\"Y\":22.0,\"Z\":2.6},{\"X\":202.0,\"Y\":66.0,\"Z\":2.77},{\"X\":157.75,\"Y\":66.0,\"Z\":2.87},{\"X\":113.5,\"Y\":66.0,\"Z\":2.98},{\"X\":69.25,\"Y\":66.0,\"Z\":3.19},{\"X\":25.0,\"Y\":66.0,\"Z\":3.28},{\"X\":25.0,\"Y\":110.0,\"Z\":3.26},{\"X\":69.25,\"Y\":110.0,\"Z\":3.12},{\"X\":113.5,\"Y\":110.0,\"Z\":2.95},{\"X\":157.75,\"Y\":110.0,\"Z\":2.87},{\"X\":202.0,\"Y\":110.0,\"Z\":2.81},{\"X\":202.0,\"Y\":154.0,\"Z\":2.81},{\"X\":157.75,\"Y\":154.0,\"Z\":2.89},{\"X\":113.5,\"Y\":154.0,\"Z\":2.96},{\"X\":69.25,\"Y\":154.0,\"Z\":3.1},{\"X\":25.0,\"Y\":154.0,\"Z\":3.17},{\"X\":25.0,\"Y\":198.0,\"Z\":3.05},{\"X\":69.25,\"Y\":198.0,\"Z\":2.97},{\"X\":113.5,\"Y\":198.0,\"Z\":2.87},{\"X\":157.75,\"Y\":198.0,\"Z\":2.81},{\"X\":202.0,\"Y\":198.0,\"Z\":2.77}],\"LevelingSystem\":\"Probe5x5Mesh\",\"CreationDate\":\"2020-12-14T09:32:55.3033031-08:00\",\"BedTemperature\":65.0,\"IssuedLevelingTempWarning\":false}",
"print_leveling_enabled": "1",
"probe_offset": "23,0,-0.79",
"probe_has_been_calibrated": "1",
"avoid_crossing_perimeters": "1",
"merge_overlapping_lines": "1",
"expand_thin_walls": "1",
"bridge_speed": "20",
"first_layer_speed": "25",
"extrusion_ratio": "1",
"feedrate_ratio": "1",
"external_perimeter_speed": "45",
"slowdown_below_layer_time": "20",
"create_brim": "0",
"validate_leveling": "1",
"top_solid_infill_speed": "40",
"support_material_xy_distance": "1",
"spiral_vase": "0",
"perimeter_acceleration": "0",
"default_acceleration": "0"
}
}