Printer Model: Creality 3 S1 Pro
MCU / Printerboard: STM32F401
Describe your issue:
Hi, I am a FAR from being expert so please bare with me if this is a no=brainer…
I do not currently have a Klipper Log (Not even exactly sure where to find it), but all it will say is exactly what I am about to explain. Should I need to provide this file, I can attached this much later.
When I am printing multiple items on the bed, but doing it one by one as to have best quality, I cannot pause if any issue arise. When pausing, the Extruder will remain at the Z level it stopped at and then moves away over the X & Y axis, bumping any item that were already printed.
Is this normal or should the printer perhaps pause, and then go higher on the Z-axis and only then move away?
Well, the macro looks quite OK although a SAVE_GCODE_STATE seems to be missing. In any case I did not try it.
The question kind of is:
You put this macro there
It does, what it does
If you need different behavior the macro probably needs to be modified
Try replacing the PAUSE and RESUME by:
[gcode_macro PAUSE]
rename_existing: BASE_PAUSE
# change this if you need more or less retraction
variable_retract: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].retract|float %}
##### set park position for x and y #####
# default is your max position from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
SAVE_GCODE_STATE NAME=PAUSE_state
BASE_PAUSE
G91
G1 E-{E} F2100
G1 Z{z_safe} F900
M400
G90
G1 X{x_park} Y{y_park} F6000
[gcode_macro RESUME]
rename_existing: BASE_RESUME
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### end of definitions #####
G91
G1 E{E} F2100
RESTORE_GCODE_STATE NAME=PAUSE_state
BASE_RESUME