9090
9191[gcode_macro PRIME_LINE]
9292gcode:
93+ SAVE_GCODE_STATE NAME =prime_line_state
9394 {% set speed = printer[" gcode_macro RatOS" ].macro_travel_speed|float * 60 %}
9495 # Absolute positioning
9596 G90
@@ -108,41 +109,43 @@ gcode:
108109 G1 Y{printer.toolhead.axis_minimum.y + 80} E16 F1200
109110 # Wipe
110111 G1 Y{printer.toolhead.axis_minimum.y + 100} F{speed}
111- # Reset extrusion
112- G92 E0
112+ RESTORE_GCODE_STATE NAME =prime_line_state
113113
114114[gcode_macro PRIME_BLOB]
115115gcode:
116+ SAVE_GCODE_STATE NAME =prime_blob_state
117+ M117 Prime blob...
116118 {% set speed = printer[" gcode_macro RatOS" ].macro_travel_speed|float * 60 %}
117119 # Absolute positioning
118120 G90
119- # Absolute extrusion
120- M82
121- M117 Prime blob...
121+ # Relative extrusion
122+ M83
122123 # Lift 5 mm
123124 G1 Z5 F3000
124- # Reset extrusion distance
125- G92 E0
126125 # move to blob position
127126 G1 X{printer.toolhead.axis_minimum.x + 5} Y{printer.toolhead.axis_minimum.y + 10} Z0.5 F{speed}
128127 # Extrude a blob
129128 G1 F60 E20
130129 # 40% fan
131130 M106 S102
132131 # Move the extruder up by 5mm while extruding, breaks away from blob
133- G1 Z5 F100 E25
132+ G1 Z5 F100 E5
134133 # Move to wipe position, but keep extruding so the wipe is attached to blob
135- G1 F200 Y{printer.toolhead.axis_minimum.y + 25} E26
134+ G1 F200 Y{printer.toolhead.axis_minimum.y + 25} E1
136135 # Go down diagonally while extruding
137- G1 F200 Y{printer.toolhead.axis_minimum.y + 40} Z0.2 E28
136+ # Broken down in z moves under 2mm as a workaround for a tuning tower test.
137+ # The tuning tower command thinks a new print has been started when z moves over 2mm and aborts.
138+ G1 F200 Y{printer.toolhead.axis_minimum.y + 30} Z3.8 E0.5
139+ G1 F200 Y{printer.toolhead.axis_minimum.y + 35} Z2.6 E0.5
140+ G1 F200 Y{printer.toolhead.axis_minimum.y + 40} Z1.4 E0.5
141+ G1 F200 Y{printer.toolhead.axis_minimum.y + 45} Z0.2 E0.5
138142 # 0% fan
139143 M106 S0
140144 # small wipe line
141- G1 F200 Y{printer.toolhead.axis_minimum.y +50} Z0.2 E28 .6
145+ G1 F200 Y{printer.toolhead.axis_minimum.y +50} Z0.2 E0 .6
142146 # Break away wipe
143147 G1 F{speed} Y{printer.toolhead.axis_minimum.y + 100}
144- # Reset extrusion distance
145- G92 E0
148+ RESTORE_GCODE_STATE NAME =prime_blob_state
146149
147150
148151[gcode_macro _PARK]
0 commit comments