From b8dd2d3ca884454e3766e635b072617946c8041a Mon Sep 17 00:00:00 2001 From: Indy Jones <2567378+indyjonesnl@users.noreply.github.com> Date: Sat, 20 Jun 2026 14:16:37 +0200 Subject: [PATCH] Fix start G-code: wait for nozzle temperature before purge line (#14120) Several Artillery and Flashforge machine profiles set the first-layer nozzle temperature with M104 (set, no wait) immediately before the purge/prime line. The purge then runs before the nozzle reaches temperature, so filament is extruded through a nozzle that is not yet hot enough to melt it. Changed M104 to M109 so the printer waits for the target temperature before purging. Affected profiles: - Artillery Sidewinder X3 Plus / X3 Pro / X4 Plus / X4 Pro (0.4 nozzle) - Flashforge AD5X (0.25/0.4/0.6/0.8) - Flashforge Adventurer 5M / 5M Pro (0.25/0.8 overrides + shared fdm_adventurer5m_common, which also covers the 0.4/0.6 variants via inheritance) Refs #4337 --- .../machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json | 2 +- .../machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json | 2 +- .../machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json | 2 +- .../machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json | 2 +- .../Flashforge/machine/FlashForge AD5X 0.25 nozzle.json | 2 +- .../profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json | 2 +- .../profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json | 2 +- .../profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json | 2 +- .../machine/Flashforge Adventurer 5M 0.25 Nozzle.json | 2 +- .../Flashforge/machine/Flashforge Adventurer 5M 0.8 Nozzle.json | 2 +- .../machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json | 2 +- .../machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json | 2 +- .../profiles/Flashforge/machine/fdm_adventurer5m_common.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json index c3b0c9ad03..2b30199703 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Plus 0.4 nozzle.json @@ -123,7 +123,7 @@ "0" ], "machine_pause_gcode": "M600", - "machine_start_gcode": "M140 S60\nM104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nNOZZLE_WIPE\nM140 S[first_layer_bed_temperature];\nM104 S[first_layer_temperature];\nDRAW_LINE_ONLY", + "machine_start_gcode": "M140 S60\nM104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nNOZZLE_WIPE\nM140 S[first_layer_bed_temperature];\nM109 S[first_layer_temperature];\nDRAW_LINE_ONLY", "machine_unload_filament_time": "0", "manual_filament_change": "0", "max_layer_height": [ diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json index bf80a64634..44abb53442 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X3 Pro 0.4 nozzle.json @@ -126,7 +126,7 @@ "0" ], "machine_pause_gcode": "M600", - "machine_start_gcode": "M140 S60\nM104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nNOZZLE_WIPE\nM140 S[first_layer_bed_temperature];\nM104 S[first_layer_temperature];\nDRAW_LINE_ONLY", + "machine_start_gcode": "M140 S60\nM104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nNOZZLE_WIPE\nM140 S[first_layer_bed_temperature];\nM109 S[first_layer_temperature];\nDRAW_LINE_ONLY", "machine_unload_filament_time": "0", "manual_filament_change": "0", "max_layer_height": [ diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json index 6a59739fd8..47dd74a6cf 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Plus 0.4 nozzle.json @@ -126,7 +126,7 @@ "0" ], "machine_pause_gcode": "M600", - "machine_start_gcode": "M104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nG1 X230 Y300 Z10 F5000\nSET_KINEMATIC_POSITION Y=0\nG1 Y20 F4000\nG1 X230 F4000\nG1 Z-1 F600 \nG1 X270 F4000\nG1 Y25 F4000\nG1 X230 F4000\nG92 E0\nG1 Z10 F1200\nG1 Y0 F5000\nG1 E-1 F3000\nM400\nSET_KINEMATIC_POSITION Y=300\nG92 E-1\nM140 S[first_layer_bed_temperature];\nM104 S[first_layer_temperature];\nG1 X0 Y0.8 Z0.8 F18000\nG92 E0\nG1 X0 Y0.8 Z0.3 E8 F600\nG92 E0\nG1 X200 Y0.8 Z0.3 F1800.0 E20.0;draw line\nG92 E0\nG1 X200 Y0 Z0.3 F1800.0 E0.08;draw line\nG92 E0\nG1 X100 Y0 Z0.3 F1800.0 E10.0;draw line\nG92 E0\nG1 X100 Y1.6 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 X180 Y1.6 Z0.3 F1800.0 E8;draw line\nG92 E0\nG1 X180 Y0 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 E-1 Z5 F18000\nG92 E0", + "machine_start_gcode": "M104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nG1 X230 Y300 Z10 F5000\nSET_KINEMATIC_POSITION Y=0\nG1 Y20 F4000\nG1 X230 F4000\nG1 Z-1 F600 \nG1 X270 F4000\nG1 Y25 F4000\nG1 X230 F4000\nG92 E0\nG1 Z10 F1200\nG1 Y0 F5000\nG1 E-1 F3000\nM400\nSET_KINEMATIC_POSITION Y=300\nG92 E-1\nM140 S[first_layer_bed_temperature];\nM109 S[first_layer_temperature];\nG1 X0 Y0.8 Z0.8 F18000\nG92 E0\nG1 X0 Y0.8 Z0.3 E8 F600\nG92 E0\nG1 X200 Y0.8 Z0.3 F1800.0 E20.0;draw line\nG92 E0\nG1 X200 Y0 Z0.3 F1800.0 E0.08;draw line\nG92 E0\nG1 X100 Y0 Z0.3 F1800.0 E10.0;draw line\nG92 E0\nG1 X100 Y1.6 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 X180 Y1.6 Z0.3 F1800.0 E8;draw line\nG92 E0\nG1 X180 Y0 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 E-1 Z5 F18000\nG92 E0", "machine_unload_filament_time": "0", "manual_filament_change": "0", "max_layer_height": [ diff --git a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json index 31d4f4def6..2c46fd17d7 100644 --- a/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json +++ b/resources/profiles/Artillery/machine/Artillery Sidewinder X4 Pro 0.4 nozzle.json @@ -126,7 +126,7 @@ "0" ], "machine_pause_gcode": "M600", - "machine_start_gcode": "M104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nG1 X180 Y247 Z10 F5000\nSET_KINEMATIC_POSITION Y=0\nG1 Y11 F4000\nG1 X180 F4000\nG1 Z-1 F600 \nG1 X230 F4000\nG1 Y15 F4000\nG1 X180 F4000\nG92 E0\nG1 Z10 F1200\nG1 Y0 F5000\nG1 E-1 F3000\nM400\nSET_KINEMATIC_POSITION Y=247\nG92 E-1\nM140 S[first_layer_bed_temperature];\nM104 S[first_layer_temperature];\nG1 X0 Y0.8 Z0.8 F18000\nG92 E0\nG1 X0 Y0.8 Z0.3 E8 F600\nG92 E0\nG1 X170 Y0.8 Z0.3 F1800.0 E17.0;draw line\nG92 E0\nG1 X170 Y0 Z0.3 F1800.0 E0.08;draw line\nG92 E0\nG1 X70 Y0 Z0.3 F1800.0 E10.0;draw line\nG92 E0\nG1 X70 Y1.6 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 X150 Y1.6 Z0.3 F1800.0 E8;draw line\nG92 E0\nG1 X150 Y0 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 E-1 Z5 F18000\nG92 E0\n", + "machine_start_gcode": "M104 S140\nM190 S[first_layer_bed_temperature]\nM109 S{temperature_vitrification[0]}\nG28;\nG1 X180 Y247 Z10 F5000\nSET_KINEMATIC_POSITION Y=0\nG1 Y11 F4000\nG1 X180 F4000\nG1 Z-1 F600 \nG1 X230 F4000\nG1 Y15 F4000\nG1 X180 F4000\nG92 E0\nG1 Z10 F1200\nG1 Y0 F5000\nG1 E-1 F3000\nM400\nSET_KINEMATIC_POSITION Y=247\nG92 E-1\nM140 S[first_layer_bed_temperature];\nM109 S[first_layer_temperature];\nG1 X0 Y0.8 Z0.8 F18000\nG92 E0\nG1 X0 Y0.8 Z0.3 E8 F600\nG92 E0\nG1 X170 Y0.8 Z0.3 F1800.0 E17.0;draw line\nG92 E0\nG1 X170 Y0 Z0.3 F1800.0 E0.08;draw line\nG92 E0\nG1 X70 Y0 Z0.3 F1800.0 E10.0;draw line\nG92 E0\nG1 X70 Y1.6 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 X150 Y1.6 Z0.3 F1800.0 E8;draw line\nG92 E0\nG1 X150 Y0 Z0.3 F1800.0 E0.16;draw line\nG92 E0\nG1 E-1 Z5 F18000\nG92 E0\n", "machine_unload_filament_time": "0", "manual_filament_change": "0", "max_layer_height": [ diff --git a/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json b/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json index 76115eb831..a8872eab42 100644 --- a/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json +++ b/resources/profiles/Flashforge/machine/FlashForge AD5X 0.25 nozzle.json @@ -125,7 +125,7 @@ "0" ], "machine_pause_gcode": "M25", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E1.8 F900\nG1 X200 E6 F1800\nG0 Y219.6\nG1 X130 E3 F1800\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E1.8 F900\nG1 X200 E6 F1800\nG0 Y219.6\nG1 X130 E3 F1800\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "39", "manual_filament_change": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json index 413dea999e..38741af4d0 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.4 nozzle.json @@ -125,7 +125,7 @@ "0" ], "machine_pause_gcode": "M25", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "39", "manual_filament_change": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json index 67aed19095..942f176431 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.6 nozzle.json @@ -125,7 +125,7 @@ "0" ], "machine_pause_gcode": "M25", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "39", "manual_filament_change": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json index 0ec9627adb..2bf624af31 100644 --- a/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge AD5X 0.8 nozzle.json @@ -126,7 +126,7 @@ "0" ], "machine_pause_gcode": "M25", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z2 F6000\nG1 X50 Y220 Z0.25 F4800\nG1 X70 E3 F900\nG1 X200 E10 F1800\nG0 Y219.6\nG1 X130 E5 F1800\nG92 E0", "machine_tool_change_time": "0", "machine_unload_filament_time": "39", "manual_filament_change": "0", diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.25 Nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.25 Nozzle.json index 1cac2b6eae..111677c034 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.25 Nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.25 Nozzle.json @@ -17,7 +17,7 @@ "min_layer_height": [ "0.08" ], - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG90 E0\nM83\nG1 E-1 F600\nG1 E8 F300\nG1 X85 Y110 Z0.2 F1200\nG1 X-110 E15 F2400\nG1 Y0 E4 F2400\nG1 X-109.6 F2400\nG1 Y110 E5 F2400\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG90 E0\nM83\nG1 E-1 F600\nG1 E8 F300\nG1 X85 Y110 Z0.2 F1200\nG1 X-110 E15 F2400\nG1 Y0 E4 F2400\nG1 X-109.6 F2400\nG1 Y110 E5 F2400\nG92 E0", "retraction_length": [ "1" ], diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.8 Nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.8 Nozzle.json index 68fd1a2008..6a1506f0c3 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.8 Nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M 0.8 Nozzle.json @@ -11,7 +11,7 @@ "0.8" ], "printer_variant": "0.8", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-1.5 F600\nG1 E12 F800\nG1 X85 Y110 Z0.3 F1200\nG1 X-110 E30 F2400\nG1 Y0 E8 F2400\nG1 X-109.6 F2400\nG1 Y110 E10 F2400\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-1.5 F600\nG1 E12 F800\nG1 X85 Y110 Z0.3 F1200\nG1 X-110 E30 F2400\nG1 Y0 E8 F2400\nG1 X-109.6 F2400\nG1 Y110 E10 F2400\nG92 E0", "max_layer_height": [ "0.56" ], diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json index 0d7344f89a..0c7280cc16 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.25 Nozzle.json @@ -17,7 +17,7 @@ "min_layer_height": [ "0.08" ], - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG90 E0\nM83\nG1 E-1 F600\nG1 E8 F300\nG1 X85 Y110 Z0.2 F1200\nG1 X-110 E15 F2400\nG1 Y0 E4 F2400\nG1 X-109.6 F2400\nG1 Y110 E5 F2400\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG90 E0\nM83\nG1 E-1 F600\nG1 E8 F300\nG1 X85 Y110 Z0.2 F1200\nG1 X-110 E15 F2400\nG1 Y0 E4 F2400\nG1 X-109.6 F2400\nG1 Y110 E5 F2400\nG92 E0", "retraction_length": [ "1" ], diff --git a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json index 0bd0b840bc..7484969d54 100644 --- a/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json +++ b/resources/profiles/Flashforge/machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json @@ -11,7 +11,7 @@ "0.8" ], "printer_variant": "0.8", - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-1.5 F600\nG1 E12 F800\nG1 X85 Y110 Z0.3 F1200\nG1 X-110 E30 F2400\nG1 Y0 E8 F2400\nG1 X-109.6 F2400\nG1 Y110 E10 F2400\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-1.5 F600\nG1 E12 F800\nG1 X85 Y110 Z0.3 F1200\nG1 X-110 E30 F2400\nG1 Y0 E8 F2400\nG1 X-109.6 F2400\nG1 Y110 E10 F2400\nG92 E0", "max_layer_height": [ "0.56" ], diff --git a/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json b/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json index fed3eb1fff..6002dfb72e 100644 --- a/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json +++ b/resources/profiles/Flashforge/machine/fdm_adventurer5m_common.json @@ -96,7 +96,7 @@ "default_filament_profile": [ "Flashforge Generic PLA" ], - "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-0.2 F800\nG1 X110 Y-110 F6000\nG1 E2 F800\nG1 Y-110 X55 Z0.25 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG1 Y-110 X55 Z0.45 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG92 E0", + "machine_start_gcode": "M190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer]\nG90\nM83\nG1 Z5 F6000\nG1 E-0.2 F800\nG1 X110 Y-110 F6000\nG1 E2 F800\nG1 Y-110 X55 Z0.25 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG1 Y-110 X55 Z0.45 F4800\nG1 X-55 E8 F2400\nG1 Y-109.6 F2400\nG1 X55 E5 F2400\nG92 E0", "machine_end_gcode": "G1 E-3 F3600\nG0 X50 Y50 F30000\nM104 S0 ; turn off temperature", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",