From 177ec20bf0001ac8473b325f028877be5b0c13e5 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 7 Jul 2016 12:13:14 -0700 Subject: [PATCH 1/3] Revert quick-home changes --- Marlin/Marlin_main.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 836b543113..967f9b3f4c 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2936,19 +2936,14 @@ inline void gcode_G28() { #if ENABLED(QUICK_HOME) - bool quick_homed = home_all_axis || (homeX && homeY); - if (quick_homed) quick_home_xy(); - - #else - - const bool quick_homed = false; + if (home_all_axis || (homeX && homeY)) quick_home_xy(); #endif #if ENABLED(HOME_Y_BEFORE_X) // Home Y - if (!quick_homed && (home_all_axis || homeY)) { + if (home_all_axis || homeY) { HOMEAXIS(Y); #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position); @@ -2958,7 +2953,7 @@ inline void gcode_G28() { #endif // Home X - if (!quick_homed && (home_all_axis || homeX)) { + if (home_all_axis || homeX) { #if ENABLED(DUAL_X_CARRIAGE) int tmp_extruder = active_extruder; extruder_duplication_enabled = false; @@ -2981,7 +2976,7 @@ inline void gcode_G28() { #if DISABLED(HOME_Y_BEFORE_X) // Home Y - if (!quick_homed && (home_all_axis || homeY)) { + if (home_all_axis || homeY) { HOMEAXIS(Y); #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) DEBUG_POS("> homeY", current_position); From 0b6f8f82442a55b60fa1d62116be83a1169b0d8f Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 7 Jul 2016 12:14:54 -0700 Subject: [PATCH 2/3] Apply MIN_Z_HEIGHT_FOR_HOMING raise literally --- Marlin/Marlin_main.cpp | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 967f9b3f4c..dbac3f1112 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2915,22 +2915,27 @@ inline void gcode_G28() { #elif defined(MIN_Z_HEIGHT_FOR_HOMING) && MIN_Z_HEIGHT_FOR_HOMING > 0 // Raise Z before homing, if specified - destination[Z_AXIS] = (current_position[Z_AXIS] += MIN_Z_HEIGHT_FOR_HOMING); - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) { - SERIAL_ECHOPAIR("Raise Z (before homing) to ", destination[Z_AXIS]); - SERIAL_EOL; - } - #endif + float z_dest = home_offset[Z_AXIS] + MIN_Z_HEIGHT_FOR_HOMING; + if (z_dest > current_position[Z_AXIS]) { - feedrate = homing_feedrate[Z_AXIS]; + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOPAIR("Raise Z (before homing) to ", z_dest); + SERIAL_EOL; + } + #endif - #if HAS_BED_PROBE - do_blocking_move_to_z(destination[Z_AXIS]); - #else - line_to_z(destination[Z_AXIS]); - stepper.synchronize(); - #endif + feedrate = homing_feedrate[Z_AXIS]; + + #if HAS_BED_PROBE + do_blocking_move_to_z(z_dest); + #else + line_to_z(z_dest); + stepper.synchronize(); + #endif + + destination[Z_AXIS] = current_position[Z_AXIS] = z_dest; + } #endif // MIN_Z_HEIGHT_FOR_HOMING From 4036c73cdd93e90e80d23e80afc8192fb3fa24ec Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Thu, 7 Jul 2016 12:28:23 -0700 Subject: [PATCH 3/3] Don't raise Z if only homing Z --- Marlin/Marlin_main.cpp | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index dbac3f1112..1a8028bdaa 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2914,27 +2914,29 @@ inline void gcode_G28() { #elif defined(MIN_Z_HEIGHT_FOR_HOMING) && MIN_Z_HEIGHT_FOR_HOMING > 0 - // Raise Z before homing, if specified - float z_dest = home_offset[Z_AXIS] + MIN_Z_HEIGHT_FOR_HOMING; - if (z_dest > current_position[Z_AXIS]) { + // Raise Z before homing X or Y, if specified + if (home_all_axis || homeX || homeY) { + float z_dest = home_offset[Z_AXIS] + MIN_Z_HEIGHT_FOR_HOMING; + if (z_dest > current_position[Z_AXIS]) { - #if ENABLED(DEBUG_LEVELING_FEATURE) - if (DEBUGGING(LEVELING)) { - SERIAL_ECHOPAIR("Raise Z (before homing) to ", z_dest); - SERIAL_EOL; - } - #endif + #if ENABLED(DEBUG_LEVELING_FEATURE) + if (DEBUGGING(LEVELING)) { + SERIAL_ECHOPAIR("Raise Z (before homing) to ", z_dest); + SERIAL_EOL; + } + #endif - feedrate = homing_feedrate[Z_AXIS]; + feedrate = homing_feedrate[Z_AXIS]; - #if HAS_BED_PROBE - do_blocking_move_to_z(z_dest); - #else - line_to_z(z_dest); - stepper.synchronize(); - #endif + #if HAS_BED_PROBE + do_blocking_move_to_z(z_dest); + #else + line_to_z(z_dest); + stepper.synchronize(); + #endif - destination[Z_AXIS] = current_position[Z_AXIS] = z_dest; + destination[Z_AXIS] = current_position[Z_AXIS] = z_dest; + } } #endif // MIN_Z_HEIGHT_FOR_HOMING