Pause/Resume print
-
@fcwilt
yes -
Can you open the gcode file generated by the slicer and find the place where it issues the M226/M600?
I would like to see, say, 10 lines of the gcode before and after that place.
Frederick
-
@fcwilt
I copied the last requested modifications (M400/M25):G0 F7200 X119.901 Y137.202
G0 X123.484 Y131.281
G0 X124.451 Y129.87
G0 X125.512 Y128.529
G0 X126.639 Y127.282
G0 X127.866 Y126.092
G0 X129.172 Y124.987
G0 X130.548 Y123.972
G0 X131.989 Y123.051
G0 X133.489 Y122.23
G0 X138.746 Y120.054
G0 X139.123 Y119.677
G1 F1500 X139.672 Y119.552 E0.02789
G1 X142.19 Y119.156 E0.12626
G1 X144.892 Y118.999 E0.13406
G1 X146.137 Y119.026 E0.06168
G0 F7200 X145.873 Y119.084
G1 F1800 E-1
;MESH:NONMESH
;TYPE:CUSTOM
;added code by post processing
;script: ChangeAtHeight.py
;current z: 0.600000
M300 ;Beep
M400
M25;LAYER:2
;TYPE:WALL-OUTER
;MESH:imbuto.stl
G1 F1800 E1.08315
G1 F1500 X123.597 Y131.358 E0.08025
G1 X122.73 Y132.824 E0.07987
G1 X121.964 Y134.345 E0.07987
G1 X121.3 Y135.914 E0.0799
G1 X120.76 Y137.475 E0.07746
G1 X120.743 Y137.53 E0.0027
G1 X120.308 Y139.122 E0.0774
G1 X119.967 Y140.791 E0.07989
G1 X119.741 Y142.48 E0.07991
G1 X119.629 Y144.179 E0.07985
G1 X119.631 Y145.882 E0.07987 -
Thanks.
I don't see anything odd there - all looks fine.
Hmm... My slicer allows me to add my own gcode at different points in the printing
- the beginning
- the end
- layer change
- tool change
- filament retraction
Does yours have different places? If so is there anything in them?
Frederick
-
@fcwilt
it seems not
I can only edit the gcode on dwc -
@Touchthebitum said in Pause/Resume print:
@fcwilt
it seems not
I can only edit the gcode on dwcSo that code at the point of a layer change is being inserted by something the the DWC?
I didn't know that was possible.
Frederick
-
@fcwilt
no, I can do it manually on the DWC -
I did my testing with a Duet 3 Mini 5 - no SBC attached.
I created a ultra simple test print file - you could do it in notepad if that is all you have.
G91 G1 X100 G1 X-100 G1 X100 G1 X-100 M226 G1 X100 G1 X-100 G1 X100 G1 X-100
the pause file:
M291 P"PAUSE" R"PAUSE" T1
the resume file
M291 P"RESUME" R"RESUME" T1
It all worked fine.
I suggest you do the same and see if you have a different result
Frederick
-
@fcwilt
The solution was M226 instead of M600.
I had to edit and place M226 at the right layer.
I kepts my pause and resume files and it worked.
Thanks for your help -
@Touchthebitum said in Pause/Resume print:
@fcwilt
The solution was M226 instead of M600.
I had to edit and place M226 at the right layer.
I kepts my pause and resume files and it woked.
Thanks for your helpGlad to hear you got it working.
I will need to test M600 as it is documented as being the same as M226 with the exception that if a file filament_change.g is present that is run instead of instead of pause.g.
So in theory if filament_change.g is NOT present it should work just like M226.
Frederick
-
@fcwilt
ok -
https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M25_Pause_SD_print
M25 wasn't going to work.
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 than the current print from SD card (like the web interface console, PanelDue or Macro).
Did you have a filament_change.g present?
Can you post the results of M122?
-
@Phaedrux said in Pause/Resume print:
M25 wasn't going to work.
I did read the docs on that. I was trying to determine why a pause issued from DWC was working for the OP but not a pause from the slicer.
Based on what I read it seemed that M226 MIGHT be equivalent to M400 M25 - it was meant as a test only.
Now using the test files I posted for pause.g and resume.g I was able to use M226, M600 and M400 M25 in the dummy print file and the results were all the same for each - or at least appeared to be based on my interactions with the DWC.
When the M226 (or M600 or M400 M25) was executed the "printing" paused and the pause.g file was executed.
When I clicked the RESUME button in DWC the resume.g file was executed and the "print" completed.
I also verified that IF filament-change.g was present then M600 did invoke that.
I understand that the test files for pause.g and resume.g may somehow bypass important functions thus rending the tests invalid - only @dc42 could tell us that.
When I have more time I intend to code actual working pause.g, resume.g and filament-change.g files and test with a print file that actually prints something.
Thanks.
Frederick
-
I was able to print that piece with this code.
The purpose was to change filament 2 times and modify secondly filament printing settings since they are very different. (PLA and Filaflex). The only missing element is the wait for temperature.
When I press "resume", the carriage doesn't wait for the right temp and goes on printing....Used gcode :
G0 F7200 X139.597 Y135.325
G1 F1500 X139.423 Y135.499 E0.01154
G0 F7200 X139.552 Y134.522
G1 F1500 X138.306 Y135.768 E0.08264
G0 F7200 X137.99 Y135.235
G1 F1500 X138.858 Y134.367 E0.05757
G0 F7200 X138.208 Y134.168
G1 F1500 X138.018 Y134.358 E0.0126
G1 F1800 E-1
;MESH:NONMESH
G0 F600 X138.018 Y134.358 Z0.6
G0 F7200 X139.78 Y133.717
;TIME_ELAPSED:55.015859M400 ;Wait for buffer to clear
M300 ;Beep
M226 ; Filament Change;LAYER:2
;[CAZD:
M104 S200.0 T0
M220 S60
;PRINTSPEED 50
;RETRACTFEEDRATE 1800.0
;RETRACTLENGTH 0.1
;:CAZD]
M117 Extruder 1 Temp: 200.0, Print Speed: 60, Linear Print Speed: 60, Retract Feed Rate: 2.0, Retract Length: 0.1
;TYPE:WALL-INNER
;MESH:testbicomp.stl
G1 F900.0 E1.08315;[CAZO:G1 F1800 E1.08315:CAZO]
G1 F1500.0 X140.278 Y133.671 E0.02345;[CAZO:G1 F3000 X140.278 Y133.671 E0.02345:CAZO]
G1 X140.495 Y133.651 E0.01022
G1 X140.616 Y133.639 E0.0057
G1 X140.519 Y133.898 E0.0065
G1 X140.493 Y134.114 E0.00787
G1 X140.393 Y134.931 E0.0386
G1 X140.409 Y135.224 E0.01376
G1 X140.495 Y135.891 E0.03154 -
M104 (deprecated see G10 and M116) sets the temps and continues.
M109 (also deprecated see above) sets the temps and waits.
Frederick
-
@fcwilt
Thanks, I'll check that