I have an Ender 3 Pro, and, like others, apparently, getting it to pause at height is a bit of a challenge.
When I would use the “Pause at height” plugin in Cura, I choose ‘M0 - Marlin’, so that an M0 is used for the pause.
Here’s what it generates:
;added code by post processing
;script: PauseAtHeight.py
;current layer: 29
M83 ; switch to relative E values for any needed retraction
G1 F300 Z7 ; move up a millimeter to get out of the way
G1 F9000 X190 Y190
G1 F300 Z15 ; too close to bed--move to at least 15mm
M104 S100 ; standby temperature
M117 Insert Hex Nut
M0 ; Do the actual pause
M109 S210 ; resume temperature
G1 F300 Z6
G1 F9000 X110.29 Y112.18
G1 F300 Z6 ; move back down to resume height
G1 F1500 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E382.32025
;LAYER:29
The problem is, it hits the pause, moves to the park position, waits maybe 30-40 seconds, and comes roaring back over to where you’re frantically trying to get a hex nut to sit down in the pocket you created
I couldn’t find much, but M25 was suggested, but it worked the same.
I decided to try a pause time parameter on the M0 command. You can use p(msec) or s(seconds), so I tried M0 S120 and ran it again.
It paused, moved to the park position, and started cooling down to the hold temperature. At exactly two minutes, I heard the steppers engage, and the temperature started coming back up. Once up to temperature, it resumed the print. Total time - about 4 minutes.
Does anyone know what the limit is on the S parameter? Two minutes isn’t enough to do a filament change. Or is there a way to have it stay on “Press to continue…” on the display, until you’re ready to resume? While the 120 seconds was counting, I could press to resume, but once the timer ran out and it was heating up again, I couldn’t.
Any ideas would be welcome.