Merge commit 'b2b98c057a7d23f9c8b0aec4c14844f7c24d6bde' into release
This commit is contained in:
commit
e052ab0957
@ -378,7 +378,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T0"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Left extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro T1]
|
||||
@ -405,7 +405,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T1"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder1 filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Right extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PROBE_SERVO_OPEN]
|
||||
@ -458,6 +458,10 @@ gcode:
|
||||
G92 E0
|
||||
M117 Printing start...
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
START_PRINT
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
gcode:
|
||||
M400
|
||||
@ -472,6 +476,10 @@ gcode:
|
||||
G0 X590 Y590 F3600
|
||||
# BED_MESH_CLEAR
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
END_PRINT
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
variable_load_distance: 120
|
||||
variable_purge_distance: 25
|
||||
@ -501,24 +509,6 @@ gcode:
|
||||
G1 E-{unload_distance} F{max_velocity} # fast-unload
|
||||
RESTORE_GCODE_STATE NAME=unload_state
|
||||
|
||||
[gcode_macro SET_X_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_x_offset=params.S|default(-60)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
|
||||
|
||||
[gcode_macro SET_Y_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_y_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
|
||||
|
||||
[gcode_macro SET_Z_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_z_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
|
||||
|
||||
[gcode_macro _ACTIVATE_DEFAULT_EXTRUDER]
|
||||
gcode:
|
||||
{% if printer.toolhead.extruder == 'extruder' %}
|
||||
@ -667,13 +657,13 @@ gcode:
|
||||
[gcode_macro _RESUME_EXTRUDER]
|
||||
gcode:
|
||||
{% set client = printer['gcode_macro RESUME']|default({}) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False)|lower %}
|
||||
{% set toolchange = client.change_runout|lower|default("") %}
|
||||
{% set extruder_filament = client.filament_state.extruder %}
|
||||
{% set extruder1_filament = client.filament_state.extruder1 %}
|
||||
{% set resume_extruder = client.resume_extruder|default("extruder") %}
|
||||
|
||||
{% if autoshift_on %}
|
||||
{% if autoshift_on == 'true' %}
|
||||
{% if extruder_filament and extruder1_filament %}
|
||||
{% if toolchange == "t0" %}
|
||||
{% set resume_extruder = "extruder" %}
|
||||
@ -711,8 +701,10 @@ gcode:
|
||||
{'index': 1, 'name': 'last_extruder1_temp'}] %}
|
||||
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
|
||||
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" %
|
||||
(printer.toolhead.extruder, value)}'
|
||||
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring %s extruder temperature, this may take some time." % msg}'
|
||||
{% endif %}
|
||||
{% for info in extruder_info %}
|
||||
{% set variable = printer["gcode_macro RESUME"][info.name] %}
|
||||
{% if variable.restore %}
|
||||
@ -732,10 +724,40 @@ gcode:
|
||||
|
||||
[gcode_macro _USER_CANCEL]
|
||||
gcode:
|
||||
{% if 'z' in printer.toolhead.homed_axes %}
|
||||
G91
|
||||
G1 Z30 F600 ; lift nozzle
|
||||
{% endif %}
|
||||
M84
|
||||
|
||||
[gcode_macro _CLIENT_EXTRUDE]
|
||||
description: Extrudes, if the extruder is hot enough
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
|
||||
{% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
|
||||
{% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
|
||||
{% set absolute_extrude = printer.gcode_move.absolute_extrude %}
|
||||
##### end of definitions #####
|
||||
{% if printer.toolhead.extruder != '' %}
|
||||
{% if printer[printer.toolhead.extruder].can_extrude %}
|
||||
{% if use_fw_retract %}
|
||||
{% if length < 0 %}
|
||||
G10
|
||||
{% else %}
|
||||
G11
|
||||
{% endif %}
|
||||
{% else %}
|
||||
M83
|
||||
G1 E{length} F{(speed|float|abs) * 60}
|
||||
{% if absolute_extrude %}
|
||||
M82
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
@ -745,10 +767,10 @@ variable_restore_idle_timeout: 0
|
||||
variable_idle_state: False
|
||||
variable_filament_state: ""
|
||||
variable_change_runout: ""
|
||||
variable_autoshift: False
|
||||
variable_resume_extruder: ""
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set autoshift = printer.save_variables.variables.auto_change_nozzle|default(False) %}
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set do_resume = False %}
|
||||
{% set runout = True %}
|
||||
@ -768,16 +790,10 @@ gcode:
|
||||
{% set do_resume = True %}
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
#### Printer comming out of regular PAUSE state ####
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
_ACT_RESUME DO_RESUME={do_resume}
|
||||
|
||||
@ -799,17 +815,17 @@ gcode:
|
||||
_CLIENT_EXTRUDE
|
||||
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE="False"
|
||||
{% else %}
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder not hot enough, will reheat and continue." % msg) %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder detects no filament, please load filament and continue." % msg) %}
|
||||
{% endif %}
|
||||
##### Generate User Information box in case of abort #####
|
||||
{% if not (filament_state and do_resume) %}
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME aborted !!!"
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME ABORTED !"
|
||||
{% for element in prompt_txt %}
|
||||
RESPOND TYPE=command MSG='{"action:prompt_text %s" % element}'
|
||||
{% endfor %}
|
||||
@ -860,14 +876,14 @@ gcode:
|
||||
{% if not filament_state %}
|
||||
PAUSE
|
||||
{% if autoshift_extruder %}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE=True
|
||||
{% if printer["gcode_macro RESUME"].filament_state[target_extruder] %}
|
||||
RESUME
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! All extruders filament has been run out."}'
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! \"%s\" filament has been run out." % printer.toolhead.extruder}'
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=error MSG='{"Noting! %s extruder filament has been run out." % msg}'
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -314,7 +314,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T0"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Left extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro T1]
|
||||
@ -341,7 +341,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T1"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder1 filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Right extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PROBE_SERVO_OPEN]
|
||||
@ -394,6 +394,10 @@ gcode:
|
||||
G92 E0
|
||||
M117 Printing start...
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
START_PRINT
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
gcode:
|
||||
M400
|
||||
@ -408,6 +412,10 @@ gcode:
|
||||
G0 X590 Y590 F3600
|
||||
# BED_MESH_CLEAR
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
END_PRINT
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
variable_load_distance: 120
|
||||
variable_purge_distance: 25
|
||||
@ -437,24 +445,6 @@ gcode:
|
||||
G1 E-{unload_distance} F{max_velocity} # fast-unload
|
||||
RESTORE_GCODE_STATE NAME=unload_state
|
||||
|
||||
[gcode_macro SET_X_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_x_offset=params.S|default(-60)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
|
||||
|
||||
[gcode_macro SET_Y_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_y_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
|
||||
|
||||
[gcode_macro SET_Z_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_z_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
|
||||
|
||||
[gcode_macro _ACTIVATE_DEFAULT_EXTRUDER]
|
||||
gcode:
|
||||
{% if printer.toolhead.extruder == 'extruder' %}
|
||||
@ -603,13 +593,13 @@ gcode:
|
||||
[gcode_macro _RESUME_EXTRUDER]
|
||||
gcode:
|
||||
{% set client = printer['gcode_macro RESUME']|default({}) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False)|lower %}
|
||||
{% set toolchange = client.change_runout|lower|default("") %}
|
||||
{% set extruder_filament = client.filament_state.extruder %}
|
||||
{% set extruder1_filament = client.filament_state.extruder1 %}
|
||||
{% set resume_extruder = client.resume_extruder|default("extruder") %}
|
||||
|
||||
{% if autoshift_on %}
|
||||
{% if autoshift_on == 'true' %}
|
||||
{% if extruder_filament and extruder1_filament %}
|
||||
{% if toolchange == "t0" %}
|
||||
{% set resume_extruder = "extruder" %}
|
||||
@ -647,8 +637,10 @@ gcode:
|
||||
{'index': 1, 'name': 'last_extruder1_temp'}] %}
|
||||
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
|
||||
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" %
|
||||
(printer.toolhead.extruder, value)}'
|
||||
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring %s extruder temperature, this may take some time." % msg}'
|
||||
{% endif %}
|
||||
{% for info in extruder_info %}
|
||||
{% set variable = printer["gcode_macro RESUME"][info.name] %}
|
||||
{% if variable.restore %}
|
||||
@ -668,10 +660,40 @@ gcode:
|
||||
|
||||
[gcode_macro _USER_CANCEL]
|
||||
gcode:
|
||||
{% if 'z' in printer.toolhead.homed_axes %}
|
||||
G91
|
||||
G1 Z30 F600 ; lift nozzle
|
||||
{% endif %}
|
||||
M84
|
||||
|
||||
[gcode_macro _CLIENT_EXTRUDE]
|
||||
description: Extrudes, if the extruder is hot enough
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
|
||||
{% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
|
||||
{% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
|
||||
{% set absolute_extrude = printer.gcode_move.absolute_extrude %}
|
||||
##### end of definitions #####
|
||||
{% if printer.toolhead.extruder != '' %}
|
||||
{% if printer[printer.toolhead.extruder].can_extrude %}
|
||||
{% if use_fw_retract %}
|
||||
{% if length < 0 %}
|
||||
G10
|
||||
{% else %}
|
||||
G11
|
||||
{% endif %}
|
||||
{% else %}
|
||||
M83
|
||||
G1 E{length} F{(speed|float|abs) * 60}
|
||||
{% if absolute_extrude %}
|
||||
M82
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
@ -681,10 +703,10 @@ variable_restore_idle_timeout: 0
|
||||
variable_idle_state: False
|
||||
variable_filament_state: ""
|
||||
variable_change_runout: ""
|
||||
variable_autoshift: False
|
||||
variable_resume_extruder: ""
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set autoshift = printer.save_variables.variables.auto_change_nozzle|default(False) %}
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set do_resume = False %}
|
||||
{% set runout = True %}
|
||||
@ -704,16 +726,10 @@ gcode:
|
||||
{% set do_resume = True %}
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
#### Printer comming out of regular PAUSE state ####
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
_ACT_RESUME DO_RESUME={do_resume}
|
||||
|
||||
@ -735,17 +751,17 @@ gcode:
|
||||
_CLIENT_EXTRUDE
|
||||
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE="False"
|
||||
{% else %}
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder not hot enough, will reheat and continue." % msg) %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder detects no filament, please load filament and continue." % msg) %}
|
||||
{% endif %}
|
||||
##### Generate User Information box in case of abort #####
|
||||
{% if not (filament_state and do_resume) %}
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME aborted !!!"
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME ABORTED !"
|
||||
{% for element in prompt_txt %}
|
||||
RESPOND TYPE=command MSG='{"action:prompt_text %s" % element}'
|
||||
{% endfor %}
|
||||
@ -796,14 +812,14 @@ gcode:
|
||||
{% if not filament_state %}
|
||||
PAUSE
|
||||
{% if autoshift_extruder %}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE=True
|
||||
{% if printer["gcode_macro RESUME"].filament_state[target_extruder] %}
|
||||
RESUME
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! All extruders filament has been run out."}'
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! \"%s\" filament has been run out." % printer.toolhead.extruder}'
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=error MSG='{"Noting! %s extruder filament has been run out." % msg}'
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -378,7 +378,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T0"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Left extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro T1]
|
||||
@ -405,7 +405,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T1"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder1 filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Right extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PROBE_SERVO_OPEN]
|
||||
@ -458,6 +458,10 @@ gcode:
|
||||
G92 E0
|
||||
M117 Printing start...
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
START_PRINT
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
gcode:
|
||||
M400
|
||||
@ -472,6 +476,10 @@ gcode:
|
||||
G0 X590 Y590 F3600
|
||||
# BED_MESH_CLEAR
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
END_PRINT
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
variable_load_distance: 120
|
||||
variable_purge_distance: 25
|
||||
@ -501,24 +509,6 @@ gcode:
|
||||
G1 E-{unload_distance} F{max_velocity} # fast-unload
|
||||
RESTORE_GCODE_STATE NAME=unload_state
|
||||
|
||||
[gcode_macro SET_X_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_x_offset=params.S|default(-60)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
|
||||
|
||||
[gcode_macro SET_Y_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_y_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
|
||||
|
||||
[gcode_macro SET_Z_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_z_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
|
||||
|
||||
[gcode_macro _ACTIVATE_DEFAULT_EXTRUDER]
|
||||
gcode:
|
||||
{% if printer.toolhead.extruder == 'extruder' %}
|
||||
@ -660,13 +650,13 @@ gcode:
|
||||
[gcode_macro _RESUME_EXTRUDER]
|
||||
gcode:
|
||||
{% set client = printer['gcode_macro RESUME']|default({}) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False)|lower %}
|
||||
{% set toolchange = client.change_runout|lower|default("") %}
|
||||
{% set extruder_filament = client.filament_state.extruder %}
|
||||
{% set extruder1_filament = client.filament_state.extruder1 %}
|
||||
{% set resume_extruder = client.resume_extruder %}
|
||||
|
||||
{% if autoshift_on %}
|
||||
{% if autoshift_on == 'true' %}
|
||||
{% if extruder_filament and extruder1_filament %}
|
||||
{% if toolchange == "t0" %}
|
||||
{% set resume_extruder = "extruder" %}
|
||||
@ -704,8 +694,10 @@ gcode:
|
||||
{'index': 1, 'name': 'last_extruder1_temp'}] %}
|
||||
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
|
||||
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" %
|
||||
(printer.toolhead.extruder, value)}'
|
||||
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring %s extruder temperature, this may take some time." % msg}'
|
||||
{% endif %}
|
||||
{% for info in extruder_info %}
|
||||
{% set variable = printer["gcode_macro RESUME"][info.name] %}
|
||||
{% if variable.restore %}
|
||||
@ -725,10 +717,40 @@ gcode:
|
||||
|
||||
[gcode_macro _USER_CANCEL]
|
||||
gcode:
|
||||
{% if 'z' in printer.toolhead.homed_axes %}
|
||||
G91
|
||||
G1 Z30 F600 ; lift nozzle
|
||||
{% endif %}
|
||||
M84
|
||||
|
||||
[gcode_macro _CLIENT_EXTRUDE]
|
||||
description: Extrudes, if the extruder is hot enough
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
|
||||
{% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
|
||||
{% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
|
||||
{% set absolute_extrude = printer.gcode_move.absolute_extrude %}
|
||||
##### end of definitions #####
|
||||
{% if printer.toolhead.extruder != '' %}
|
||||
{% if printer[printer.toolhead.extruder].can_extrude %}
|
||||
{% if use_fw_retract %}
|
||||
{% if length < 0 %}
|
||||
G10
|
||||
{% else %}
|
||||
G11
|
||||
{% endif %}
|
||||
{% else %}
|
||||
M83
|
||||
G1 E{length} F{(speed|float|abs) * 60}
|
||||
{% if absolute_extrude %}
|
||||
M82
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
@ -738,10 +760,10 @@ variable_restore_idle_timeout: 0
|
||||
variable_idle_state: False
|
||||
variable_filament_state: ""
|
||||
variable_change_runout: ""
|
||||
variable_autoshift: False
|
||||
variable_resume_extruder: ""
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set autoshift = printer.save_variables.variables.auto_change_nozzle|default(False) %}
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set do_resume = False %}
|
||||
{% set prompt_txt = [] %}
|
||||
@ -763,16 +785,10 @@ gcode:
|
||||
{% set do_resume = True %}
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
#### Printer comming out of regular PAUSE state ####
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
_ACT_RESUME DO_RESUME={do_resume}
|
||||
|
||||
@ -794,17 +810,17 @@ gcode:
|
||||
_CLIENT_EXTRUDE
|
||||
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE="False"
|
||||
{% else %}
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder not hot enough, will reheat and continue." % msg) %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder detects no filament, please load filament and continue." % msg) %}
|
||||
{% endif %}
|
||||
##### Generate User Information box in case of abort #####
|
||||
{% if not (filament_state and do_resume) %}
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME aborted !!!"
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME ABORTED !"
|
||||
{% for element in prompt_txt %}
|
||||
RESPOND TYPE=command MSG='{"action:prompt_text %s" % element}'
|
||||
{% endfor %}
|
||||
@ -855,14 +871,14 @@ gcode:
|
||||
{% if not filament_state %}
|
||||
PAUSE
|
||||
{% if autoshift_extruder %}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE=True
|
||||
{% if printer["gcode_macro RESUME"].filament_state[target_extruder] %}
|
||||
RESUME
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! All extruders filament has been run out."}'
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! \"%s\" filament has been run out." % printer.toolhead.extruder}'
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=error MSG='{"Noting! %s extruder filament has been run out." % msg}'
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -314,7 +314,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T0"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Left extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro T1]
|
||||
@ -341,7 +341,7 @@ gcode:
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T1"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder1 filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Right extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PROBE_SERVO_OPEN]
|
||||
@ -394,6 +394,10 @@ gcode:
|
||||
G92 E0
|
||||
M117 Printing start...
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
START_PRINT
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
gcode:
|
||||
M400
|
||||
@ -408,6 +412,10 @@ gcode:
|
||||
G0 X590 Y590 F3600
|
||||
# BED_MESH_CLEAR
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
END_PRINT
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
variable_load_distance: 120
|
||||
variable_purge_distance: 25
|
||||
@ -437,24 +445,6 @@ gcode:
|
||||
G1 E-{unload_distance} F{max_velocity} # fast-unload
|
||||
RESTORE_GCODE_STATE NAME=unload_state
|
||||
|
||||
[gcode_macro SET_X_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_x_offset=params.S|default(-60)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
|
||||
|
||||
[gcode_macro SET_Y_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_y_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
|
||||
|
||||
[gcode_macro SET_Z_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_z_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
|
||||
|
||||
[gcode_macro _ACTIVATE_DEFAULT_EXTRUDER]
|
||||
gcode:
|
||||
{% if printer.toolhead.extruder == 'extruder' %}
|
||||
@ -596,13 +586,13 @@ gcode:
|
||||
[gcode_macro _RESUME_EXTRUDER]
|
||||
gcode:
|
||||
{% set client = printer['gcode_macro RESUME']|default({}) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False)|lower %}
|
||||
{% set toolchange = client.change_runout|lower|default("") %}
|
||||
{% set extruder_filament = client.filament_state.extruder %}
|
||||
{% set extruder1_filament = client.filament_state.extruder1 %}
|
||||
{% set resume_extruder = client.resume_extruder|default("extruder") %}
|
||||
|
||||
{% if autoshift_on %}
|
||||
{% if autoshift_on == 'true' %}
|
||||
{% if extruder_filament and extruder1_filament %}
|
||||
{% if toolchange == "t0" %}
|
||||
{% set resume_extruder = "extruder" %}
|
||||
@ -640,8 +630,10 @@ gcode:
|
||||
{'index': 1, 'name': 'last_extruder1_temp'}] %}
|
||||
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
|
||||
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" %
|
||||
(printer.toolhead.extruder, value)}'
|
||||
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring %s extruder temperature, this may take some time." % msg}'
|
||||
{% endif %}
|
||||
{% for info in extruder_info %}
|
||||
{% set variable = printer["gcode_macro RESUME"][info.name] %}
|
||||
{% if variable.restore %}
|
||||
@ -661,10 +653,40 @@ gcode:
|
||||
|
||||
[gcode_macro _USER_CANCEL]
|
||||
gcode:
|
||||
{% if 'z' in printer.toolhead.homed_axes %}
|
||||
G91
|
||||
G1 Z30 F600 ; lift nozzle
|
||||
{% endif %}
|
||||
M84
|
||||
|
||||
[gcode_macro _CLIENT_EXTRUDE]
|
||||
description: Extrudes, if the extruder is hot enough
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
|
||||
{% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
|
||||
{% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
|
||||
{% set absolute_extrude = printer.gcode_move.absolute_extrude %}
|
||||
##### end of definitions #####
|
||||
{% if printer.toolhead.extruder != '' %}
|
||||
{% if printer[printer.toolhead.extruder].can_extrude %}
|
||||
{% if use_fw_retract %}
|
||||
{% if length < 0 %}
|
||||
G10
|
||||
{% else %}
|
||||
G11
|
||||
{% endif %}
|
||||
{% else %}
|
||||
M83
|
||||
G1 E{length} F{(speed|float|abs) * 60}
|
||||
{% if absolute_extrude %}
|
||||
M82
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
@ -674,10 +696,10 @@ variable_restore_idle_timeout: 0
|
||||
variable_idle_state: False
|
||||
variable_filament_state: ""
|
||||
variable_change_runout: ""
|
||||
variable_autoshift: False
|
||||
variable_resume_extruder: ""
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set autoshift = printer.save_variables.variables.auto_change_nozzle|default(False) %}
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set do_resume = False %}
|
||||
{% set prompt_txt = [] %}
|
||||
@ -699,16 +721,10 @@ gcode:
|
||||
{% set do_resume = True %}
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
#### Printer comming out of regular PAUSE state ####
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
_ACT_RESUME DO_RESUME={do_resume}
|
||||
|
||||
@ -730,17 +746,17 @@ gcode:
|
||||
_CLIENT_EXTRUDE
|
||||
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE="False"
|
||||
{% else %}
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder not hot enough, will reheat and continue." % msg) %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder detects no filament, please load filament and continue." % msg) %}
|
||||
{% endif %}
|
||||
##### Generate User Information box in case of abort #####
|
||||
{% if not (filament_state and do_resume) %}
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME aborted !!!"
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME ABORTED !"
|
||||
{% for element in prompt_txt %}
|
||||
RESPOND TYPE=command MSG='{"action:prompt_text %s" % element}'
|
||||
{% endfor %}
|
||||
@ -791,14 +807,14 @@ gcode:
|
||||
{% if not filament_state %}
|
||||
PAUSE
|
||||
{% if autoshift_extruder %}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE=True
|
||||
{% if printer["gcode_macro RESUME"].filament_state[target_extruder] %}
|
||||
RESUME
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! All extruders filament has been run out."}'
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! \"%s\" filament has been run out." % printer.toolhead.extruder}'
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=error MSG='{"Noting! %s extruder filament has been run out." % msg}'
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
@ -102,10 +102,10 @@ cs_pin: PE8
|
||||
spi_software_sclk_pin: PB3
|
||||
spi_software_mosi_pin: PB5
|
||||
spi_software_miso_pin: PB4
|
||||
run_current: 1.0
|
||||
run_current: 1.5
|
||||
interpolate: True
|
||||
sense_resistor: 0.075
|
||||
stealthchop_threshold: 200
|
||||
stealthchop_threshold: 300
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PD4
|
||||
@ -180,7 +180,7 @@ max_temp: 80
|
||||
|
||||
[verify_heater chamber]
|
||||
max_error: 120
|
||||
hysteresis: 0
|
||||
hysteresis: 100
|
||||
check_gain_time: 3600
|
||||
heating_gain: 0.01
|
||||
|
||||
@ -200,6 +200,10 @@ max_power: 1.0
|
||||
shutdown_speed: 0.0
|
||||
kick_start_time: 1.0
|
||||
|
||||
[controller_fan _controller_fan]
|
||||
pin: PC6
|
||||
fan_speed: 1
|
||||
|
||||
[delayed_gcode INIT_LIGHT]
|
||||
initial_duration:0.01
|
||||
gcode:
|
||||
@ -215,7 +219,7 @@ initial_WHITE: 0
|
||||
[neopixel _Status_light]
|
||||
pin: PB8
|
||||
chain_count: 1
|
||||
color_order: RGB
|
||||
color_order: GRB
|
||||
initial_RED: 0.3
|
||||
initial_GREEN: 0.3
|
||||
initial_BLUE: 0.3
|
||||
@ -438,12 +442,9 @@ gcode:
|
||||
{% set x_home = true %}
|
||||
{% endif %}
|
||||
{% if printer.toolhead.extruder != 'extruder' or x_home %}
|
||||
SAVE_GCODE_STATE NAME=park0
|
||||
G90
|
||||
_PARK_{printer.toolhead.extruder}
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=0
|
||||
RESTORE_GCODE_STATE NAME=park0
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z=0 MOVE=1
|
||||
{% else %}
|
||||
@ -451,12 +452,15 @@ gcode:
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y=0
|
||||
SET_GCODE_OFFSET X=0
|
||||
SAVE_GCODE_STATE NAME=park0
|
||||
G90
|
||||
G1 X0 F6000
|
||||
RESTORE_GCODE_STATE NAME=park0
|
||||
{% endif %}
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T0"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Left extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro _PARK_extruder1]
|
||||
@ -481,11 +485,12 @@ gcode:
|
||||
{% endif %}
|
||||
|
||||
{% if printer.toolhead.extruder != 'extruder1' or x_home %}
|
||||
SAVE_GCODE_STATE NAME=park1
|
||||
G90
|
||||
_PARK_{printer.toolhead.extruder}
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1
|
||||
SAVE_GCODE_STATE NAME=park1
|
||||
G90
|
||||
G1 X455 F6000
|
||||
RESTORE_GCODE_STATE NAME=park1
|
||||
{% if "z" in printer.toolhead.homed_axes | lower %}
|
||||
SET_GCODE_OFFSET Z={z_offset} MOVE=1
|
||||
@ -494,43 +499,53 @@ gcode:
|
||||
{% endif %}
|
||||
SET_GCODE_OFFSET Y={y_offset}
|
||||
SET_GCODE_OFFSET X={x_offset}
|
||||
G1 X455 F6000
|
||||
{% endif %}
|
||||
{% else %}
|
||||
PAUSE
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE='"T1"'
|
||||
RESPOND TYPE=error MSG='{"Noting! extruder1 filament has been run out."}'
|
||||
RESPOND TYPE=error MSG='{"Noting! Right extruder filament has been run out."}'
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro ACTIVATE_COPY_MODE]
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=_SET_DUAL_MODE VARIABLE=dual_mode VALUE='"copy"'
|
||||
_SET_DUAL_MODE MODE="copy"
|
||||
|
||||
[gcode_macro ACTIVATE_MIRROR_MODE]
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=_SET_DUAL_MODE VARIABLE=dual_mode VALUE='"mirror"'
|
||||
_SET_DUAL_MODE MODE="mirror"
|
||||
|
||||
[gcode_macro _ACTIVATE_PRIMARY_MODE]
|
||||
gcode:
|
||||
SET_GCODE_VARIABLE MACRO=_SET_DUAL_MODE VARIABLE=dual_mode VALUE='"primary"'
|
||||
_SET_DUAL_MODE MODE="primary"
|
||||
|
||||
[gcode_macro _SET_DUAL_MODE]
|
||||
variable_dual_mode: "primary"
|
||||
gcode:
|
||||
{% set mode = params.MODE|default("primary") %}
|
||||
{% if 'xyz' in printer.toolhead.homed_axes %}
|
||||
{% if mode == "copy" or mode == "mirror"%}
|
||||
G90
|
||||
SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY
|
||||
G1 X0 F6000
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY
|
||||
{% if dual_mode == "copy" %}
|
||||
{% endif %}
|
||||
{% if mode == "copy" %}
|
||||
G1 X227.5 F6000
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
|
||||
{% elif dual_mode == "mirror" %}
|
||||
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
|
||||
{% elif mode == "mirror" %}
|
||||
G1 X455 F6000
|
||||
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
|
||||
{% endif %}
|
||||
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
|
||||
{% elif mode == "primary" %}
|
||||
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=0
|
||||
{% endif %}
|
||||
_RUNOUT_HANDLE
|
||||
{% endif %}
|
||||
SET_GCODE_VARIABLE MACRO=_SET_DUAL_MODE VARIABLE=dual_mode VALUE='"{mode}"'
|
||||
|
||||
[gcode_macro PROBE_SERVO_OPEN]
|
||||
gcode:
|
||||
@ -588,6 +603,10 @@ gcode:
|
||||
G92 E0
|
||||
M117 Printing start...
|
||||
|
||||
[gcode_macro PRINT_START]
|
||||
gcode:
|
||||
START_PRINT
|
||||
|
||||
[gcode_macro END_PRINT]
|
||||
gcode:
|
||||
M400
|
||||
@ -595,10 +614,14 @@ gcode:
|
||||
G1 E-10.0 F3600
|
||||
G91
|
||||
{% if printer["dual_carriage"] is defined %}
|
||||
{% set dual_mode = printer['gcode_macro _SET_DUAL_MODE'].dual_mode|default("primary") %}
|
||||
{% if dual_mode == "copy" or dual_mode == "mirror" %}
|
||||
G0 Z1.00 F6000
|
||||
G90
|
||||
_PARK_extruder
|
||||
_PARK_extruder1
|
||||
_ACTIVATE_PRIMARY_MODE
|
||||
G91
|
||||
{% endif %}
|
||||
{% else %}
|
||||
G0 Z1.00 X20.0 Y20.0 F6000
|
||||
{% endif %}
|
||||
@ -609,6 +632,10 @@ gcode:
|
||||
G0 Y300 F3600
|
||||
# BED_MESH_CLEAR
|
||||
|
||||
[gcode_macro PRINT_END]
|
||||
gcode:
|
||||
END_PRINT
|
||||
|
||||
[gcode_macro SET_LED]
|
||||
rename_existing: LED_SET
|
||||
gcode:
|
||||
@ -633,23 +660,14 @@ gcode:
|
||||
LED_SET LED={led_name} RED={red} GREEN={green} BLUE={blue} WHITE={white} INDEX={index} TRANSMIT={transmit} SYNC={sync}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro SET_X_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_x_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_x_offset VALUE={dual_x_offset}
|
||||
|
||||
[gcode_macro SET_Y_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_y_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_y_offset VALUE={dual_y_offset}
|
||||
|
||||
[gcode_macro SET_Z_OFFSET]
|
||||
gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set dual_z_offset=params.S|default(0)|float %}
|
||||
SAVE_VARIABLE VARIABLE=dual_z_offset VALUE={dual_z_offset}
|
||||
[led_effect runstate]
|
||||
leds:
|
||||
neopixel:_Status_light
|
||||
autostart: true
|
||||
frame_rate: 24
|
||||
hot: extruder extruder1 heater_bed chamber
|
||||
layers:
|
||||
status 0 0 top (0.3, 0.3, 0.3),( 0, 0, 0.3),(0, 0.3, 0)
|
||||
|
||||
[gcode_macro LOAD_FILAMENT]
|
||||
variable_load_distance: 90
|
||||
@ -681,15 +699,18 @@ gcode:
|
||||
rename_existing: C28
|
||||
gcode:
|
||||
{% set homing_cmd = ''%}
|
||||
{% set dual_mode = printer['gcode_macro _SET_DUAL_MODE'].dual_mode|default("primary") %}
|
||||
{% set save_dual_mode = printer['gcode_macro _SET_DUAL_MODE'].dual_mode|default("primary") %}
|
||||
{% set do_x = 'X' in params|string %}
|
||||
{% set do_y = 'Y' in params|string %}
|
||||
{% set do_z = 'Z' in params|string %}
|
||||
|
||||
{% if save_dual_mode == "copy" or save_dual_mode == "mirror" %}
|
||||
_SET_DUAL_MODE MODE="primary"
|
||||
{% endif %}
|
||||
{% if do_x %}
|
||||
{% set homing_cmd = 'X ' %}
|
||||
{% endif %}
|
||||
{% if do_y %}
|
||||
SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1
|
||||
{% set homing_cmd = homing_cmd + 'Y ' %}
|
||||
{% endif %}
|
||||
{% if do_z %}
|
||||
@ -700,6 +721,7 @@ gcode:
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if not homing_cmd %}
|
||||
SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1
|
||||
C28
|
||||
_RESTORE_DEFAULT_EXTRUDER
|
||||
{% else %}
|
||||
@ -708,8 +730,8 @@ gcode:
|
||||
_RESTORE_DEFAULT_EXTRUDER
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if dual_mode == "copy" or dual_mode == "mirror" %}
|
||||
_SET_DUAL_MODE
|
||||
{% if save_dual_mode == "copy" or save_dual_mode == "mirror" %}
|
||||
_SET_DUAL_MODE MODE={save_dual_mode}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro M109]
|
||||
@ -824,8 +846,10 @@ gcode:
|
||||
{'index': 1, 'name': 'last_extruder1_temp'}] %}
|
||||
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
|
||||
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" %
|
||||
(printer.toolhead.extruder, value)}'
|
||||
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=echo MSG='{"Restoring %s extruder temperature, this may take some time." % msg}'
|
||||
{% endif %}
|
||||
{% for info in extruder_info %}
|
||||
{% set variable = printer["gcode_macro RESUME"][info.name] %}
|
||||
{% if variable.restore %}
|
||||
@ -846,13 +870,13 @@ gcode:
|
||||
[gcode_macro _RESUME_EXTRUDER]
|
||||
gcode:
|
||||
{% set client = printer['gcode_macro RESUME']|default({}) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False) %}
|
||||
{% set autoshift_on = params.AUTOSHIFT|default(False)|lower %}
|
||||
{% set toolchange = client.change_runout|lower|default("") %}
|
||||
{% set extruder_filament = client.filament_state.extruder %}
|
||||
{% set extruder1_filament = client.filament_state.extruder1 %}
|
||||
{% set resume_extruder = client.resume_extruder|default("extruder") %}
|
||||
|
||||
{% if autoshift_on %}
|
||||
{% if autoshift_on == 'true' %}
|
||||
{% if extruder_filament and extruder1_filament %}
|
||||
{% if toolchange == "t0" %}
|
||||
{% set resume_extruder = "extruder" %}
|
||||
@ -885,10 +909,40 @@ gcode:
|
||||
|
||||
[gcode_macro _USER_CANCEL]
|
||||
gcode:
|
||||
{% if 'z' in printer.toolhead.homed_axes %}
|
||||
G91
|
||||
G1 Z30 F600 ; lift nozzle
|
||||
{% endif %}
|
||||
M84
|
||||
|
||||
[gcode_macro _CLIENT_EXTRUDE]
|
||||
description: Extrudes, if the extruder is hot enough
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %}
|
||||
{% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %}
|
||||
{% set speed = params.SPEED|default(client.speed_unretract)|default(35) %}
|
||||
{% set absolute_extrude = printer.gcode_move.absolute_extrude %}
|
||||
##### end of definitions #####
|
||||
{% if printer.toolhead.extruder != '' %}
|
||||
{% if printer[printer.toolhead.extruder].can_extrude %}
|
||||
{% if use_fw_retract %}
|
||||
{% if length < 0 %}
|
||||
G10
|
||||
{% else %}
|
||||
G11
|
||||
{% endif %}
|
||||
{% else %}
|
||||
M83
|
||||
G1 E{length} F{(speed|float|abs) * 60}
|
||||
{% if absolute_extrude %}
|
||||
M82
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro RESUME]
|
||||
description: Resume the actual running print
|
||||
rename_existing: RESUME_BASE
|
||||
@ -899,10 +953,10 @@ variable_idle_state: False
|
||||
variable_resume_dual: False
|
||||
variable_filament_state: ""
|
||||
variable_change_runout: ""
|
||||
variable_autoshift: False
|
||||
variable_resume_extruder: ""
|
||||
gcode:
|
||||
##### get user parameters or use default #####
|
||||
{% set autoshift = printer.save_variables.variables.auto_change_nozzle|default(False) %}
|
||||
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
|
||||
{% set do_resume = False %}
|
||||
{% set prompt_txt = [] %}
|
||||
@ -930,16 +984,10 @@ gcode:
|
||||
{% set do_resume = True %}
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
#### Printer comming out of regular PAUSE state ####
|
||||
{% elif can_extrude %}
|
||||
{% set do_resume = True %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% endif %}
|
||||
_ACT_RESUME DO_RESUME={do_resume}
|
||||
|
||||
@ -961,17 +1009,17 @@ gcode:
|
||||
_CLIENT_EXTRUDE
|
||||
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE="False"
|
||||
{% else %}
|
||||
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder not hot enough, will reheat and continue." % msg) %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
|
||||
{% set _d = prompt_txt.append("\"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder) %}
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
{% set _d = prompt_txt.append("%s extruder detects no filament, please load filament and continue." % msg) %}
|
||||
{% endif %}
|
||||
##### Generate User Information box in case of abort #####
|
||||
{% if not (filament_state and do_resume) %}
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME aborted !!!"
|
||||
RESPOND TYPE=command MSG="action:prompt_begin RESUME ABORTED !"
|
||||
{% for element in prompt_txt %}
|
||||
RESPOND TYPE=command MSG='{"action:prompt_text %s" % element}'
|
||||
{% endfor %}
|
||||
@ -1029,14 +1077,14 @@ gcode:
|
||||
{% if not filament_state %}
|
||||
PAUSE
|
||||
{% if autoshift_extruder and idex == False %}
|
||||
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=autoshift VALUE=True
|
||||
{% if printer["gcode_macro RESUME"].filament_state[target_extruder] %}
|
||||
RESUME
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! All extruders filament has been run out."}'
|
||||
{% endif %}
|
||||
{% else %}
|
||||
RESPOND TYPE=error MSG='{"Noting! \"%s\" filament has been run out." % printer.toolhead.extruder}'
|
||||
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
|
||||
RESPOND TYPE=error MSG='{"Noting! %s extruder filament has been run out." % msg}'
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@ -1126,8 +1174,8 @@ gcode:
|
||||
{% set svv = printer.save_variables.variables %}
|
||||
{% set adaptive_mesh = svv.adaptive_meshing|default(false)|lower %}
|
||||
{% if printer["dual_carriage"] is defined %}
|
||||
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
|
||||
{% if current_idex_mode == "copy" or idex_mode == "mirror" %}
|
||||
{% set current_idex_mode = printer['gcode_macro _SET_DUAL_MODE'].dual_mode|default("primary") %}
|
||||
{% if current_idex_mode == "copy" or current_idex_mode == "mirror" %}
|
||||
{% set idex_mode = True %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
1556
klippy/extras/led_effect.py
Normal file
1556
klippy/extras/led_effect.py
Normal file
File diff suppressed because it is too large
Load Diff
@ -53,10 +53,10 @@ class PrintStats:
|
||||
def note_cancel(self):
|
||||
self._note_finish("cancelled")
|
||||
def _note_finish(self, state, error_message = ""):
|
||||
self.error_message = error_message
|
||||
if self.print_start_time is None:
|
||||
return
|
||||
self.state = state
|
||||
self.error_message = error_message
|
||||
eventtime = self.reactor.monotonic()
|
||||
self.total_duration = eventtime - self.print_start_time
|
||||
if self.filament_used < 0.0000001:
|
||||
|
Loading…
x
Reference in New Issue
Block a user