diff --git a/config/CreatBot_D1000/base.cfg b/config/CreatBot_D1000/base.cfg index 0c3b0c727..7b7363205 100644 --- a/config/CreatBot_D1000/base.cfg +++ b/config/CreatBot_D1000/base.cfg @@ -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 %} diff --git a/config/CreatBot_D600Pro2/base.cfg b/config/CreatBot_D600Pro2/base.cfg index d42c4c249..9443dffd0 100644 --- a/config/CreatBot_D600Pro2/base.cfg +++ b/config/CreatBot_D600Pro2/base.cfg @@ -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 %} diff --git a/config/CreatBot_F430NX/base.cfg b/config/CreatBot_F430NX/base.cfg index 732f6152a..3ea18ee44 100644 --- a/config/CreatBot_F430NX/base.cfg +++ b/config/CreatBot_F430NX/base.cfg @@ -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 %}