Basic Information:
Printer Model: FLSUN QQ
MCU / Printerboard: MKS
klippy.zip (550.0 KB)
Describe your issue:
I want to do “pause at layer”. I have added a postprocessing script in Cura to pause at a specific layer. This is what the script inserts into the gcode:
;added code by post processing
;script: PauseAtHeight.py
;current layer: 230
M83 ; switch to relative E values for any needed retraction
M104 S0 ; standby temperature
M84 S3600 ; Keep steppers engaged for 1h
M0 ; Do the actual pause
M104 S205 ; resume temperature
G1 F5400 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E1692.45565
Because I read that M0 does not mean pause in Klipper, I have added this to my printer.cfg:
[gcode_macro M0]
gcode:
PAUSE
This is supposed to trigger the PAUSE
macro from fluidd.cfg (or mainsail.cfg, but I believe they are identical).
When I ran the job, it did indeed stop at the requested layer, but there was an error message:
echo: Printer not homed
When I tried to resume (using the RESUME
macro) it said:
!! Must home first: 0.121 -14.453 46.200 [22485.305]
So I clicked the Home button and the printer homed. Then I tried to resume again and it said:
echo: Extruder not hot enough // Print is not paused, resume aborted
So it seems like the print was never actually paused, maybe because the RESPOND
aborted macro execution? And why was that RESPOND
even executed, it seems to depend on printer.toolhead.homed_axes
not being "xyz"
. I don’t quite understand what the issue is.
I read somewhere that this can happen if the print was paused for a long time and ran into the idle timeout but in my case everything happened within a couple of minutes.
I think as a workaround I will try to call PAUSE_BASE
instead of PAUSE
but that can hardly be the recommended solution.