Marlin: [BUG] Babystepping does not work after "Clean up stepper and babystep"

Created on 17 Feb 2020  路  11Comments  路  Source: MarlinFirmware/Marlin

Bug Description

After a recent hotend rebuild on an Ender-3/SKR 1.3/LPC1768/TMC5160 build, I had to redo my BLTouch/probe offsets & I noticed that babystepping was no longer working with the latest bugfix-2.0.x. The values on the "Probe Z Offset" screen increase and decrease as they should using the encoder, but moving through -5 to 5, the hotend doesn't raise or lower.

I tried enabling various options like BABYSTEP_ALWAYS_AVAILABLE, INTEGRATED_BABYSTEPPING as well as disabling software endstops completely (already disabled on Z) with no success.

Reverting to https://github.com/MarlinFirmware/Marlin/commit/189c101793c72780fdff2b8cd693d4a53040a0e8 with the same config, restores babystepping capability.

My Configurations

broken-babystepping.zip

Steps to Reproduce

  1. Compile Marlin based on 75e3aa1 with the above config
  2. Observe that babystepping has no effect
  3. Use the same config on top of https://github.com/MarlinFirmware/Marlin/commit/189c101793c72780fdff2b8cd693d4a53040a0e8 & observe that babytepping works

Expected behavior: Babystepping to work

Actual behavior: Babystepping does not work

Most helpful comment

Since 2.0.4 was released today, I tried the latest bugfix-2.0.x (5d16497), but babystepping is still broken.

All 11 comments

I just rebased my MK3/BTT002 (STM32F407VET6)/TMC2209 config on https://github.com/MarlinFirmware/Marlin/commit/75e3aa12c5e963345c533d8f191aba207bb4d2c1 and babystepping does not work anymore, so this is likely not an SKR 1.3/LPC1768-specific bug.

Confirmed babystep not working with/without INTEGRATED_BABYSTEPPING. SKR1.3 TMC2208/9

Also confirmed babystep not working with/without INTEGRATED_BABYSTEPPING. SKR1.3 TMC2209

EDIT: Checked another machine, SKR 1.4 w/ 2209's, latest bugfix, also not working. (changing Z offset does nothing)

My Arduino Mega with Ramps setup is also affected. Z Babystepping is not possible, nothing happens. Enabling integrated baby stepping makes no difference.

Since 2.0.4 was released today, I tried the latest bugfix-2.0.x (5d16497), but babystepping is still broken.

Shouldn't 2.0.4 be held back until Live Z is fixed? That's kind of a big deal. Pretty much can't use a probe without live Z changes.

Shouldn't 2.0.4 be held back until Live Z is fixed? That's kind of a big deal. Pretty much can't use a probe without live Z changes.

It'll get fixed soon, I'm sure. Scott's been busy improving Auto Build Marlin this week.

Thanks for keeping on this. I have been otherwise engaged. The issue should be patched now. Please confirm that it also works for you. Note that there is a known issue with babystepping on SKR boards with 2209 steppers where the stepper drivers can turn off. We're still experimenting to find a decent solution to that problem.

Thanks for keeping on this. I have been otherwise engaged. The issue should be patched now. Please confirm that it also works for you. Note that there is a known issue with babystepping on SKR boards with 2209 steppers where the stepper drivers can turn off. We're still experimenting to find a decent solution to that problem.

@thinkyhead: I can't get it to compile:

Marlin/src/module/stepper.cpp:2590:73: error: macro "BABYSTEP_AXIS" passed 4 arguments, but takes just 3
 2590 |           BABYSTEP_AXIS(Z, BABYSTEP_INVERT_Z, direction, (CORESIGN(1)<0));
      |                                                                         ^
Marlin/src/module/stepper.cpp:2512: note: macro "BABYSTEP_AXIS" defined here
 2512 |     #define BABYSTEP_AXIS(AXIS, INV, DIR) do{           \
      | 
Compiling .pio/build/LPC1768/src/src/sd/SdFile.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/SdVolume.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/cardreader.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/Sd2Card_FlashDrive.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/lib-uhs2/Usb.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/lib-uhs2/masstorage.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/lib-uhs2/message.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/lib-uhs2/parsetools.cpp.o
Compiling .pio/build/LPC1768/src/src/sd/usb_flashdrive/lib-uhs2/usbhost.cpp.o
Compiling .pio/build/LPC1768/lib0d2/Servo/Servo.cpp.o
Compiling .pio/build/LPC1768/libaba/LiquidCrystal/LiquidCrystal.cpp.o
Compiling .pio/build/LPC1768/lib839/U8glib-HAL_ID1932/U8glib.cpp.o
Compiling .pio/build/LPC1768/lib839/U8glib-HAL_ID1932/U8glibPrint.cpp.o
Compiling .pio/build/LPC1768/lib839/U8glib-HAL_ID1932/clib/chessengine.c.o
Compiling .pio/build/LPC1768/lib839/U8glib-HAL_ID1932/clib/u8g_bitmap.c.o
Compiling .pio/build/LPC1768/lib839/U8glib-HAL_ID1932/clib/u8g_circle.c.o
Marlin/src/module/stepper.cpp: In static member function 'static void Stepper::do_babystep(AxisEnum, bool)':
Marlin/src/module/stepper.cpp:2590:11: error: 'BABYSTEP_AXIS' was not declared in this scope
 2590 |           BABYSTEP_AXIS(Z, BABYSTEP_INVERT_Z, direction, (CORESIGN(1)<0));
      |           ^~~~~~~~~~~~~

Link to full log output.

Edit: It was just reported in #16920 as well.

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Bobsta6 picture Bobsta6  路  3Comments

spanner888 picture spanner888  路  4Comments

StefanBruens picture StefanBruens  路  4Comments

Ciev picture Ciev  路  3Comments

ceturan picture ceturan  路  4Comments