Skip to main content
/

Site Navigation

Your Account

Choose Language

Help

Revision to M25

Steve Miller

+[title|M25]
+
+
+==== M25: Pause SD print ====
+
+***Example***
+
+* M25
+
+The machine pauses printing at the current position within the file. To resume printing, use [[Gcode#Section_M24_Start_resume_SD_print|M24]]. Do not use this code to pause the print in the currently printing G-code file, use [[Gcode#Section_M226_Synchronous_Pause|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 than the current print from SD card (like the web interface console, PanelDue or Macro).
+
+M25 attempts to execute as quickly as possible and follows the following logic:
+
+* When RRF receives M25 it will look for a move in the current queue after which it can stop without violating the configured jerk limits.
+* If it finds one it stops after that move without decelerating (because the jerk limits allow that)
+* If it can't find one it will plan and execute a deceleration. in this case the pause will occur 1 move+2 seconds after M25 is sent.
+
+That means the longest it will take to pause is 1 move+2 seconds. In most situations pause occurs much quicker than that.
+
+After movement is halted as described above but prior to the pause operation completing, the macro file ***pause.g*** is run. This allows the head to be moved away from the print, filament to be retracted, etc.