-
Notifications
You must be signed in to change notification settings - Fork 79
Description
Bambu added a new AMS command of M620.11, M628, M629 with the long retraction before cut update and it is used in the Change filament gcode at the points below:
Long Retract
{if long_retractions_when_cut[previous_extruder]}
M620.11 S1 I[previous_extruder] E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}
{else}
M620.11 S0
{endif}
Long undo retract
{if long_retractions_when_cut[previous_extruder]}
M620.11 S1 I[previous_extruder] E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}
M628 S1
G92 E0
G1 E{retraction_distances_when_cut[previous_extruder]} F[old_filament_e_feedrate]
M400
M629 S1
{else}
M620.11 S0
{endif}
I think that the M620.11 S1 moves both the AMS hub feeder motor and extruder motor backwards at the same time because there is not a matching G1 E-{retraction_distances_when_cut[previous_extruder]} for the retraction portion of the code. If the filament buffer is fully compressed, the extruder should not be able to long retract on it's own without AMS retraction. Likewise for the AMS retracting on it's own in the filament buffer is in the decompressed length during printing.
There is a M620.11 S0 and G1 with positive extrusion movement when undoing the retraction in the second block of gcode so it's even more confusing.
I make use of inserting new toolchanges in my post processing script and I have described my guesses on M620.11 on my repo as well (https://github.com/ansonl/mfm/blob/master/slicer-setup.md#set-filament-settings)
Do you have any better ideas on which motors that new G-codes activate in the AMS and extruder?