From 8244fefcc25b24381868fef32c8f25cc254a39d2 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 13 Dec 2016 23:50:28 -0800 Subject: [PATCH] Tweak call to `reset_bed_level` in G29 --- Marlin/Marlin_main.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index e11ac072f7..525838638c 100755 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -4031,7 +4031,11 @@ inline void gcode_G28() { || left_probe_bed_position != bilinear_start[X_AXIS] || front_probe_bed_position != bilinear_start[Y_AXIS] ) { + // Before reset bed level, re-enable to correct the position + planner.abl_enabled = abl_should_enable; + // Reset grid to 0.0 or "not probed". (Also disables ABL) reset_bed_level(); + #if ENABLED(ABL_BILINEAR_SUBDIVISION) bilinear_grid_spacing_virt[X_AXIS] = xGridSpacing / (BILINEAR_SUBDIVISIONS); bilinear_grid_spacing_virt[Y_AXIS] = yGridSpacing / (BILINEAR_SUBDIVISIONS); @@ -4040,6 +4044,7 @@ inline void gcode_G28() { bilinear_grid_spacing[Y_AXIS] = yGridSpacing; bilinear_start[X_AXIS] = RAW_X_POSITION(left_probe_bed_position); bilinear_start[Y_AXIS] = RAW_Y_POSITION(front_probe_bed_position); + // Can't re-enable (on error) until the new grid is written abl_should_enable = false; }