更新配置文件 新增开门检测文件

This commit is contained in:
zkk 2025-05-07 09:20:14 +00:00
parent 812c10499e
commit 28884f05d0
6 changed files with 260 additions and 95 deletions

View File

@ -0,0 +1 @@
../../module/door_detect.cfg

View File

@ -9,6 +9,10 @@ filename: ~/printer_data/config/config_variables.cfg
[exclude_object]
[board_pins]
aliases:
DOOR_PIN=PC5
[gcode_arcs]
resolution: 1.0
@ -103,14 +107,16 @@ position_min: -4
homing_speed: 10
second_homing_speed: 1
homing_retract_dist: 2.0
step_pulse_duration: 0.000005
[heater_bed]
heater_pin: PD12
sensor_type: Generic 3950
sensor_pin: PC0
max_power: 1.0
min_temp: 0
max_temp: 130
min_temp: -20
max_temp: 100
overshoot: 10
# control: pid
# pid_kp: 17.22
# pid_ki: 0.9
@ -127,8 +133,9 @@ heater_pin:PD15
max_power:1.0
sensor_type: Generic 3950
sensor_pin:PC3
min_temp: 0
max_temp: 70
min_temp: -20
max_temp: 60
overshoot: 10
pwm_cycle_time: 0.3
# control: pid
# pid_kp: 30.68
@ -246,8 +253,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: tool:PC6
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -20
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -295,8 +303,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: tool:PC7
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -20
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -363,7 +372,10 @@ gcode:
[gcode_macro T0]
gcode:
{% set filament_insert = printer["filament_switch_sensor extruder"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor|default("") == ""
else True if not printer[client.filament_sensor].enabled
else printer[client.filament_sensor].filament_detected|default(False) %}
{% set printing = printer.print_stats.state == "printing" %}
{% if filament_insert or printing == False %}
SET_SERVO SERVO=switch_nozzle angle=135
@ -390,7 +402,10 @@ gcode:
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set x_offset = x_offset - 59 %}
{% set filament_insert = printer["filament_switch_sensor extruder1"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor1|default("") == ""
else True if not printer[client.filament_sensor1].enabled
else printer[client.filament_sensor1].filament_detected|default(False) %}
{% set printing = (printer.print_stats.state == "printing") %}
{% if filament_insert or printing == False %}
SET_SERVO SERVO=switch_nozzle angle=135
@ -654,13 +669,14 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% set heaters = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp'),
('heater_bed', 'last_bed_temp')] %}
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% 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] == ''
{% for heater, name in heaters %}
{% set temp = printer[heater].target if heater in printer else 0 %}
{% set restore = False if printer[heater] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
@ -711,6 +727,10 @@ gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% set value = printer["gcode_macro RESUME"]["last_bed_temp"].temp %}
{% if value != 0 %}
M190 S{value}
{% endif %}
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
@ -770,11 +790,28 @@ gcode:
{% endif %}
{% endif %}
[gcode_macro _REAPPLY_OFFSET]
gcode:
{% set re_extruder = printer['gcode_macro RESUME'].resume_extruder|default("extruder") %}
{% set svv = printer.save_variables.variables %}
{% set x_offset = svv.nozzle_x_offset_val|default(0)|float %}
{% set y_offset = svv.nozzle_y_offset_val|default(0)|float %}
{% set z_offset = svv.nozzle_z_offset_val|default(0)|float %}
{% set x_offset = x_offset - 59 %}
{% set is_extruder = printer.toolhead.extruder == "extruder" %}
{% if printer.toolhead.extruder!= re_extruder %}
SET_GCODE_OFFSET Z={0 if is_extruder else z_offset} MOVE=1
SET_GCODE_OFFSET Y={0 if is_extruder else y_offset}
SET_GCODE_OFFSET X={0 if is_extruder else x_offset}
{% endif %}
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
variable_last_bed_temp: {'restore': False, 'temp': 0}
variable_restore_idle_timeout: 0
variable_idle_state: False
variable_filament_state: ""
@ -786,28 +823,41 @@ gcode:
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set do_resume = False %}
{% set runout = True %}
##### end of definitions #####
_FILAMENT_UPDATE
_RESUME_EXTRUDER AUTOSHIFT={autoshift}
_EXTRUDER_TEMPERATURE_HANDLE
{% macro resume_action() %}
_FILAMENT_UPDATE
_RESUME_EXTRUDER AUTOSHIFT={autoshift}
_EXTRUDER_TEMPERATURE_HANDLE
{% set can_extrude = True if printer.toolhead.extruder == '' # no extruder defined in config
else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder
#### Printer comming from timeout idle state ####
{% if printer.idle_timeout.state|upper == "IDLE" or idle_state or autoshift %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% set can_extrude = True if printer.toolhead.extruder == '' # no extruder defined in config
else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder
#### Printer comming from timeout idle state ####
{% if printer.idle_timeout.state|upper == "IDLE" or idle_state or autoshift %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% endif %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
# we need to use the unicode (\u00B0) for the ° as py2 env's would throw an error otherwise
{client.user_temp_macro|default("")}
{ client.user_temp_macro|default("") }
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
#### Printer comming out of regular PAUSE state ####
{% elif can_extrude %}
{% set do_resume = True %}
_ACT_RESUME DO_RESUME={ do_resume }
{% endmacro %}
{% if printer['gcode_button _door_detection'] %}
{% set sv = printer.save_variables.variables %}
{% set door_function = sv.door_detect|default("Disabled") %}
{% set door_state = printer['gcode_button _door_detection'].state|default('released')|lower %}
{% if door_function == 'Pause Print' and door_state == 'released' %}
RESPOND TYPE=command MSG="action:prompt_begin"
RESPOND TYPE=command MSG="action:prompt_text Please close the door and click Resume to proceed."
RESPOND TYPE=command MSG="action:prompt_footer_button Ok|RESPOND TYPE=command MSG=action:prompt_end"
RESPOND TYPE=command MSG="action:prompt_show"
{% else %}
{ resume_action() }
{% endif %}
{% else %}
{ resume_action() }
{% endif %}
_ACT_RESUME DO_RESUME={do_resume}
[gcode_macro _ACT_RESUME]
gcode:
@ -826,6 +876,7 @@ gcode:
{client.user_resume_macro|default("")}
_CLIENT_EXTRUDE
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
_REAPPLY_OFFSET
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
{% else %}
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
@ -928,9 +979,9 @@ gcode:
RUN_SHELL_COMMAND CMD=_CLEAR_PLR
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename }"'
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ filepath }"'
{% set zero_vars = ['power_resume_x', 'power_resume_y', 'power_resume_z'] %}
{% set zero_vars = ['power_resume_position', 'power_resume_line'] %}
{% for var in zero_vars %}
SAVE_VARIABLE VARIABLE={var} VALUE=0
SAVE_VARIABLE VARIABLE={var} VALUE=0
{% endfor %}
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -946,9 +997,9 @@ gcode:
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set filepath = params.GCODE_FILE|default(sv.filepath)|string %}
{% set last_file = filepath.split('/')[-1] %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
@ -958,7 +1009,7 @@ gcode:
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1
G4 P300
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_offset_total}"
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -1140,4 +1191,6 @@ gcode:
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
gcode:
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D1000HS\" \"NozzleAglin.zip\""
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
[include module/*.cfg]

View File

@ -0,0 +1 @@
../../module/door_detect.cfg

View File

@ -9,6 +9,10 @@ filename: ~/printer_data/config/config_variables.cfg
[exclude_object]
[board_pins]
aliases:
DOOR_PIN=PC5
[gcode_arcs]
resolution: 1.0
@ -103,14 +107,16 @@ position_min: -4
homing_speed: 10
second_homing_speed: 1
homing_retract_dist: 2.0
step_pulse_duration: 0.000005
[heater_bed]
heater_pin: PD12
sensor_type: Generic 3950
sensor_pin: PC0
max_power: 1.0
min_temp: 0
max_temp: 130
min_temp: -20
max_temp: 100
overshoot: 10
# control: pid
# pid_kp: 59.368
# pid_ki: 1.656
@ -127,8 +133,9 @@ heater_pin:PD15
max_power:1.0
sensor_type: Generic 3950
sensor_pin:PC3
min_temp: 0
max_temp: 80
min_temp: -20
max_temp: 70
overshoot: 10
pwm_cycle_time: 0.3
# control: pid
# pid_kp: 30.68
@ -246,8 +253,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: tool:PC6
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -20
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -295,8 +303,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: tool:PC7
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -20
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -363,7 +372,10 @@ gcode:
[gcode_macro T0]
gcode:
{% set filament_insert = printer["filament_switch_sensor extruder"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor|default("") == ""
else True if not printer[client.filament_sensor].enabled
else printer[client.filament_sensor].filament_detected|default(False) %}
{% set printing = printer.print_stats.state == "printing" %}
{% if filament_insert or printing == False %}
SET_SERVO SERVO=switch_nozzle angle=135
@ -390,7 +402,10 @@ gcode:
{% set y_offset = sv.nozzle_y_offset_val|default(0)|float %}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set x_offset = x_offset - 59 %}
{% set filament_insert = printer["filament_switch_sensor extruder1"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor1|default("") == ""
else True if not printer[client.filament_sensor1].enabled
else printer[client.filament_sensor1].filament_detected|default(False) %}
{% set printing = (printer.print_stats.state == "printing") %}
{% if filament_insert or printing == False %}
SET_SERVO SERVO=switch_nozzle angle=135
@ -417,7 +432,7 @@ gcode:
[gcode_macro PROBE_SERVO_CLOSE]
gcode:
SET_SERVO SERVO=probe_servo angle=130
SET_SERVO SERVO=probe_servo angle=170
G4 P2000
[gcode_macro _START_PRINT_BASE]
@ -538,12 +553,18 @@ gcode:
{% set do_z = 'Z' in params|string %}
{% if do_x %}
SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1
G4 P300
{% set homing_cmd = 'X ' %}
{% endif %}
{% if do_y %}
SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1
G4 P300
{% set homing_cmd = homing_cmd + 'Y ' %}
{% endif %}
{% if do_z %}
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1
G4 P300
{% if 'x' not in printer.toolhead.homed_axes|lower or 'y' not in printer.toolhead.homed_axes|lower %}
{% set homing_cmd = 'X Y Z' %}
{% else %}
@ -551,6 +572,10 @@ gcode:
{% endif %}
{% endif %}
{% if not homing_cmd %}
SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1
SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1
G4 P300
C28
_ACTIVATE_DEFAULT_EXTRUDER
{% else %}
@ -645,13 +670,14 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% set heaters = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp'),
('heater_bed', 'last_bed_temp')] %}
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% 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] == ''
{% for heater, name in heaters %}
{% set temp = printer[heater].target if heater in printer else 0 %}
{% set restore = False if printer[heater] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
@ -702,6 +728,10 @@ gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% set value = printer["gcode_macro RESUME"]["last_bed_temp"].temp %}
{% if value != 0 %}
M190 S{value}
{% endif %}
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
{% if printer[printer.toolhead.extruder].temperature < value-3 %}
@ -761,11 +791,28 @@ gcode:
{% endif %}
{% endif %}
[gcode_macro _REAPPLY_OFFSET]
gcode:
{% set re_extruder = printer['gcode_macro RESUME'].resume_extruder|default("extruder") %}
{% set svv = printer.save_variables.variables %}
{% set x_offset = svv.nozzle_x_offset_val|default(0)|float %}
{% set y_offset = svv.nozzle_y_offset_val|default(0)|float %}
{% set z_offset = svv.nozzle_z_offset_val|default(0)|float %}
{% set x_offset = x_offset - 59 %}
{% set is_extruder = printer.toolhead.extruder == "extruder" %}
{% if printer.toolhead.extruder!= re_extruder %}
SET_GCODE_OFFSET Z={0 if is_extruder else z_offset} MOVE=1
SET_GCODE_OFFSET Y={0 if is_extruder else y_offset}
SET_GCODE_OFFSET X={0 if is_extruder else x_offset}
{% endif %}
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
variable_last_bed_temp: {'restore': False, 'temp': 0}
variable_restore_idle_timeout: 0
variable_idle_state: False
variable_filament_state: ""
@ -777,29 +824,41 @@ gcode:
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set do_resume = False %}
{% set runout = True %}
##### end of definitions #####
_FILAMENT_UPDATE
_RESUME_EXTRUDER AUTOSHIFT={autoshift}
_EXTRUDER_TEMPERATURE_HANDLE
{% macro resume_action() %}
_FILAMENT_UPDATE
_RESUME_EXTRUDER AUTOSHIFT={autoshift}
_EXTRUDER_TEMPERATURE_HANDLE
{% set can_extrude = True if printer.toolhead.extruder == '' # no extruder defined in config
else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder
#### Printer comming from timeout idle state ####
{% if printer.idle_timeout.state|upper == "IDLE" or idle_state or autoshift %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% set can_extrude = True if printer.toolhead.extruder == '' # no extruder defined in config
else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder
#### Printer comming from timeout idle state ####
{% if printer.idle_timeout.state|upper == "IDLE" or idle_state or autoshift %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% endif %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
# we need to use the unicode (\u00B0) for the ° as py2 env's would throw an error otherwise
{client.user_temp_macro|default("")}
{ client.user_temp_macro|default("") }
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
#### Printer comming out of regular PAUSE state ####
{% elif can_extrude %}
{% set do_resume = True %}
_ACT_RESUME DO_RESUME={ do_resume }
{% endmacro %}
{% if printer['gcode_button _door_detection'] %}
{% set sv = printer.save_variables.variables %}
{% set door_function = sv.door_detect|default("Disabled") %}
{% set door_state = printer['gcode_button _door_detection'].state|default('released')|lower %}
{% if door_function == 'Pause Print' and door_state == 'released' %}
RESPOND TYPE=command MSG="action:prompt_begin"
RESPOND TYPE=command MSG="action:prompt_text Please close the door and click Resume to proceed."
RESPOND TYPE=command MSG="action:prompt_footer_button Ok|RESPOND TYPE=command MSG=action:prompt_end"
RESPOND TYPE=command MSG="action:prompt_show"
{% else %}
{ resume_action() }
{% endif %}
{% else %}
{ resume_action() }
{% endif %}
_ACT_RESUME DO_RESUME={do_resume}
[gcode_macro _ACT_RESUME]
gcode:
@ -818,6 +877,7 @@ gcode:
{client.user_resume_macro|default("")}
_CLIENT_EXTRUDE
RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)}
_REAPPLY_OFFSET
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=change_runout VALUE="None"
{% else %}
{% set msg = "Left" if printer.toolhead.extruder == "extruder" else "Right" %}
@ -920,9 +980,9 @@ gcode:
RUN_SHELL_COMMAND CMD=_CLEAR_PLR
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename }"'
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ filepath }"'
{% set zero_vars = ['power_resume_x', 'power_resume_y', 'power_resume_z'] %}
{% set zero_vars = ['power_resume_position', 'power_resume_line'] %}
{% for var in zero_vars %}
SAVE_VARIABLE VARIABLE={var} VALUE=0
SAVE_VARIABLE VARIABLE={var} VALUE=0
{% endfor %}
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -938,9 +998,9 @@ gcode:
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set filepath = params.GCODE_FILE|default(sv.filepath)|string %}
{% set last_file = filepath.split('/')[-1] %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
@ -950,7 +1010,7 @@ gcode:
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1
G4 P300
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_offset_total}"
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -1132,4 +1192,6 @@ gcode:
[gcode_macro _NOZZLE_XY_OFFSET_CALIBRATE]
gcode:
RUN_SHELL_COMMAND CMD=fetch_assets PARAMS="\"Gcode\" \"D600Pro2HS\" \"NozzleAglin.zip\""
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
SDCARD_PRINT_FILE FILENAME=".PresetModel/NozzleAglin.gcode"
[include module/*.cfg]

View File

@ -48,7 +48,7 @@ square_corner_velocity: 5.0
speed: 100
horizontal_move_z: 7
mesh_min: 34.6,17.4
mesh_max: 420, 300
mesh_max: 420, 290
probe_count: 5,4
mesh_pps: 2,2
fade_end: 5
@ -65,7 +65,7 @@ full_steps_per_rotation: 200
endstop_pin: ^PC10
position_min: -20
position_endstop: -20
position_max: 475
position_max: 400
homing_speed: 100
homing_retract_dist: 10
step_pulse_duration:0.0000025
@ -152,8 +152,9 @@ heater_pin: PD12
sensor_type: Generic 3950
sensor_pin: PC0
max_power: 1.0
min_temp: 0
max_temp: 150
min_temp: -20
max_temp: 140
overshoot: 10
# control: pid
# pid_kp: 40.673
# pid_ki: 0.837
@ -170,8 +171,9 @@ heater_pin: PD15
max_power: 1.0
sensor_type: Generic 3950
sensor_pin: PC3
min_temp: 0
max_temp: 80
min_temp: -20
max_temp: 70
overshoot: 10
# control: pid
# pid_kp: 30.68
# pid_ki: 0.21
@ -203,7 +205,7 @@ kick_start_time: 1.0
pin: PC6
max_power: 0.8
heater:
stepper: stepper_x, stepper_z, dual_carriage
stepper: stepper_x, stepper_z, dual_carriage
idle_speed: 0.5
[delayed_gcode INIT_LIGHT]
@ -298,8 +300,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: L_tool:PA8
max_power: 1.0
min_temp: 0
min_temp: -20
max_temp: 450
overshoot: 20
min_extrude_temp: 150
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -391,8 +394,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: R_tool:PA8
max_power: 1.0
min_temp: 0
min_temp: -20
max_temp: 450
overshoot: 20
min_extrude_temp: 150
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -442,7 +446,10 @@ gcode:
[gcode_macro T0]
gcode:
{% set filament_insert = printer["filament_switch_sensor extruder"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor|default("") == ""
else True if not printer[client.filament_sensor].enabled
else printer[client.filament_sensor].filament_detected|default(False) %}
{% set printing = printer.print_stats.state == "printing" %}
{% if filament_insert or printing == False %}
{% if "x" not in printer.toolhead.homed_axes %}
@ -490,7 +497,10 @@ gcode:
{% set y_offset = svv.nozzle_y_offset_val|default(0)|float %}
{% set z_offset = svv.nozzle_z_offset_val|default(0)|float %}
{% set filament_insert = printer["filament_switch_sensor extruder1"].filament_detected|default(False) %}
{% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %}
{% set filament_insert = True if client.filament_sensor1|default("") == ""
else True if not printer[client.filament_sensor1].enabled
else printer[client.filament_sensor1].filament_detected|default(False) %}
{% set printing = (printer.print_stats.state == "printing") %}
{% if filament_insert or printing == False %}
{% if "x" not in printer.toolhead.homed_axes %}
@ -838,13 +848,14 @@ gcode:
[gcode_macro _USER_PAUSE]
gcode:
{% set extruderTools = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp')] %}
{% set heaters = [('extruder', 'last_extruder_temp'),
('extruder1', 'last_extruder1_temp'),
('heater_bed', 'last_bed_temp')] %}
{% set act = printer.gcode_move.gcode_position %}
SAVE_VARIABLE VARIABLE=power_resume_z VALUE={act.z}
{% 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] == ''
{% for heater, name in heaters %}
{% set temp = printer[heater].target if heater in printer else 0 %}
{% set restore = False if printer[heater] == ''
else True if params.RESTORE|default(1)|int == 1 else False %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE={name} VALUE="{{'restore': restore, 'temp': temp}}"
{% endfor %}
@ -864,6 +875,10 @@ gcode:
{% set extruder_info = [
{'index': 0, 'name': 'last_extruder_temp'},
{'index': 1, 'name': 'last_extruder1_temp'}] %}
{% set value = printer["gcode_macro RESUME"]["last_bed_temp"].temp %}
{% if value != 0 %}
M190 S{value}
{% endif %}
{% set temperature = "last_extruder_temp" if printer.toolhead.extruder == "extruder" else "last_extruder1_temp" %}
{% set value = printer["gcode_macro RESUME"][temperature].temp %}
{% for info in extruder_info %}
@ -980,6 +995,7 @@ description: Resume the actual running print
rename_existing: RESUME_BASE
variable_last_extruder_temp: {'restore': False, 'temp': 0}
variable_last_extruder1_temp: {'restore': False, 'temp': 0}
variable_last_bed_temp: {'restore': False, 'temp': 0}
variable_restore_idle_timeout: 0
variable_idle_state: False
variable_resume_dual: False
@ -1146,9 +1162,9 @@ gcode:
RUN_SHELL_COMMAND CMD=_CLEAR_PLR
SAVE_VARIABLE VARIABLE=last_file VALUE='"{ filename }"'
SAVE_VARIABLE VARIABLE=filepath VALUE='"{ filepath }"'
{% set zero_vars = ['power_resume_x', 'power_resume_y', 'power_resume_z'] %}
{% set zero_vars = ['power_resume_position', 'power_resume_line'] %}
{% for var in zero_vars %}
SAVE_VARIABLE VARIABLE={var} VALUE=0
SAVE_VARIABLE VARIABLE={var} VALUE=0
{% endfor %}
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
@ -1164,9 +1180,9 @@ gcode:
{% set park_dz = client.custom_park_dz|default(2.0)|abs %}
RESPOND TYPE=command MSG="action:prompt_end"
SET_GCODE_OFFSET Z=0 MOVE=0
{% set z_height = params.Z_HEIGHT|default(sv.power_resume_z)|float %}
{% set is_paused = sv.power_loss_paused|default(False) %}
{% set last_file = params.GCODE_FILE|default(sv.last_file)|string %}
{% set filepath = params.GCODE_FILE|default(sv.filepath)|string %}
{% set last_file = filepath.split('/')[-1] %}
{% set hotend = sv.power_resume_extruder|default("extruder")%}
{% set z_offset = sv.nozzle_z_offset_val|default(0)|float %}
{% set z_offset_total = park_dz if is_paused else 0 %}
@ -1176,7 +1192,7 @@ gcode:
SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=1
G4 P300
M118 Recovery in progress, please wait
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_height} \"{last_file}\" \"{z_offset_total}\""
RUN_SHELL_COMMAND CMD=_POWER_LOSS_RECOVERY PARAMS="{z_offset_total}"
SDCARD_PRINT_FILE FILENAME=.plr/"{last_file}"
SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False

View File

@ -0,0 +1,32 @@
[gcode_button _door_detection]
pin: DOOR_PIN
press_gcode:
release_gcode:
{% set sv = printer.save_variables.variables %}
{% set door_function = sv.door_detect|default("Disabled") %}
{% if door_function != "Disabled" %}
M118 Printer door is opening!
{% endif %}
_DOOR_DETECTION_HANDLE STATUS='open'
[gcode_macro _DOOR_DETECTION_HANDLE]
gcode:
{% set sv = printer.save_variables.variables %}
{% set door_function = sv.door_detect|default("Disabled") %}
{% set status = params.STATUS|default("close") %}
{% set printing_state = printer.print_stats.state %}
{% if status=='open' and printing_state == 'printing' %}
{% if door_function == 'Emergency Stop' %}
M112
{% elif door_function == 'Pause Print' %}
PAUSE
{% endif %}
{% endif %}
[gcode_macro _DOOR_START_PRINT_BASE]
description: Call handle door is open when starting to print
gcode:
RESPOND TYPE=command MSG="action:prompt_begin"
RESPOND TYPE=command MSG="action:prompt_text Printer door is opened. Please close the door and then start printing."
RESPOND TYPE=command MSG="action:prompt_footer_button Ok|RESPOND TYPE=command MSG=action:prompt_end"
RESPOND TYPE=command MSG="action:prompt_show"