From 2ef0669b19e3afa1510771895b481f07ebc2eae9 Mon Sep 17 00:00:00 2001 From: Martin Prazak Date: Sun, 7 Dec 2014 15:31:46 +0000 Subject: [PATCH] Split do_blocking_move() to XY and Z sections to make sure that the Z homing feedrate is not exceeded --- Marlin/Marlin_main.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 616b7a1906..4517a09cd4 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1057,11 +1057,16 @@ static void run_z_probe() { static void do_blocking_move_to(float x, float y, float z) { float oldFeedRate = feedrate; + feedrate = homing_feedrate[Z_AXIS]; + + current_position[Z_AXIS] = z; + plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder); + st_synchronize(); + feedrate = XY_TRAVEL_SPEED; current_position[X_AXIS] = x; current_position[Y_AXIS] = y; - current_position[Z_AXIS] = z; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate/60, active_extruder); st_synchronize();