M226 Pause Gcode ignored



  • I have a corexy printer running a duet wifi. When I run directly via the duet controller, this part of my gcode will pause the printer after auto levelling.

    G28 ; home all axes
    G29; Auto Level
    M226 ; pause
    G1 X40 Y10 F6000; move to prime position

    Now, as I also run a Mosaic Pallet, in order to get digital pinging working, I stream gcode to the duet via octprint. The issue i'm facing is that the M226 pause is completely ignore. Any idea why that would be?

    OctoPrint 1.3.9 running on OctoPi 0.15.1 / Duet 2.02RC3(RTOS) (2018-10-17b2)



  • https://duet3d.dozuki.com/Wiki/GCode#Section_M226_Gcode_Initiated_Pause

    M226: Gcode Initiated Pause
    Example
    M226
    Initiates a pause in the same way as if the pause button is pressed. That is, program execution is stopped and the printer waits for user interaction. M226 is intended for use in the GCode file being printed, for example to pause after a particular layer has completed. So it waits until all the moves in the queue have been completed. M25 is intended for use from a different source of GCodes (Like the web interface console, PanelDue or a Macro) so if you need to pause from those use M25 instead.

    I think the issue is that the M226 is being sent over USB rather than being run from an onboard gcode file on the SD card. Try M25 instead?

    https://duet3d.dozuki.com/Wiki/GCode#Section_M25_Pause_SD_print

    M25: Pause SD print ¶
    Example
    M25
    The machine pauses printing at the current position within the file. To resume printing, use M24. Do not use this code to pause the print in the currently printing G-code file, use M226 instead. M226 is intended for use in the GCode file being printed, for example to pause after a particular layer has completed. So it waits until all the moves in the queue have been completed. M25 is intended for use from a different source of GCodes (like the web interface console, PanelDue or Macro)

    Prior to pausing, the macro file pause.g is run. This allows the head to be moved away from the print, filament to be retracted, etc.



  • I think you are right. It worries me it says not to use M25 code to pause the print in the currently printing G-code file though



  • Yeah I'm not sure what the real intention is there.

    You might be able to find some more context by searching the forum for M226 and M25. I know it's been discussed a few times. @dc42 would have to answer on the best way to implement a pause for the Mosaic Palette. Perhaps better support could be implemented if what's available doesn't already fit the need.


  • administrators

    @totalitarian said in M226 Pause Gcode ignored:

    I think you are right. It worries me it says not to use M25 code to pause the print in the currently printing G-code file though

    M25 is an asynchronous pause (i.e. pause as soon as possible). It used not to work inside the GCode file being printed, but I fixed that about 2 years ago. So it should be OK now.

    Whereas M226 is a synchronous pause (i.e. wait until all preceding moves have been completed, then pause), and only works when used within the GCode file being printed.



  • Thanks, M25 indeed pauses. How to resume the print from DWC though?


  • administrators

    @totalitarian said in M226 Pause Gcode ignored:

    Thanks, M25 indeed pauses. How to resume the print from DWC though?

    Pressing the Resume button should work, just as for any other type of pause. Doesn't it?


 

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