Files
2024-01-17 18:06:55 +01:00

188 lines
5.3 KiB
INI

[gcode_macro START_PRINT]
gcode:
#Get Bed and Extruder temperature from Slicer GCode
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %}
CLEAR_PAUSE
G90
ELED_ON
M117 Heatup Bed {BED_TEMP} degres Nozzle {EXTRUDER_TEMP} degres
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={BED_TEMP}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={BED_TEMP*0.96} MAXIMUM={BED_TEMP*1.04}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={EXTRUDER_TEMP}
G28
BED_MESH_PROFILE LOAD=default
G1 Z10 F3000 ; move z up little to prevent scratching of surface
G1 X2 Y2 Z10 F5000.0 ; move to start-line position
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP*0.98} MAXIMUM={EXTRUDER_TEMP*1.02}
PRIME_LINE
M117
[gcode_macro END_PRINT]
gcode:
ELED_OFF
M117 End print
TURN_OFF_HEATERS
M117 Present print
PRESENT_PRINT
M117
M84
[gcode_macro PRIME_LINE]
gcode:
SAVE_GCODE_STATE NAME=prime_line_state
#Precondition extruder
G92 E0 ; reset extruder
G1 X2 Y20 Z1.0 F4000.0 ; move to start-line position
G1 X2 Y20 Z0.3 F300.0 ; move z up little to prevent scratching of surface
G1 X2 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X2 Y200.0 Z0.4 F5000.0 ; move to side a little
G1 X2 Y20 Z0.4 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
G1 Z1.0 F300 ; move z up little to prevent scratching of surface
RESTORE_GCODE_STATE NAME=prime_line_state
[gcode_macro PRESENT_PRINT]
gcode:
SAVE_GCODE_STATE NAME=present_print_state
{% set X_MAX = printer.toolhead.axis_maximum.x|float %}
{% set Y_MAX = printer.toolhead.axis_maximum.y|float %}
{% set Z_MAX = printer.toolhead.axis_maximum.z|float %}
{% set Z_PARK_MIN = 100 | float %}
{% set Z_PARK_LIFT = 10 | float %}
# Move nozzle away from print while retracting
G91
G1 E-3 F300
G90
{% if printer.toolhead.position.z + Z_PARK_LIFT > Z_PARK_MIN %}
G1 X{X_MAX / 2} Y{Y_MAX * 0.8} Z{printer.toolhead.position.z + Z_PARK_LIFT} F4000
{% else %}
G1 X{X_MAX / 2} Y{Y_MAX * 0.8} Z{Z_PARK_MIN} F4000
{% endif %}
RESTORE_GCODE_STATE NAME=present_print_state
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
PAUSE_BASE
SET_ELED RED=0.0 GREEN=1.0 BLUE=1.0
_TOOLHEAD_PARK_PAUSE_CANCEL
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro #####
{% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
ELED_ON
RESUME_BASE {get_params}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
variable_park: True
gcode:
## Move head and retract only if not already in the pause state and park set to true
{% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%}
_TOOLHEAD_PARK_PAUSE_CANCEL
{% endif %}
TURN_OFF_HEATERS
SET_ELED RED=1.0 GREEN=1.0
CANCEL_PRINT_BASE
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_extrude: 1.0
gcode:
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
{% set z_park_delta = 2.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - z_park_delta) %}
{% set z_safe = z_park_delta %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E-{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro ELED_ON]
description: Turn extruder LED on and resets led colors
gcode:
SET_ELED RED=1.0 GREEN=1.0 BLUE=1.0
[gcode_macro ELED_OFF]
description: Turn extruder LED strip off
gcode:
SET_ELED RED=0.0 GREEN=0.0 BLUE=0.0
[gcode_macro SET_ELED]
description: SET_LED extruder shortcut
#rename_existing: SET_LED_BASE
gcode:
{% set RED = params.RED|default(0)|float %}
{% set GREEN = params.GREEN|default(0)|float %}
{% set BLUE = params.BLUE|default(0)|float %}
{% set WHITE = params.BLUE|default(0)|float %}
SET_LED LED=extruder RED={RED} GREEN={GREEN} BLUE={BLUE} WHITE={WHITE}