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
This commit is contained in:
Indy Jones
2026-06-20 14:16:37 +02:00
committed by GitHub
parent 0335d76d30
commit 9173adebf6
13 changed files with 13 additions and 13 deletions

View File

@@ -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": [

View File

@@ -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": [

View File

@@ -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": [

View File

@@ -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": [

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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",

View File

@@ -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"
],

View File

@@ -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"
],

View File

@@ -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"
],

View File

@@ -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"
],

View File

@@ -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]",