update v1.7.0

This commit is contained in:
whb0514
2025-07-29 18:39:58 +08:00
parent adc97bc9c4
commit f2778023df
93 changed files with 15438 additions and 104 deletions

View File

@@ -1,9 +1,4 @@
# QIDI Plus4 V1.6.0
#20241102
#1. 起始代码腔室加热将在调平后开启
#2. 腔室加热开启必须带着热床升温
#3. M141和M191宏定义修改热床低于70会开启热床加热
#4. 擦料时取消打印,会先移动一点出来
# QIDI Plus4 V1.0.0
[gcode_macro _CG28]
gcode:
@@ -205,28 +200,194 @@ gcode:
M400
M118 Nozzle cooled
[gcode_macro MOVE_TO_TRASH]
gcode:
_CG28
M204 S10000
{% if (printer.gcode_move.position.y) > 305 %}
G1 X82 Y324 F6000
G1 X95
{% else %}
G1 X82 F12000
G1 Y310 F12000
G1 Y324 F600
G1 X95 F6000
{% endif %}
# Excute when start printing, prior to gcode file
[gcode_macro PRINT_START]
gcode:
AUTOTUNE_SHAPERS
TOOL_CHANGE_END
DISABLE_ALL_SENSOR
CLEAR_PAUSE
{% set bedtemp = params.BED|int %}
{% set hotendtemp = params.HOTEND|int %}
{% set chambertemp = params.CHAMBER|default(0)|int %}
{% set extruder = params.EXTRUDER|default(0)|int %}
set_zoffset
M104 S0
M106 P2 S0
M106 P3 S0
M106 S255
{% if "xyz" in printer.toolhead.homed_axes %}
G0 X50 Y50 F6000
{% endif %}
G28
M141 S0
M140 S{bedtemp}
M106 S0
{% if printer.save_variables.variables.box_count >= 1 %}
SAVE_VARIABLE VARIABLE=load_retry_num VALUE=0
SAVE_VARIABLE VARIABLE=retry_step VALUE=None
SAVE_VARIABLE VARIABLE=is_tool_change VALUE=0
{% for i in range(16) %}
SAVE_VARIABLE VARIABLE=runout_{i} VALUE=0
G4 P100
{% endfor %}
{% if printer.save_variables.variables.enable_box == 1 %}
{% set last_load_slot = printer.save_variables.variables.last_load_slot|default("slot-1") %}
{% set value_t = printer.save_variables.variables["value_t" ~ extruder]|default("slot" ~ extruder) %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
{% if last_load_slot != value_t and last_load_slot != "slot-1" %}
CUT_FILAMENT
MOVE_TO_TRASH
M109 S{hotendtemp}
EXTRUDER_UNLOAD SLOT={last_load_slot}
M83
G1 E18 F300
T{extruder}
G1 E1 F50
G1 E28.13 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E-2 F1800
{% for i in range(1,5) %}
M106 S255
M400
G91
G1 X-3 F60
G1 X3 F60
G90
CLEAR_FLUSH
M106 S60
G1 E34.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E-2 F1800
{% endfor %}
{% elif last_load_slot == value_t and printer.save_variables.variables.slot_sync == "slot-1" %}
MOVE_TO_TRASH
M109 S{hotendtemp}
T{extruder}
M83
G1 E1 F50
G1 E28.13 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E-2 F1800
{% for i in range(1,5) %}
M106 S255
M400
G91
G1 X-3 F60
G1 X3 F60
G90
CLEAR_FLUSH
M106 S60
G1 E34.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E-2 F1800
{% endfor %}
{% endif %}
{% else %}
{% if last_load_slot != "slot-1" %}
MOVE_TO_TRASH
M109 S{hotendtemp}
M400
EXTRUDER_UNLOAD SLOT={last_load_slot}
T{extruder}
M83
G1 E1 F50
G1 E28.13 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E-2 F1800
{% for i in range(1,5) %}
M106 S255
M400
G91
G1 X-3 F60
G1 X3 F60
G90
CLEAR_FLUSH
M106 S60
G1 E34.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E-2 F1800
{% endfor %}
{% else %}
MOVE_TO_TRASH
M109 S{hotendtemp}
T{extruder}
M83
G1 E1 F50
G1 E28.13 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E8.73 F611
G1 E0.97 F50
G1 E-2 F1800
{% for i in range(1,5) %}
M106 S255
M400
G91
G1 X-3 F60
G1 X3 F60
G90
CLEAR_FLUSH
M106 S60
G1 E34.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E10.8 F611
G1 E1.2 F50
G1 E-2 F1800
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
M106 S0
CLEAR_NOZZLE HOTEND={hotendtemp}
M190 S{bedtemp}
# M141 S{chambertemp}
M104 S140
Z_TILT_ADJUST
G29
G0 Z50 F600
G0 X5 Y5 F6000
@@ -247,13 +408,19 @@ gcode:
RESET_FILAMENT_WIDTH_SENSOR
query_filament_width
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1
{% if printer["filament_motion_sensor box_motion_sensor"] and printer.save_variables.variables.enable_box == 1 %}
CLEAR_MOTION_DATA
SET_FILAMENT_SENSOR SENSOR=box_motion_sensor ENABLE=1
{% endif %}
[gcode_macro DISABLE_ALL_SENSOR]
gcode:
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0
{% if printer["filament_motion_sensor box_motion_sensor"] %}
SET_FILAMENT_SENSOR SENSOR=box_motion_sensor ENABLE=0
{% endif %}
DISABLE_FILAMENT_WIDTH_SENSOR
[gcode_macro AUTOTUNE_SHAPERS]
variable_autotune_shapers: 'ei'
gcode:
@@ -285,7 +452,7 @@ gcode:
SET_STEPPER_ENABLE STEPPER=stepper_z enable=1
SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=1
BED_MESH_CLEAR
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0
DISABLE_ALL_SENSOR
[homing_override]
axes:xyz
@@ -342,7 +509,7 @@ gcode:
G1 Y5 F2400
G4 P2000
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR * 0.8}
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR * 0.8}
G28 X
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
BEEP I=1 DUR=100
@@ -395,6 +562,7 @@ gcode:
M106 P2 S0
M106 P0 S0
M106 P3 S0
DISABLE_BOX_HEATER
M104 S0
M140 S0
@@ -418,6 +586,7 @@ gcode:
[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
TOOL_CHANGE_END
{% if (printer.gcode_move.position.z) < 200 %}
G1 Z200 F600
{% endif %}
@@ -436,6 +605,7 @@ gcode:
M104 S0
M140 S0
M141 S0
DISABLE_BOX_HEATER
M220 S100
M221 S100
@@ -461,12 +631,11 @@ gcode:
{% set z = params.Z|default(35)|int %}
{% if printer['pause_resume'].is_paused|int == 0 %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=efan VALUE={printer["fan_generic cooling_fan"].speed *255}
SET_GCODE_VARIABLE MACRO=RESUME_PRINT VARIABLE=zhop VALUE={z}
SET_GCODE_VARIABLE MACRO=RESUME_PRINT VARIABLE=etemp VALUE={printer['extruder'].target}
SET_GCODE_VARIABLE MACRO=RESUME_PRINT VARIABLE=efan VALUE={printer["fan_generic cooling_fan"].speed *255}
DISABLE_FILAMENT_WIDTH_SENSOR
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=0
DISABLE_ALL_SENSOR
SAVE_GCODE_STATE NAME=PAUSE
BASE_PAUSE
G92 E0
@@ -477,7 +646,7 @@ gcode:
{% else %}
G91
G1 Z{5} F900
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0
SET_GCODE_VARIABLE MACRO=RESUME_PRINT VARIABLE=zhop VALUE=0
{% endif %}
SAVE_GCODE_STATE NAME=PAUSEPARK2
G90
@@ -490,67 +659,130 @@ gcode:
M104 S0
SET_IDLE_TIMEOUT TIMEOUT=86400
SET_STEPPER_ENABLE STEPPER=extruder enable=0
{% set slot_sync = printer.save_variables.variables.slot_sync|default("slot-1") %}
{% if printer['box_stepper ' ~ slot_sync] %}
SET_STEPPER_ENABLE STEPPER='box_stepper '{slot_sync} enable=0
{% endif %}
{% endif %}
[gcode_macro RESUME]
rename_existing: BASE_RESUME
[gcode_macro RESUME_PRINT]
variable_zhop: 0
variable_etemp: 0
variable_efan: 0
gcode:
{% set e = params.E|default(5)|int %}
{% set tool_change = params.TOOL_CHANGE|default(0)|int %}
{% if printer['pause_resume'].is_paused|int == 1 %}
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}
{% if etemp > 0 %}
M109 S{etemp|int}
{% if printer.save_variables.variables.box_count >= 1 and printer.save_variables.variables.enable_box == 1 and printer.save_variables.variables.is_tool_change == 1%}
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}
MOVE_TO_TRASH
{% if etemp > 0 %}
M109 S{etemp|int}
{% endif %}
M83
RESTORE_GCODE_STATE NAME=PAUSEPARK2 MOVE=1 MOVE_SPEED=200
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=15
BASE_RESUME
{% else %}
SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout}
{% if etemp > 0 %}
M109 S{etemp|int}
{% endif %}
{% if printer.save_variables.variables.box_count >= 1 %}
SAVE_VARIABLE VARIABLE=retry_step VALUE=None
{% endif %}
M83
M106 S0
G1 X95 F12000
G1 Y324 F12000
G92 E0
G1 E5 F50
G92 E0
G1 E50 F200
G92 E0
G1 E-0.8 F200
G4 P300
M106 S{efan}
G1 Y318 F30000
G1 Y322 F3000
G1 Y318 F30000
G1 Y322 F3000
G1 Y318 F30000
G1 Y322 F3000
G1 Y324 F600
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X95 F12000
G1 Y316 F9000
G1 Y312 F600
G1 Y260 F12000
RESTORE_GCODE_STATE NAME=PAUSEPARK2 MOVE=1 MOVE_SPEED=200
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=15
BASE_RESUME
{% if tool_change == 0 %}
ENABLE_ALL_SENSOR
{% endif %}
{% endif %}
M83
M106 S0
G1 X95 F12000
G1 Y324 F12000
G92 E0
G1 E5 F50
G92 E0
G1 E50 F200
G92 E0
G1 E-0.8 F200
G4 P300
{% endif %}
M106 S{efan}
G1 Y318 F30000
G1 Y322 F3000
G1 Y318 F30000
G1 Y322 F3000
G1 Y318 F30000
G1 Y322 F3000
G1 Y324 F600
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X58 F12000
G1 X78 F12000
G1 X95 F12000
G1 Y316 F9000
G1 Y312 F600
G1 Y260 F12000
RESTORE_GCODE_STATE NAME=PAUSEPARK2 MOVE=1 MOVE_SPEED=200
RESTORE_GCODE_STATE NAME=PAUSE MOVE=1 MOVE_SPEED=15
BASE_RESUME
ENABLE_FILAMENT_WIDTH_SENSOR
RESET_FILAMENT_WIDTH_SENSOR
query_filament_width
SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
{% if printer['pause_resume'].is_paused|int == 1 %}
{% if printer.save_variables.variables.box_count >= 1 %}
{% if printer.save_variables.variables.enable_box == 1 %}
{% set retry_val = printer.save_variables.variables.retry_step %}
{% if retry_val == None %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% else %}
{% if printer.save_variables.variables.is_tool_change == 1 %}
RESUME_PRINT
{% endif %}
{% endif %}
{% else %}
{% if (retry_val.startswith('QDE_004_002')
or retry_val.startswith('QDE_004_003')
or retry_val.startswith('QDE_004_004')
or retry_val.startswith('QDE_004_005')
or retry_val.startswith('QDE_004_006')
or retry_val.startswith('QDE_004_009')) %}
TRY_MOVE_AGAIN
{% else %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% else %}
{% if printer.save_variables.variables.is_tool_change == 1 %}
RESUME_PRINT
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% else %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% endif %}
{% endif %}
{% else %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% endif %}
{% endif %}
{% endif %}
[gcode_macro BEEP]