You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This causes the steppers to stay enabled without timeout and the controller fan to run continuously after using baby stepping. So if you use baby stepping after a print to quickly adjust the Z-offset then there is a side effect.
Bug Timeline
Unknown
Expected behavior
Stepper timeout and controller fan timeout as defined, no unexpected side effects of apparently unrelated option (BABYSTEP_ALWAYS_AVAILABLE).
Actual behavior
Stepper stay activated, controller fan run continuously after using baby stepping.
The stepper timer will not be reset, which causes the steppers to stay enabled, and the controller fan to run continuously when BABYSTEP_ALWAYS_AVAILABLE is not defined.
Version of Marlin Firmware
Latest bugfix
Printer model
Custom
Electronics
MKS Monster8 V1.0
LCD/Controller
BTT TFT35 V3.0
Other add-ons
MKS EBB42 CAN Toolhead, BLTouch 3.1
Bed Leveling
None
Your Slicer
None
Host Software
None
Don't forget to include
A ZIP file containing your Configuration.h and Configuration_adv.h.
my guess is it cannot do babysteps after it has timed-out. that is why BABYSTEP_ALWAYS_AVAILABLE resets the stepper timeout.
because those functions have if (!can_babystep(axis)) return;
and can_babystep() returns (ENABLED(BABYSTEP_WITHOUT_HOMING) || !axis_should_home(axis));
so in your testing, try having BABYSTEP_WITHOUT_HOMING enabled
my guess is it cannot do babysteps after it has timed-out. that is why BABYSTEP_ALWAYS_AVAILABLE resets the stepper timeout. because those functions have if (!can_babystep(axis)) return; and can_babystep() returns (ENABLED(BABYSTEP_WITHOUT_HOMING) || !axis_should_home(axis));
so in your testing, try having BABYSTEP_WITHOUT_HOMING enabled
I just did a test with BABYSTEP_ALWAYS_AVAILABLE undefined:
After a reset baby stepping doesn't work (as expected, BABYSTEP_WITHOUT_HOMING is not defined)
G28(home) then wait for the controller fan to switch off (after stepper timeout).
Baby stepping works fine, the controller fan and steppers are activated, but... they never switch off afterwards.
So it seems baby stepping works fine even after the stepper/controller fan timeout.
If I force the reset line, then baby stepping still works, but afterwards the steppers/controller fan switch off.
BABYSTEP_WITHOUT_HOMING doesn't make much sense in my book, but I guess there are use cases.
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
If BABYSTEP_ALWAYS_AVAILABLE is not defined, then in babystep.cpp the stepper timeout is not reset:
TERN_(BABYSTEP_ALWAYS_AVAILABLE, gcode.reset_stepper_timeout());
This causes the steppers to stay enabled without timeout and the controller fan to run continuously after using baby stepping. So if you use baby stepping after a print to quickly adjust the Z-offset then there is a side effect.
Bug Timeline
Unknown
Expected behavior
Stepper timeout and controller fan timeout as defined, no unexpected side effects of apparently unrelated option (BABYSTEP_ALWAYS_AVAILABLE).
Actual behavior
Stepper stay activated, controller fan run continuously after using baby stepping.
Steps to Reproduce
The code shows what happens, babystep.cpp
TERN_(BABYSTEP_ALWAYS_AVAILABLE, gcode.reset_stepper_timeout());
The stepper timer will not be reset, which causes the steppers to stay enabled, and the controller fan to run continuously when BABYSTEP_ALWAYS_AVAILABLE is not defined.
Version of Marlin Firmware
Latest bugfix
Printer model
Custom
Electronics
MKS Monster8 V1.0
LCD/Controller
BTT TFT35 V3.0
Other add-ons
MKS EBB42 CAN Toolhead, BLTouch 3.1
Bed Leveling
None
Your Slicer
None
Host Software
None
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Simplified configuration for testing:
Configuration_adv.zip
The text was updated successfully, but these errors were encountered: