Open rondlh opened 4 days ago
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
@classicrocker883 Thanks for your response.
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 haveif (!can_babystep(axis)) return;
andcan_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:
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