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