Pause Issue With Ender 3 S1 - MainSail

Basic Information:

Printer Model: Ender 3 S1
klippy.log
Mainsail
klippy (2).log (5.5 MB)

Describe your issue:

I am having difficulty getting a Pause to work correctly using Layer pause GCode with Super Slicer. I have included “Pause” at a certain layer in Super Slicer and my printer just stops above the part. If it cools down before I resume it tries to force me to home the device. Any suggestions of what should be include in the “Pause” macro?

Hello @IndianaTechGuy !

What pause are you talking about?

[gcode_macro PAUSE_LAYER]
gcode = 
	M0

or

[gcode_macro PAUSE]
description = Pause the actual running print
rename_existing = PAUSE_BASE
gcode = 
	G28 X0

The first one makes no sense because Klipper does not know M0 and the is no M0 macro in your config.

For the second: I would recommend to use G1 X0 instead of G28 X.

I do not see a command that shuts off the heaters. The only reason I can imagine is timeout.

Thank you for your quick reply!! I finally got around to testing more. I did a couple things to test. I used the “PAUSE_LAYER” macro in the “Pause Print G-code” section of Super Slicer. I added “G28 X0” under the “PAUSE_LAYER” section of the printer.cfg as seen in the attached Klippy.log. I see the printer move to the X0 location during the pause, then move back, and continue printing. Is there something else that pauses the Gcode until the resume button is pressed?

klippy (3).log (760.5 KB)

How does the “Mainsail.cfg” relate to the “printer.cfg”? I noticed the following “PAUSE” section in the mainsail.cfg.

[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:

get user parameters or use default

{% set client = printer[‘gcode_macro _CLIENT_VARIABLE’]|default({}) %}
{% set idle_timeout = client.idle_timeout|default(0) %}
{% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != ‘’ else 0 %}
{% set restore = False if printer.toolhead.extruder == ‘’
else True if params.RESTORE|default(1)|int == 1 else False %}

end of definitions

SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE=“{{‘restore’: restore, ‘temp’: temp}}”

set a new idle_timeout value

{% if idle_timeout > 0 %}
SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout}
SET_IDLE_TIMEOUT TIMEOUT={idle_timeout}
{% endif %}
PAUSE_BASE
{client.user_pause_macro|default(“”)}
_TOOLHEAD_PARK_PAUSE_CANCEL {rawparams}

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.