From 3afea033d02ede36771189d3045d105980d6dd74 Mon Sep 17 00:00:00 2001 From: zkk <1007518571@qq.com> Date: Thu, 19 Sep 2024 14:27:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=89=93=E5=8D=B0=E6=9C=BA?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=20=E8=A7=A3=E5=86=B3=E5=81=9C=E9=9D=A0?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=20=E6=9A=82=E5=81=9C=E5=86=B7=E5=8D=B4?= =?UTF-8?q?=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/CreatBot_D1000/base.cfg | 102 ++++++++++++++--- config/CreatBot_D1000/printer.cfg | 15 ++- config/CreatBot_D600Pro2/base.cfg | 102 ++++++++++++++--- config/CreatBot_F430NX/base.cfg | 181 +++++++++++++++++++++--------- 4 files changed, 313 insertions(+), 87 deletions(-) diff --git a/config/CreatBot_D1000/base.cfg b/config/CreatBot_D1000/base.cfg index add6fbaff..47b2c5a66 100644 --- a/config/CreatBot_D1000/base.cfg +++ b/config/CreatBot_D1000/base.cfg @@ -18,11 +18,18 @@ enable_force_move: True [idle_timeout] gcode: - {% if printer.webhooks.state|lower == 'ready' %} - {% if printer.pause_resume.is_paused|lower == 'false' %} - TURN_OFF_HEATERS + {% if printer.webhooks.state|lower == 'ready' %} + {% if printer.pause_resume.is_paused %} + {% if printer["extruder"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder + {% endif %} + {% if printer["extruder1"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder1 + {% endif %} + {% else %} + TURN_OFF_HEATERS + {% endif %} {% endif %} - {% endif %} timeout: 1800 # 0.5 hour timeout # F446 MotherBoard ID @@ -103,7 +110,7 @@ sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 min_temp: 0 -max_temp: 100 +max_temp: 130 # control: pid # pid_kp: 17.22 # pid_ki: 0.9 @@ -113,7 +120,7 @@ max_temp: 100 max_error: 20 hysteresis: 5 check_gain_time: 120 -heating_gain: 2 +heating_gain: 1 [heater_generic chamber] heater_pin:PD15 @@ -121,7 +128,7 @@ max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 min_temp: 0 -max_temp: 60 +max_temp: 70 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -130,9 +137,9 @@ pwm_cycle_time: 0.3 [verify_heater chamber] max_error: 120 -hysteresis: 5 -check_gain_time:300 -heating_gain: 1 +hysteresis: 0 +check_gain_time: 3600 +heating_gain: 0.01 [fan_generic Air_filter_fan] pin: PC8 @@ -240,7 +247,7 @@ max_extrude_cross_section:5 heater_pin: tool:PC6 max_power: 1.0 min_temp: 0 -max_temp: 450 +max_temp: 435 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -289,7 +296,7 @@ max_extrude_cross_section:5 heater_pin: tool:PC7 max_power: 1.0 min_temp: 0 -max_temp: 450 +max_temp: 435 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 @@ -491,10 +498,10 @@ gcode: {% set do_y = 'Y' in params|string %} {% set do_z = 'Z' in params|string %} - {% if do_x %} + {% if do_x %} {% set homing_cmd = 'X ' %} {% endif %} - {% if do_y %} + {% if do_y %} {% set homing_cmd = homing_cmd + 'Y ' %} {% endif %} {% if do_z %} @@ -527,7 +534,7 @@ gcode: {% if params.S is defined %} M141 S{s} {% if s != 0 %} - TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2} + TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2} {% endif %} {% endif %} @@ -537,3 +544,68 @@ gcode: C84 SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 +[gcode_macro _CLIENT_VARIABLE] +variable_use_custom_pos : True +variable_custom_park_x : 500.0 +variable_custom_park_y : 350.0 +variable_custom_park_dz : 20.0 +variable_retract : 2.0 +variable_cancel_retract : 10.0 +variable_speed_retract : 60.0 +variable_unretract : 20.0 +variable_speed_unretract : 6.0 +variable_speed_hop : 5.0 +variable_speed_move : 100.0 +variable_park_at_cancel : False +variable_park_at_cancel_x : None +variable_park_at_cancel_y : None +variable_use_fw_retract : False +variable_idle_timeout : 600 +variable_runout_sensor : "" +variable_user_pause_macro : "_USER_PAUSE" +variable_user_resume_macro: "_USER_RESUME" +variable_user_cancel_macro: "_USER_CANCEL" +gcode: + # Nothing + +[gcode_macro _USER_PAUSE] +gcode: + {% set extruderTools = [('extruder', 'last_extruder_temp'), + ('extruder1', 'last_extruder1_temp')] %} + {% for extruder_name, name in extruderTools %} + {% set temp = printer[extruder_name].target if extruder_name in printer else 0 %} + {% set restore = False if printer[extruder_name] == '' + else True if params.RESTORE|default(1)|int == 1 else False %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}" + {% endfor %} + +[gcode_macro RESUME] +variable_last_extruder_temp: {'restore': False, 'temp': 0} +variable_last_extruder1_temp: {'restore': False, 'temp': 0} + +[gcode_macro _USER_RESUME] +gcode: + {% set extruder_info = [ + {'index': 0, 'name': 'last_extruder_temp'}, + {'index': 1, 'name': 'last_extruder1_temp'}] %} + + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + M104 T{ info.index } S{ variable.temp } + {% endif %} + {% endfor %} + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + {% set tool = "extruder" if info.index == 0 else "extruder1" %} + {% set needwait = True if printer[tool].temperature < variable.temp else False %} + {% if needwait %} + M109 T{info.index} S{variable.temp} + {% endif %} + {% endif %} + {% endfor %} + +[gcode_macro _USER_CANCEL] +gcode: + M84 \ No newline at end of file diff --git a/config/CreatBot_D1000/printer.cfg b/config/CreatBot_D1000/printer.cfg index cd8f451ef..633bf59e4 100644 --- a/config/CreatBot_D1000/printer.cfg +++ b/config/CreatBot_D1000/printer.cfg @@ -20,9 +20,18 @@ pid_kd = 736.891 [heater_generic chamber] control: pid -pid_kp: 30.68 -pid_ki: 0.21 +pid_kp: 214.568 +pid_ki: 8.115 pid_kd: 0 [probe] -z_offset: 4 \ No newline at end of file +z_offset: 4 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [input_shaper] +#*# shaper_type_x = mzv +#*# shaper_freq_x = 31.2 +#*# shaper_type_y = ei +#*# shaper_freq_y = 29.6 \ No newline at end of file diff --git a/config/CreatBot_D600Pro2/base.cfg b/config/CreatBot_D600Pro2/base.cfg index 51f09b3eb..1933be45d 100644 --- a/config/CreatBot_D600Pro2/base.cfg +++ b/config/CreatBot_D600Pro2/base.cfg @@ -18,11 +18,18 @@ enable_force_move: True [idle_timeout] gcode: - {% if printer.webhooks.state|lower == 'ready' %} - {% if printer.pause_resume.is_paused|lower == 'false' %} - TURN_OFF_HEATERS + {% if printer.webhooks.state|lower == 'ready' %} + {% if printer.pause_resume.is_paused %} + {% if printer["extruder"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder + {% endif %} + {% if printer["extruder1"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder1 + {% endif %} + {% else %} + TURN_OFF_HEATERS + {% endif %} {% endif %} - {% endif %} timeout: 1800 # 0.5 hour timeout # F446 MotherBoard ID @@ -103,7 +110,7 @@ sensor_type: Generic 3950 sensor_pin: PC0 max_power: 1.0 min_temp: 0 -max_temp: 100 +max_temp: 130 # control: pid # pid_kp: 59.368 # pid_ki: 1.656 @@ -113,7 +120,7 @@ max_temp: 100 max_error: 20 hysteresis: 5 check_gain_time: 120 -heating_gain: 2 +heating_gain: 1 [heater_generic chamber] heater_pin:PD15 @@ -121,7 +128,7 @@ max_power:1.0 sensor_type: Generic 3950 sensor_pin:PC3 min_temp: 0 -max_temp: 70 +max_temp: 80 pwm_cycle_time: 0.3 # control: pid # pid_kp: 30.68 @@ -130,9 +137,9 @@ pwm_cycle_time: 0.3 [verify_heater chamber] max_error: 120 -hysteresis: 5 -check_gain_time:300 -heating_gain: 1 +# hysteresis: 0 +check_gain_time: 3600 +heating_gain: 0.01 [fan_generic Air_filter_fan] pin: PC8 @@ -240,7 +247,7 @@ max_extrude_cross_section:5 heater_pin: tool:PC6 max_power: 1.0 min_temp: 0 -max_temp: 450 +max_temp: 435 min_extrude_temp: 180 pressure_advance: 0.03 pressure_advance_smooth_time:0.040 @@ -289,7 +296,7 @@ max_extrude_cross_section:5 heater_pin: tool:PC7 max_power: 1.0 min_temp: 0 -max_temp: 450 +max_temp: 435 min_extrude_temp: 180 pressure_advance: 0.032 pressure_advance_smooth_time:0.040 @@ -491,10 +498,10 @@ gcode: {% set do_y = 'Y' in params|string %} {% set do_z = 'Z' in params|string %} - {% if do_x %} + {% if do_x %} {% set homing_cmd = 'X ' %} {% endif %} - {% if do_y %} + {% if do_y %} {% set homing_cmd = homing_cmd + 'Y ' %} {% endif %} {% if do_z %} @@ -527,7 +534,7 @@ gcode: {% if params.S is defined %} M141 S{s} {% if s != 0 %} - TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2} + TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2} {% endif %} {% endif %} @@ -537,3 +544,68 @@ gcode: C84 SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 +[gcode_macro _CLIENT_VARIABLE] +variable_use_custom_pos : True +variable_custom_park_x : 300.0 +variable_custom_park_y : 200.0 +variable_custom_park_dz : 20.0 +variable_retract : 2.0 +variable_cancel_retract : 10.0 +variable_speed_retract : 60.0 +variable_unretract : 20.0 +variable_speed_unretract : 6.0 +variable_speed_hop : 5.0 +variable_speed_move : 100.0 +variable_park_at_cancel : False +variable_park_at_cancel_x : None +variable_park_at_cancel_y : None +variable_use_fw_retract : False +variable_idle_timeout : 600 +variable_runout_sensor : "" +variable_user_pause_macro : "_USER_PAUSE" +variable_user_resume_macro: "_USER_RESUME" +variable_user_cancel_macro: "_USER_CANCEL" +gcode: + # Nothing + +[gcode_macro _USER_PAUSE] +gcode: + {% set extruderTools = [('extruder', 'last_extruder_temp'), + ('extruder1', 'last_extruder1_temp')] %} + {% for extruder_name, name in extruderTools %} + {% set temp = printer[extruder_name].target if extruder_name in printer else 0 %} + {% set restore = False if printer[extruder_name] == '' + else True if params.RESTORE|default(1)|int == 1 else False %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}" + {% endfor %} + +[gcode_macro RESUME] +variable_last_extruder_temp: {'restore': False, 'temp': 0} +variable_last_extruder1_temp: {'restore': False, 'temp': 0} + +[gcode_macro _USER_RESUME] +gcode: + {% set extruder_info = [ + {'index': 0, 'name': 'last_extruder_temp'}, + {'index': 1, 'name': 'last_extruder1_temp'}] %} + + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + M104 T{ info.index } S{ variable.temp } + {% endif %} + {% endfor %} + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + {% set tool = "extruder" if info.index == 0 else "extruder1" %} + {% set needwait = True if printer[tool].temperature < variable.temp else False %} + {% if needwait %} + M109 T{info.index} S{variable.temp} + {% endif %} + {% endif %} + {% endfor %} + +[gcode_macro _USER_CANCEL] +gcode: + M84 \ No newline at end of file diff --git a/config/CreatBot_F430NX/base.cfg b/config/CreatBot_F430NX/base.cfg index 5ba5c6dc0..62f5cd1e1 100644 --- a/config/CreatBot_F430NX/base.cfg +++ b/config/CreatBot_F430NX/base.cfg @@ -18,24 +18,31 @@ enable_force_move: True [idle_timeout] gcode: - {% if printer.webhooks.state|lower == 'ready' %} - {% if printer.pause_resume.is_paused|lower == 'false' %} - TURN_OFF_HEATERS + {% if printer.webhooks.state|lower == 'ready' %} + {% if printer.pause_resume.is_paused %} + {% if printer["extruder"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder + {% endif %} + {% if printer["extruder1"] is defined %} + SET_HEATER_TEMPERATURE HEATER=extruder1 + {% endif %} + {% else %} + TURN_OFF_HEATERS + {% endif %} {% endif %} - {% endif %} timeout: 1800 # 0.5 hour timeout # F446 MotherBoard ID -[mcu] +[mcu] canbus_uuid: 000000000010 canbus_interface: can0 -[printer] -kinematics: cartesian -max_velocity: 300 -max_accel: 3000 -max_z_velocity: 10 -max_z_accel: 100 +[printer] +kinematics: cartesian +max_velocity: 300 +max_accel: 3000 +max_z_velocity: 10 +max_z_accel: 100 square_corner_velocity: 5.0 [bed_mesh] @@ -55,21 +62,21 @@ enable_pin: !PA15 rotation_distance: 50.8 microsteps: 64 full_steps_per_rotation: 200 -endstop_pin: ^PC10 -position_min: -20 -position_endstop: -20 -position_max: 475 +endstop_pin: ^PC10 +position_min: -20 +position_endstop: -20 +position_max: 475 homing_speed: 100 homing_retract_dist: 10 -[tmc5160 stepper_x] -cs_pin: PE2 +[tmc5160 stepper_x] +cs_pin: PE2 spi_software_sclk_pin: PB3 spi_software_mosi_pin: PB5 spi_software_miso_pin: PB4 -run_current: 1.0 -interpolate: True -sense_resistor: 0.075 +run_current: 1.0 +interpolate: True +sense_resistor: 0.075 stealthchop_threshold: 200 [dual_carriage] @@ -89,31 +96,31 @@ homing_retract_dist: 10 safe_distance: 75 [tmc5160 dual_carriage] -cs_pin: PE8 +cs_pin: PE8 spi_software_sclk_pin: PB3 spi_software_mosi_pin: PB5 spi_software_miso_pin: PB4 -run_current: 1.0 -interpolate: True -sense_resistor: 0.075 -stealthchop_threshold: 200 +run_current: 1.0 +interpolate: True +sense_resistor: 0.075 +stealthchop_threshold: 200 [stepper_y] step_pin: PD4 dir_pin: !PD3 enable_pin: !PD2 rotation_distance: 73.152 -microsteps: 128 -full_steps_per_rotation: 200 +microsteps: 128 +full_steps_per_rotation: 200 gear_ratio: 1:1 -endstop_pin: ^PC11 +endstop_pin: ^PC11 position_min: 0 position_endstop: 0 position_max: 300 homing_speed: 60 homing_retract_dist: 10 -[tmc5160 stepper_y] +[tmc5160 stepper_y] cs_pin: PE3 spi_software_sclk_pin: PB3 spi_software_mosi_pin: PB5 @@ -131,7 +138,7 @@ rotation_distance: 5 gear_ratio: 2.5:1 microsteps: 16 full_steps_per_rotation: 200 -endstop_pin: probe:z_virtual_endstop +endstop_pin: probe:z_virtual_endstop position_max: 300 position_min: -4 homing_speed: 10 @@ -180,9 +187,9 @@ max_temp: 70 [verify_heater chamber] max_error: 120 -hysteresis: 5 -check_gain_time: 120 -heating_gain: 1 +hysteresis: 0 +check_gain_time: 3600 +heating_gain: 0.01 [multi_pin fan] pins: L_tool:PA10, R_tool:PA10 @@ -202,7 +209,7 @@ kick_start_time: 1.0 [delayed_gcode INIT_LIGHT] initial_duration:0.01 -gcode: +gcode: {% set svv = printer.save_variables.variables %} {% set luminance = svv.interior_lighting|default(0)|float %} SET_LED LED=Interior_lighting WHITE={luminance} TRANSMIT=1 SYNC=0 @@ -229,10 +236,10 @@ switch_pin: ^PC14 [filament_switch_sensor extruder1] pause_on_runout: True -runout_gcode: +runout_gcode: event_delay: 3.0 pause_delay: 0.5 -switch_pin: ^PC15 +switch_pin: ^PC15 # F072 Left nozzle ID [mcu L_tool] @@ -254,7 +261,7 @@ probe_points: 200, 150, 20 min_freq: 20 max_freq: 70 accel_per_hz: 200 -hz_per_sec: 1 +hz_per_sec: 1 [heater_fan Sink_fan_0] pin:L_tool:PA9 @@ -310,9 +317,9 @@ sense_resistor: 0.110 stealthchop_threshold: 0 [probe] -pin: ^!L_tool:PA1 -x_offset: 34.6 -y_offset: 17.4 +pin: ^!L_tool:PA1 +x_offset: 34.6 +y_offset: 17.4 # z_offset: 0 speed: 10.0 samples: 3 @@ -344,7 +351,7 @@ damping_ratio_y: 0.1 # F072 Right nozzle ID [mcu R_tool] -canbus_uuid: 000000000002 +canbus_uuid: 000000000002 canbus_interface: can0 [heater_fan Sink_fan_1] @@ -479,27 +486,27 @@ gcode: [gcode_macro ACTIVATE_COPY_MODE] gcode: SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY - G1 X0 + G1 X0 F6000 ACTIVATE_EXTRUDER EXTRUDER=extruder SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY - G1 X227.5 + G1 X227.5 F6000 SET_DUAL_CARRIAGE CARRIAGE=1 MODE=COPY SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder [gcode_macro ACTIVATE_MIRROR_MODE] gcode: SET_DUAL_CARRIAGE CARRIAGE=0 MODE=PRIMARY - G1 X0 + G1 X0 F6000 ACTIVATE_EXTRUDER EXTRUDER=extruder SET_DUAL_CARRIAGE CARRIAGE=1 MODE=PRIMARY - G1 X455 + G1 X455 F6000 SET_DUAL_CARRIAGE CARRIAGE=1 MODE=MIRROR SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder - + [gcode_macro PROBE_SERVO_OPEN] gcode: - SET_SERVO SERVO=probe_servo angle=45 + SET_SERVO SERVO=probe_servo angle=45 G4 P500 [gcode_macro PROBE_SERVO_CLOSE] @@ -588,19 +595,19 @@ gcode: {% endif %} [gcode_macro SET_X_OFFSET] -gcode: +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: +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: +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} @@ -643,10 +650,10 @@ gcode: {% set do_y = 'Y' in params|string %} {% set do_z = 'Z' in params|string %} - {% if do_x %} + {% if do_x %} {% set homing_cmd = 'X ' %} {% endif %} - {% if do_y %} + {% if do_y %} {% set homing_cmd = homing_cmd + 'Y ' %} {% endif %} {% if do_z %} @@ -679,13 +686,79 @@ gcode: {% if params.S is defined %} M141 S{s} {% if s != 0 %} - TEMPERATURE_WAIT SENSOR=chamber MINIMUM={s-1} MAXIMUM={s+2} + TEMPERATURE_WAIT SENSOR="heater_generic chamber" MINIMUM={s-2} MAXIMUM={s+2} {% endif %} {% endif %} [gcode_macro M84] rename_existing: C84 -gcode: +gcode: C84 SET_STEPPER_ENABLE STEPPER=stepper_z enable=1 _RESTORE_DEFAULT_EXTRUDER + +[gcode_macro _CLIENT_VARIABLE] +variable_use_custom_pos : True +variable_custom_park_x : 200.0 +variable_custom_park_y : 250.0 +variable_custom_park_dz : 20.0 +variable_retract : 2.0 +variable_cancel_retract : 10.0 +variable_speed_retract : 60.0 +variable_unretract : 20.0 +variable_speed_unretract : 6.0 +variable_speed_hop : 5.0 +variable_speed_move : 100.0 +variable_park_at_cancel : False +variable_park_at_cancel_x : None +variable_park_at_cancel_y : None +variable_use_fw_retract : False +variable_idle_timeout : 600 +variable_runout_sensor : "" +variable_user_pause_macro : "_USER_PAUSE" +variable_user_resume_macro: "_USER_RESUME" +variable_user_cancel_macro: "_USER_CANCEL" +gcode: + # Nothing + +[gcode_macro _USER_PAUSE] +gcode: + {% set extruderTools = [('extruder', 'last_extruder_temp'), + ('extruder1', 'last_extruder1_temp')] %} + {% for extruder_name, name in extruderTools %} + {% set temp = printer[extruder_name].target if extruder_name in printer else 0 %} + {% set restore = False if printer[extruder_name] == '' + else True if params.RESTORE|default(1)|int == 1 else False %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}" + {% endfor %} + +[gcode_macro RESUME] +variable_last_extruder_temp: {'restore': False, 'temp': 0} +variable_last_extruder1_temp: {'restore': False, 'temp': 0} + +[gcode_macro _USER_RESUME] +gcode: + {% set extruder_info = [ + {'index': 0, 'name': 'last_extruder_temp'}, + {'index': 1, 'name': 'last_extruder1_temp'}] %} + + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + M104 T{ info.index } S{ variable.temp } + {% endif %} + {% endfor %} + {% for info in extruder_info %} + {% set variable = printer["gcode_macro RESUME"][info.name] %} + {% if variable.restore %} + {% set tool = "extruder" if info.index == 0 else "extruder1" %} + {% set needwait = True if printer[tool].temperature < variable.temp else False %} + {% if needwait %} + M109 T{info.index} S{variable.temp} + {% endif %} + {% endif %} + {% endfor %} + +[gcode_macro _USER_CANCEL] +gcode: + M84 \ No newline at end of file