Retract/unretract with G10 / G11



  • Hi!

    I juste noticed that G10 only retract once; if I call it again, it does not retract until a G11 command is sent.

    Why?

    I wrote a script to purge the nozzle, where I extrude some filament. Than I want to retract before I clean the nozzle on a little brush.

    But slicers often sent a final retract, using G10. In this case, my cleanup script misses a G10… But it works when executed just after switch on.

    I can use a relative move of the extruder, but I don't like this solution; G10/G11 is better.

    Is there a way to reset the G10/G11 sequence?

    Thanks,


  • administrators

    Hey, looks like that is a "feature" that needs to be changed in the next firmware version.

    For now you may need to change the startup script to use relative extruder movement and retract that way.



  • Errr, actually there is a little bug in slic3r (AFAIK all versions - certainly the latest Prusa version has it too) whereby it'll sometimes put two consecutive G10s without a G11 in between. It's invariably near the front of the file around the first layer change but not always.

    So, I'm quite glad multiple consecutive G10s are not allowed. If this feature is removed, I'll have to manually check every gcode file and manually delete any multiple occurrences of G10, so personally, I'll be a bit miffed. I don't know about other slicers and I doubt many people will have checked their gcode files for multiple occurrences of G10 without a G11 in between, but if they exist then suddenly a whole lot of people are going to be a tad upset that a firmware change has had an adverse effect on files that previous;y printed OK.


  • administrators

    @fma:

    Hi!

    I juste noticed that G10 only retract once; if I call it again, it does not retract until a G11 command is sent.

    Why?

    I wrote a script to purge the nozzle, where I extrude some filament. Than I want to retract before I clean the nozzle on a little brush.

    But slicers often sent a final retract, using G10. In this case, my cleanup script misses a G10… But it works when executed just after switch on.

    I can use a relative move of the extruder, but I don't like this solution; G10/G11 is better.

    Is there a way to reset the G10/G11 sequence?

    Thanks,

    It's intentional that G10/G11 pairs cannot be nested. G11 will be ignored unless the filament is already retracted.



  • Ok, so what about a reset G10/G11? Or maybe a param to force them to occur, whatever the current sequence is?


  • administrators

    Sending G11 will reset, because it will un-retract if there is an outstanding G10 retraction, and be ignored otherwise.

    Edit: it will also undo any outstanding Z hop.



  • Ok, thanks!


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.