[1.1.x] Tool change bad behaviour fix

Just aligned with version 2.0. Here bug was not present
This commit is contained in:
GMagician 2017-11-22 23:51:07 +01:00
parent e2568d7589
commit 7a5b3a1e6a

View File

@ -11121,11 +11121,10 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
SYNC_PLAN_POSITION_KINEMATIC(); SYNC_PLAN_POSITION_KINEMATIC();
// Move to the "old position" (move the extruder into place) // Move to the "old position" (move the extruder into place)
if (!no_move && IsRunning()) {
#if ENABLED(SWITCHING_NOZZLE) #if ENABLED(SWITCHING_NOZZLE)
if (z_raise != z_diff)
destination[Z_AXIS] += z_diff; // Include the Z restore with the "move back" destination[Z_AXIS] += z_diff; // Include the Z restore with the "move back"
#endif #endif
if (!no_move && IsRunning()) {
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination); if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination);
#endif #endif
@ -11133,9 +11132,10 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]); do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]);
} }
#if ENABLED(SWITCHING_NOZZLE) #if ENABLED(SWITCHING_NOZZLE)
// Move back down, if needed. (Including when the new tool is higher.) else {
else if (z_raise != z_diff) // Move back down. (Including when the new tool is higher.)
do_blocking_move_to_z(destination[Z_AXIS] + z_diff, planner.max_feedrate_mm_s[Z_AXIS]); do_blocking_move_to_z(destination[Z_AXIS], planner.max_feedrate_mm_s[Z_AXIS]);
}
#endif #endif
} // (tmp_extruder != active_extruder) } // (tmp_extruder != active_extruder)