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 positionNow, 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.
-
@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?
-
@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?
-
@dc42 The resume button doesn't appear when the command is sent via usb
-
Like I said, M226 on!y works from within a file being printed from within the SD card.
-
You could create a macro to send M24 to resume.
https://duet3d.dozuki.com/Wiki/GCode#Section_M24_Start_resume_SD_print -
I've decided to allow M226 (and M600) even when no SD card print is in progress. This will allow it to be used in GCode files streamed over USB as well as within SD card print files. I'll implement this in 2.02RC6.
-
@dc42 Does that mean this will now work on a macro too? I found that M25 and M226 both get ignored in macros at least when run within DWC.
-
@dc42 You sir are a true gentleman. Thanks
-
@jrdm said in M226 Pause Gcode ignored:
@dc42 Does that mean this will now work on a macro too? I found that M25 and M226 both get ignored in macros at least when run within DWC.
M25 should already work from within a macro. Please try it again.
-
I've recently run into an intermittent problem, where hitting 'resume' from the DWC after an M226 (manually inserted in gcode file) will sometimes drop the Duet Ethernet (v1.03) from the network. This is similar to what others have described, other than it isn't guaranteed to fail. Unfortunately, when it does, the build is ruined. Yesterday, resume worked once and failed twice. I'm running 2.01.
My pause & resume macros are pretty much stock from the configuration tool.
Pause.g:
M83
G1 E-3 F3600
G91
G1 Z10 F5000
G90
G1 X0 Y130 F6000Resume.g:
G1 R1 Z5 F6000
G1 R1
M83
G1 E2.5 F3600Thanks for any suggestions!
-
@plasticmetal said in M226 Pause Gcode ignored:
I've recently run into an intermittent problem, where hitting 'resume' from the DWC after an M226 (manually inserted in gcode file) will sometimes drop the Duet Ethernet (v1.03) from the network. This is similar to what others have described, other than it isn't guaranteed to fail. Unfortunately, when it does, the build is ruined. Yesterday, resume worked once and failed twice. I'm running 2.01.
My pause & resume macros are pretty much stock from the configuration tool.
Pause.g:
M83
G1 E-3 F3600
G91
G1 Z10 F5000
G90
G1 X0 Y130 F6000Resume.g:
G1 R1 Z5 F6000
G1 R1
M83
G1 E2.5 F3600Thanks for any suggestions!
Please try the just-released 2.02RC6 release (carefully - and read the upgrade notes) because this may have been be fixed already.
-
Thanks, David. It worked three times yesterday with the new release, so hopefully it's good to go.
Now to just find a quality heater cartridge...
-
OK I tried again. I did the full update to RC6 yesterday and this still happens:
Error: M25: Cannot pause print, because no file is being printed!
I'm calling the macro by clicking the button in DWC
-
@jrdm said in M226 Pause Gcode ignored:
OK I tried again. I did the full update to RC6 yesterday and this still happens:
Error: M25: Cannot pause print, because no file is being printed!
I'm calling the macro by clicking the button in DWC
Calling which macro?
-
@dc42 it's in a macro I wrote that's in my DuetM's standard macro folder.