diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index 4205d0822..c4ac86a93 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -366,7 +366,7 @@ extern bool printer_active(); bool check_fsensor(); //! Condition where Babystepping is allowed: -//! 1) Axis are trusted: Z-axis position must be known +//! 1) Z-axis position is less than 2.0mm (only allowed during the first couple of layers) //! 2) Not allowed during Homing (printer busy) //! 3) Not allowed during Mesh Bed Leveling (printer busy) //! 4) Allowed if there are queued blocks OR there is a print job running diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 67917a396..12268663c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -546,7 +546,7 @@ bool check_fsensor() { } bool __attribute__((noinline)) babystep_allowed() { - return (axis_known_position[Z_AXIS] + return ( (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) && !homing_flag && !mesh_bed_leveling_flag && ( blocks_queued() || lcd_commands_type == LcdCommands::Layer1Cal || ( !isPrintPaused && (IS_SD_PRINTING || usb_timer.running()) )) );