diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp old mode 100644 new mode 100755 index a9f8aaa581..add6cb0292 --- a/Marlin/ultralcd.cpp +++ b/Marlin/ultralcd.cpp @@ -575,18 +575,21 @@ static void lcd_status_screen() { #if ENABLED(BABYSTEPPING) - int babysteps_done = 0; + long babysteps_done = 0; static void _lcd_babystep(const AxisEnum axis, const char* msg) { ENCODER_DIRECTION_NORMAL(); if (encoderPosition) { - int distance = (int32_t)encoderPosition * BABYSTEP_MULTIPLICATOR; + int babystep_increment = (int32_t)encoderPosition * BABYSTEP_MULTIPLICATOR; encoderPosition = 0; lcdDrawUpdate = LCDVIEW_REDRAW_NOW; - thermalManager.babystep_axis(axis, distance); - babysteps_done += distance; + thermalManager.babystep_axis(axis, babystep_increment); + babysteps_done += babystep_increment; } - if (lcdDrawUpdate) lcd_implementation_drawedit(msg, itostr3sign(babysteps_done)); + if (lcdDrawUpdate) + lcd_implementation_drawedit(msg, ftostr43sign( + ((1000 * babysteps_done) / planner.axis_steps_per_mm[axis]) * 0.001f + )); if (LCD_CLICKED) lcd_goto_previous_menu(true); }