Fix _manual_goto_xy on kinematic systems

This commit is contained in:
Scott Lahteine 2017-11-08 21:12:04 -06:00
parent ad879a1f90
commit 54963cc898

View File

@ -4263,27 +4263,20 @@ void home_all_axes() { gcode_G28(true); }
#endif #endif
inline void _manual_goto_xy(const float &rx, const float &ry) { inline void _manual_goto_xy(const float &rx, const float &ry) {
const float old_feedrate_mm_s = feedrate_mm_s;
#if MANUAL_PROBE_HEIGHT > 0 #if MANUAL_PROBE_HEIGHT > 0
const float prev_z = current_position[Z_AXIS]; const float prev_z = current_position[Z_AXIS];
feedrate_mm_s = homing_feedrate(Z_AXIS); do_blocking_move_to_z(MANUAL_PROBE_HEIGHT, homing_feedrate(Z_AXIS));
current_position[Z_AXIS] = MANUAL_PROBE_HEIGHT;
line_to_current_position();
#endif #endif
feedrate_mm_s = MMM_TO_MMS(XY_PROBE_SPEED); do_blocking_move_to_xy(rx, ry, MMM_TO_MMS(XY_PROBE_SPEED));
current_position[X_AXIS] = rx;
current_position[Y_AXIS] = ry;
line_to_current_position();
#if MANUAL_PROBE_HEIGHT > 0 #if MANUAL_PROBE_HEIGHT > 0
feedrate_mm_s = homing_feedrate(Z_AXIS); do_blocking_move_to_z(prev_z, homing_feedrate(Z_AXIS));
current_position[Z_AXIS] = prev_z; // move back to the previous Z.
line_to_current_position();
#endif #endif
feedrate_mm_s = old_feedrate_mm_s; current_position[X_AXIS] = rx;
stepper.synchronize(); current_position[Y_AXIS] = ry;
#if ENABLED(PROBE_MANUALLY) && ENABLED(LCD_BED_LEVELING) #if ENABLED(PROBE_MANUALLY) && ENABLED(LCD_BED_LEVELING)
lcd_wait_for_move = false; lcd_wait_for_move = false;