-
-
Notifications
You must be signed in to change notification settings - Fork 19.7k
Description
Did you test the latest bugfix-2.1.x code?
Yes, and the problem still exists.
Bug Description
I don't have power recovery enabled for another problem. So when the power fails and I try to recover the print using G92 Zx.xx to set the Z position (without homing Z), but homming X and Y
If after a while if I need to pause the print or change filament, the PARK_HEAD_ON_PAUSE / ADVANCED_PAUSE_FEATURE fails to move the nozzle to the park position.
Bug Timeline
No response
Expected behavior
As PARK_HEAD_ON_PAUSE / ADVANCED_PAUSE_FEATURE. When you click PAUSE/Change Filament or the filament sensor triggers, it should move the printhead UP and PARK the nozzle at the intended location, and move back to the print on Resume
Actual behavior
When you press Pause or Change filament, the printhead just STOPS in place. The LCD and Extruder work as intended. It loads and unloads filament and do purge when prompt on the screen. When you click continue, the printer just continues printing but without ever deviating from the before/after pausing, leaving a big blob of plastic over the print.
(I mitigate this by pressing the extruder lever so it cannot push filament) and loading the filament by hand until I feel resistance (reached the nozzle)
Steps to Reproduce
Restart the printer (power cutoff) mid-print
Cut the gcode file to match the already printed state and recover the print
Home X and Y axis
Use G92 Zx.xx command to tell the printer the current Z position (Example G92 Z143.82)
The printer just continues printing normally. The not intended behaviour appears when you Pause or Change filament
Version of Marlin Firmware
bugfix-2.1.x Feb21/2026
Printer model
CoreXY
Electronics
BIGTREETECH SKR MINI E3V3
LCD/Controller
TFT35 E3 V3.0
Other add-ons
No response
Bed Leveling
None
Your Slicer
Prusa Slicer
Host Software
SD Card (headless)
Don't forget to include
- A ZIP file containing your
Configuration.handConfiguration_adv.h.
Additional information & file uploads
I reviewed the code and I think I found the problem (vibe coder here).
On pause.cpp this code checks if all axis where hommed before doing Park
// Will the nozzle be parking?
const bool do_park = !motion.axes_should_home();
I changed it to
const bool do_park = !motion.axes_should_home(_BV(X_AXIS) | _BV(Y_AXIS));
So now ignores the Z axis. Tested it and it works fine, at least for me.
I don't really know if this affects other functions. But it could be implemented differently
Like with another G-code command that tells the printer all axis where hommed
or "G92 Zx.xx S1"