Compare commits

...

27 Commits

Author SHA1 Message Date
zkk
248a4e48a0 优化关于温度的报警提示
(cherry picked from commit f4afd87318f42e53fa235bc1b3062ceda9d5d8a7)
2025-04-22 17:29:48 +08:00
4ea52d07b4 修复Kit版机型的一处拼写错误
(cherry picked from commit 42139a47dbf272a0ef24220cd533f4fc2e19ec1c)
2025-04-22 17:26:35 +08:00
5ae4989358 修复D600pro2、D1000机型断料自动切头时,喷头偏移值未应用的问题
(cherry picked from commit 58678be1f83d74ac0e3c2435ffb5d71078918f47)
2025-04-22 17:25:40 +08:00
zkk
af723d3cd0 优化D600Pro2HS和D1000HS的Z轴step脉冲信号脉宽为5微秒
(cherry picked from commit d521dd26fa7c21a14e5a01f8ffd7bc491c3fe1af)
2025-04-11 11:19:35 +08:00
661f3eae0f 修复开门检测机型暂停后点击恢复没反应的问题
(cherry picked from commit d9500887ac6447bf541e44b36584cd9dfba51533)
2025-04-11 11:19:35 +08:00
zkk
1ae7fc486f 解决D600Pro2HS更换z轴电机 解锁电机点击回零z轴下降距离不够的问题
(cherry picked from commit 40ef648e4cdbc6b0bd9d679f46ee7766850afd88)
2025-04-11 11:19:35 +08:00
zkk
764b9fe983 修改D600Pro2舵机收起的角度
(cherry picked from commit 13552e128338c5b9ec414f3baef832a5c997c831)
2025-04-11 11:19:35 +08:00
4cdbc006d3 实现开门检测功能
(cherry picked from commit 82b7fc8acfdc61853da617e7d3e0bb83163f454b)
2025-03-31 10:02:01 +08:00
zkk
a0958a82cc Merge commit '724fa910c5e20a6595fc41c2dfbe77effc9419ac' into release 2025-03-17 16:46:17 +08:00
zkk
e3d668e0e5 Merge commit 'a5955157dbf3088822e82998511a001d11b7b113' into release 2025-03-03 15:30:17 +08:00
zkk
2dabfbf088 Merge commit 'aa375bcff05744d5d2ab3fd352777abdfb59d35b' into release 2025-02-14 15:29:11 +08:00
zkk
fd1a6a37cc Merge commit '440010b9cbf57bf805ef93b43fc0947746235033' into release 2025-01-17 14:44:27 +08:00
zkk
e2b26bb3fe Merge commit 'c7326be1837eda161c5a13cfd3d00ea74b7d4753' into release 2025-01-10 13:39:00 +08:00
zkk
3024b76663 Merge commit 'dda0962b986d0c9d6a1a442f5c5ef63d151f5ef2' into release 2025-01-07 17:21:40 +08:00
zkk
03d11a16b3 Merge commit 'ba4f343e9430af5538610529dd400f1f954b0078' into release 2024-12-31 17:28:20 +08:00
zkk
e052ab0957 Merge commit 'b2b98c057a7d23f9c8b0aec4c14844f7c24d6bde' into release 2024-12-31 15:15:14 +08:00
zkk
25bc7c6d9e Merge commit '9b487abec3449dea3673618c1a8b9e88f16b4c40' into release 2024-12-19 16:23:07 +08:00
zkk
588ea44028 Merge commit '9be203c58f7c88e4f6963a1079d2dcfaa5401dde' into release 2024-12-12 10:39:56 +08:00
zkk
349f8f7a24 Merge branch 'develop' into release 2024-11-29 10:21:01 +08:00
zkk
e554ddb83c Merge branch 'develop' 2024-11-15 16:37:01 +08:00
zkk
cae8bdbf21 Merge branch 'develop' 2024-11-09 16:15:18 +08:00
zkk
249ce23f34 Merge branch 'develop' 2024-11-01 11:16:20 +08:00
zkk
a012f4d942 Merge branch 'develop' 2024-10-18 16:33:44 +08:00
zkk
436fc72a7a Merge branch 'develop' 2024-09-19 14:29:14 +08:00
zkk
98b74a2fc6 Merge branch 'develop' 2024-09-13 16:22:51 +08:00
zkk
f79c536524 Merge branch 'develop' 2024-09-12 14:28:16 +08:00
zkk
da791f9d98 Merge branch 'develop' 2024-09-07 17:22:24 +08:00
11 changed files with 324 additions and 78 deletions

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"

View File

@ -10,6 +10,10 @@ filename: ~/printer_data/config/config_variables.cfg
[exclude_object]
[board_pins]
aliases:
DOOR_PIN=PC5
[gcode_arcs]
resolution: 1.0
@ -104,14 +108,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
@ -128,8 +134,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
@ -247,8 +254,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
@ -296,8 +304,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
@ -771,6 +780,22 @@ 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
@ -787,24 +812,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=Fals
{% 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 %}
{ client.user_temp_macro|default("") }
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
_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 %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
{client.user_temp_macro|default("")}
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
_ACT_RESUME DO_RESUME={do_resume}
[gcode_macro _ACT_RESUME]
gcode:
@ -823,6 +865,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" %}
@ -1137,4 +1180,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

@ -105,14 +105,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
@ -129,8 +131,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
@ -204,8 +207,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: PD13
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -1
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -241,8 +245,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: PD14
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -1
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -705,6 +710,22 @@ 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
@ -730,7 +751,7 @@ gcode:
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=Fals
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% endif %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
{client.user_temp_macro|default("")}
@ -757,6 +778,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" %}

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"

View File

@ -10,6 +10,10 @@ filename: ~/printer_data/config/config_variables.cfg
[exclude_object]
[board_pins]
aliases:
DOOR_PIN=PC5
[gcode_arcs]
resolution: 1.0
@ -104,14 +108,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
@ -128,8 +134,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
@ -247,8 +254,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
@ -296,8 +304,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
@ -418,7 +427,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]
@ -539,12 +548,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 %}
@ -552,6 +567,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 %}
@ -762,6 +781,22 @@ 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
@ -778,25 +813,42 @@ 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
{% 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=Fals
#### 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 %}
{ client.user_temp_macro|default("") }
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
_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 %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
{client.user_temp_macro|default("")}
{% set do_resume = True %}
{% elif can_extrude %}
{% set do_resume = True %}
{% endif %}
_ACT_RESUME DO_RESUME={do_resume}
[gcode_macro _ACT_RESUME]
gcode:
@ -815,6 +867,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" %}
@ -1129,4 +1182,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

@ -105,14 +105,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
@ -129,8 +131,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
@ -205,8 +208,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: PD13
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -1
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.03
pressure_advance_smooth_time:0.040
@ -242,8 +246,9 @@ max_extrude_only_accel: 1000.0
max_extrude_cross_section:5
heater_pin: PD14
max_power: 1.0
min_temp: 0
max_temp: 435
min_temp: -1
max_temp: 420
overshoot: 20
min_extrude_temp: 180
pressure_advance: 0.032
pressure_advance_smooth_time:0.040
@ -699,6 +704,22 @@ 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
@ -725,7 +746,7 @@ gcode:
#### 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=Fals
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False
{% endif %}
{% if last_extruder_temp.restore or last_extruder1_temp.restore %}
{client.user_temp_macro|default("")}
@ -752,6 +773,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" %}

View File

@ -153,8 +153,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
@ -171,8 +172,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
@ -299,8 +301,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
@ -392,8 +395,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

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"

View File

@ -24,7 +24,8 @@ class Heater:
self.sensor = sensor
self.min_temp = config.getfloat('min_temp', minval=KELVIN_TO_CELSIUS)
self.max_temp = config.getfloat('max_temp', above=self.min_temp)
self.sensor.setup_minmax(self.min_temp, self.max_temp)
self.overshoot = config.getfloat('overshoot', default=20., above=0.)
self.sensor.setup_minmax(self.min_temp, self.max_temp + self.overshoot)
self.sensor.setup_callback(self.temperature_callback)
self.pwm_delay = self.sensor.get_report_time_delta()
# Setup temperature checks

View File

@ -9,7 +9,7 @@ import mcu
SAMPLE_TIME = 0.001
SAMPLE_COUNT = 8
REPORT_TIME = 0.300
RANGE_CHECK_COUNT = 4
RANGE_CHECK_COUNT = 8
class PrinterTemperatureMCU:
def __init__(self, config):

View File

@ -16,7 +16,8 @@ class PrinterSensorGeneric:
minval=KELVIN_TO_CELSIUS)
self.max_temp = config.getfloat('max_temp', 99999999.9,
above=self.min_temp)
self.sensor.setup_minmax(self.min_temp, self.max_temp)
self.overshoot = config.getfloat('overshoot', default=20., above=0.)
self.sensor.setup_minmax(self.min_temp, self.max_temp + self.overshoot)
self.sensor.setup_callback(self.temperature_callback)
pheaters.register_sensor(config, self)
self.last_temp = 0.