V1: PRINT_START
PRINT_START macro#
This uses conditional macros
[gcode_macro PRINT_START]
gcode:
# print_start EXTRUDER=220 BED=60 CHAMBER=0
{% set BED_TEMP = params.BED|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER|default(170)|float %}
{% set CHAMBER = params.CHAMBER|default(40)|float %}
# reset timeout from whatever to 120m
SET_IDLE_TIMEOUT TIMEOUT=7200
M117 Preheating Buildplate {BED_TEMP}
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}
# wait for chamber to reach temp
# TEMPERATURE_WAIT SENSOR="temperature_sensor chamber" MINIMUM={params.CHAMBER|default(40)}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={params.CHAMBER|default(0)}
# reset timeout back to setting from config file
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}
M117 Start Preheat HE 150C
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=150
G32
M117 Re-Homing Z
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=150
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM=150
G28 Z
M117 Bed Mesh Calibration
BED_MESH_CALIBRATE
G28 Z
BED_MESH_PROFILE LOAD=default
M117 Preheat (Print)
# set temperatures
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP}
# wait for bed temperature
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP}
# wait for nozzle temperature
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP}
#Purge Line Gcode
M117 Purging...
G92 E0
G90
G0 X5 Y5 F6000
G0 Z0.4
G91
G1 E7 F360 ; push back some filament after earlier retraction of PRINT_END -11.5
G1 X120 E30 F1200
G1 Y1
G1 X-120 E30 F1200
G92 E0
G90
G1 Z15.0 F2400 ; move the platform away by 15mm and little faster
G1 X150 Y150 F10000 ; rip it out and tear away string, if there
G92 E0 ; zero the extruded length, again
G1 F9000 ; resetting speed?!
M117 Printing...