diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index bed8837353e1..7f56d1f7aa2f 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -749,7 +749,7 @@ //#define ENDSTOPPULLUP_XMIN //#define ENDSTOPPULLUP_YMIN //#define ENDSTOPPULLUP_ZMIN - //#define ENDSTOPPULLUP_ZMIN_PROBE + #define ENDSTOPPULLUP_ZMIN_PROBE #endif // Enable pulldown for all endstops to prevent a floating state @@ -823,7 +823,7 @@ * * :[2,3,4,5,6,7] */ -//#define ENDSTOP_NOISE_THRESHOLD 2 +#define ENDSTOP_NOISE_THRESHOLD 2 //============================================================================= //============================== Movement Settings ============================ @@ -1376,8 +1376,8 @@ #define AUTO_BED_LEVELING_3POINT #else //#define AUTO_BED_LEVELING_LINEAR -#define AUTO_BED_LEVELING_BILINEAR -//#define AUTO_BED_LEVELING_UBL +//#define AUTO_BED_LEVELING_BILINEAR +#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING #endif @@ -1392,7 +1392,7 @@ * Turn on with the command 'M111 S32'. * NOTE: Requires a lot of PROGMEM! */ -//#define DEBUG_LEVELING_FEATURE +#define DEBUG_LEVELING_FEATURE #if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL) // Gradually reduce leveling correction until a set height is reached, diff --git a/Marlin/src/module/delta.cpp b/Marlin/src/module/delta.cpp index 8821236fd113..8a81cc565033 100644 --- a/Marlin/src/module/delta.cpp +++ b/Marlin/src/module/delta.cpp @@ -235,7 +235,13 @@ void forward_kinematics_DELTA(const float &z1, const float &z2, const float &z3) void home_delta() { if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta", current_position); // Init the current position of all carriages to 0,0,0 - current_position.reset(); + // if we know where we are, do not throw away our current_position + if (!all_axes_known()) { + current_position.reset(); + } else { + if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta.no_dumb.reset()", current_position); + //current_position.reset(); + } destination.reset(); sync_plan_position(); @@ -254,6 +260,7 @@ void home_delta() { - probe.offset.z #endif ); + if (DEBUGGING(LEVELING)) DEBUG_POS(">>> home_delta.line_to_current_position()", current_position); line_to_current_position(homing_feedrate(Z_AXIS)); planner.synchronize();