优化IDEX模式下手动加载耗材逻辑;

优化开始打印时耗材检测与喷头温度过低同时触发的弹窗问题
This commit is contained in:
魏瑞鹏 2024-10-29 17:08:23 +08:00
parent da2a3c417f
commit 8ce548fb81
3 changed files with 34 additions and 4 deletions

View File

@ -716,6 +716,8 @@ gcode:
{client.user_resume_macro|default("")}
_CLIENT_EXTRUDE
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
{% else %}
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
{% endif %}
{% else %}
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
@ -750,7 +752,7 @@ gcode:
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{% set runout = (runout_resume == false or runout_resume1 == false) %}
{% set runout = True if (runout_resume and runout_resume1) else false %}
{% else %}
{% set runout = runout_resume if printer.toolhead.extruder == "extruder" else runout_resume1 %}
{% endif %}

View File

@ -712,6 +712,8 @@ gcode:
{client.user_resume_macro|default("")}
_CLIENT_EXTRUDE
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
{% else %}
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
{% endif %}
{% else %}
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
@ -746,7 +748,7 @@ gcode:
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{% set runout = (runout_resume == false or runout_resume1 == false) %}
{% set runout = True if (runout_resume and runout_resume1) else false %}
{% else %}
{% set runout = runout_resume if printer.toolhead.extruder == "extruder" else runout_resume1 %}
{% endif %}

View File

@ -423,6 +423,7 @@ gcode:
SET_GCODE_OFFSET Z=0
SET_GCODE_OFFSET Y=0
SET_GCODE_OFFSET X=0
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=0
@ -492,6 +493,7 @@ gcode:
G1 X227.5 F6000
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
_RUNOUT_HANDLE
[gcode_macro ACTIVATE_MIRROR_MODE]
gcode:
@ -502,6 +504,7 @@ gcode:
G1 X455 F6000
SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
_RUNOUT_HANDLE
[gcode_macro PROBE_SERVO_OPEN]
@ -770,6 +773,15 @@ gcode:
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
SAVE_DUAL_CARRIAGE_STATE
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder1
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=resume_dual VALUE=True
{% endif %}
{% endif %}
[gcode_macro _USER_TEMP_RESUME]
gcode:
{% set extruder_info = [
@ -806,6 +818,7 @@ variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
variable_restore_idle_timeout: 0
variable_idle_state: False
variable_resume_dual: False
variable_filament_state: False
gcode:
##### get user parameters or use default #####
@ -816,6 +829,16 @@ gcode:
{% set prompt_txt = [] %}
{% set runout = True %}
##### end of definitions #####
{% if printer["dual_carriage"] is defined %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if resume_dual %}
RESTORE_DUAL_CARRIAGE_STATE
ACTIVATE_EXTRUDER EXTRUDER=extruder
SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=resume_dual VALUE=False
{% endif %}
{% endif %}
_FILAMENT_UPDATE
#### Printer comming from timeout idle state ####
{% if printer.idle_timeout.state|upper == "IDLE" or idle_state %}
@ -855,6 +878,8 @@ gcode:
{client.user_resume_macro|default("")}
_CLIENT_EXTRUDE
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
{% else %}
{% set _d = prompt_txt.append("\"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder) %}
{% endif %}
{% else %}
RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % printer.toolhead.extruder}'
@ -887,7 +912,7 @@ gcode:
{% else %}
{% set current_idex_mode = printer["dual_carriage"].carriage_1|lower %}
{% if current_idex_mode == 'copy' or current_idex_mode == 'mirror' %}
{% set runout = (runout_resume == false or runout_resume1 == false) %}
{% set runout = True if (runout_resume and runout_resume1) else false %}
{% else %}
{% set runout = runout_resume if printer.toolhead.extruder == "extruder" else runout_resume1 %}
{% endif %}
@ -906,7 +931,8 @@ gcode:
gcode:
{% set filament_state = printer['gcode_macro RESUME'].filament_state|default(False) %}
{% if not filament_state %}
{% set msg_extruder = "extruder" if printer.toolhead.extruder == "extruder" else "extruder1" %}
{% set runout = printer['filament_switch_sensor extruder'].filament_detected %}
{% set msg_extruder = "extruder1" if runout else "extruder" %}
RESPOND TYPE=echo MSG='{"Noting! \"%s\" filament has been pulled out." % msg_extruder}'
PAUSE
{% endif %}