This commit is contained in:
whb0514
2025-08-06 14:12:07 +08:00
parent f2778023df
commit ec595fc903
9 changed files with 70 additions and 173 deletions

View File

@@ -205,15 +205,50 @@ gcode:
_CG28
M204 S10000
{% if (printer.gcode_move.position.y) > 305 %}
G1 X82 Y324 F6000
G1 X82.5 Y324 F6000
G1 X95
{% else %}
G1 X82 F12000
G1 X82.5 F12000
G1 Y310 F12000
G1 Y324 F600
G1 X95 F6000
{% endif %}
[gcode_macro EXTRUSION_AND_FLUSH]
gcode:
{% set hotendtemp = params.HOTEND|int %}
MOVE_TO_TRASH
M109 S{hotendtemp}
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
G4 P6000
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 %}
M106 S255
M400
G4 P6000
CLEAR_FLUSH
M106 S60
# Excute when start printing, prior to gcode file
[gcode_macro PRINT_START]
gcode:
@@ -247,139 +282,11 @@ gcode:
SAVE_VARIABLE VARIABLE=runout_{i} VALUE=0
G4 P100
{% endfor %}
SAVE_VARIABLE VARIABLE=extrude_state VALUE=-1
{% 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 %}
BOX_PRINT_START EXTRUDER={extruder} HOTENDTEMP={hotendtemp}
M400
EXTRUSION_AND_FLUSH HOTEND={hotendtemp}
{% endif %}
{% endif %}
M106 S0
@@ -746,41 +653,19 @@ 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 %}
TRY_RESUME_PRINT
{% else %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% else %}
M118 Printer resume failed
{% endif %}
{% endif %}
{% else %}
{% if printer['hall_filament_width_sensor'].Diameter > 0.5 %}
RESUME_PRINT
{% else %}
M118 Printer resume failed
{% endif %}
{% endif %}
{% endif %}