Files
klipper-web-control-docker/config/client_macros.cfg
Dieter Schmidt b6c2e0c7e5 add variables to load & unload macros
default:
- LOAD FILAMENT E=400 (tube length)
- UNLOAD_FILAMENT E=420 (tube length + extruder)
2022-01-18 22:30:07 +01:00

230 lines
5.3 KiB
INI
Executable File

[gcode_macro START_PRINT]
gcode:
{% set T_BED = params.T_BED|default(60) %}
{% set T_EXTRUDER = params.T_EXTRUDER|default(215) %}
M83
# Use absolute coordinates but realative extrusions
G90
G92 E0 ; reset extruder distance
M117 Preheating bed...
# Start bed heating and continue
M140 S{T_BED}
{% if printer.heater_bed.temperature < params.T_BED|float*0.7 %}
M190 S{params.T_BED|float*0.7} # wait till 70% of target bed temp is reached, then continue
{% endif %}
M117 Heating...
M140 S{T_BED}
M109 S{T_EXTRUDER}
M190 S{T_BED}
M117 Homing...
G28
# Reset the G-Code Z offset (adjust Z offset if needed)
SET_GCODE_OFFSET Z=0.0 MOVE=1
# Use the bed mesh
BED_MESH_PROFILE LOAD=default
# Prime line
PRIME_LINE
M117 Printing...
[gcode_macro PRIME_LINE]
gcode:
M117 Priming the nozzle
G1 Z0.2 F240
G1 Y{ (range(0, 8) | random) * 0.64} F1200 ; Set random start Y between 0 and ~5mm
G1 X30 E6 F1200.0 ; pressure build up line
G1 X95 Z0.4 E9 F1500.0 ; intro line
G1 Z2 F3000 ; Move Z Axis up little
G1 X100 Z0.2 F3000.0 ; Move over and stick remainings to the bed
G92 E0 ; reset extruder distance
[gcode_macro END_PRINT]
gcode:
# Turn off bed, extruder, and fan
M140 S0
M104 S0
M106 S0
# Move nozzle away from print while retracting
G91
G1 X-2 Y-2 E-3 F300
# Raise nozzle by 10mm
G1 Z10 F600
G90
# Disable steppers
M84
[pause_resume]
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
gcode:
{% set X = params.X|default(5) %}
{% set Y = params.Y|default(5) %}
{% set Z = params.Z|default(10) %}
{% set E = params.E|default(5) %}
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F1900
G1 Z{Z}
G90
G1 X{X} Y{Y} F6000
[gcode_macro CLEAR_PAUSE]
rename_existing: BASE_CLEAR_PAUSE
gcode:
{% set X = params.X|default(5) %}
{% set Y = params.Y|default(205) %}
{% set Z = params.Z|default(10) %}
{% set E = params.E|default(5) %}
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F1900
G1 Z{Z}
G90
G1 X{X} Y{Y} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
{% set E = params.E|default(5) %}
G91
G1 E{E} F1900
G90
RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1
BASE_RESUME
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TURN_OFF_HEATERS
CLEAR_PAUSE
SDCARD_RESET_FILE
BASE_CANCEL_PRINT
[gcode_macro MAINTENANCE]
gcode:
SAVE_GCODE_STATE NAME=PAUSE_state
G1 X110 Y5 Z66.5 F600
M84
# Park toolhead
[gcode_macro M125]
gcode:
SAVE_GCODE_STATE NAME=parking
M117 Parking toolhead
G91
G1 Z5 F600 # move up 5 mm
G90
G1 X25 Y0 F4000 # move to park position
RESTORE_GCODE_STATE NAME=parking
# LOW_TEMP_CHECK checks if there is a setpoint for the extruder.
# - If this setpoint is reached, continue.
# - If not, heat to setpoint.
# - If no setpoint, heat to parameter T (default@200)
[gcode_macro LOW_TEMP_CHECK]
gcode:
{% set T = params.T|default(215) %}
{% if printer.extruder.target != 0 %} # if there is a setpoint for extruder
{% if printer.extruder.temperature < printer.extruder.target %} # if not reached, heat
M117 Heating from {printer.extruder.temperature} to {printer.extruder.target}.
M109 S{printer.extruder.target|float}
{% endif %}
{% else %} # if no setpoint for extruder
{% if printer.extruder.target < T %} # heat to T.
M117 No setpoint, heating to {T}.
M109 S{T}
{% endif %}
{% endif %}
# load filament alias
[gcode_macro M701]
gcode:
LOAD_FILAMENT
# load filament
[gcode_macro LOAD_FILAMENT]
gcode:
{% set E = params.E|default(400) %}
SAVE_GCODE_STATE NAME=loading_filament
M117 Loading Filament
G91 # set relative
G92 E0.0
LOW_TEMP_CHECK
G1 E15 F120 # pull filament slowly into extruder
G1 E{E} F1500 # length of bowden tube till cold-end (~420mm)
G1 E25 F120 # some extra to prime the nozzle --> slower
G92 E0.0
RESTORE_GCODE_STATE NAME=loading_filament
# unload filament alias
[gcode_macro M702]
gcode:
UNLOAD_FILAMENT
# unload filament
[gcode_macro UNLOAD_FILAMENT]
gcode:
{% set E = params.E|default(420) %}
SAVE_GCODE_STATE NAME=unloading_filament
M117 Unloading Filament
LOW_TEMP_CHECK
G91 # set relative
G1 E8 F100
G1 E2 F300
G1 E-10 F1800
G1 E-{E} F1500 # the E is the length of the bowden tube (420mm)
G92 E0.0
RESTORE_GCODE_STATE NAME=unloading_filament
# filament change
[gcode_macro M600]
gcode:
M117 Filament Change
SAVE_GCODE_STATE NAME=filament_change
BASE_PAUSE
LOW_TEMP_CHECK
G91 # relative
G1 E-1 F300 # retract 1
M125 # park
UNLOAD_FILAMENT # unload
M117 New filament
COUNTDOWN TIME=25 MSG="Switch"
LOAD_FILAMENT
COUNTDOWN TIME=10 MSG="Clean"
BASE_RESUME
M117 Resuming
RESTORE_GCODE_STATE NAME=filament_change
M117 Printing..
[gcode_macro COUNTDOWN]
gcode:
{% set MSG = params.MSG|default(Time)|string %}
{% set TIME = params.TIME|default(10) %}
# countdown
{% for s in range(TIME|int, 0, -1) %}
# dwell 1 second
G4 P1000
# echo
M117 {params.MSG} {s}sec
{% endfor %}