浏览代码

[2.0.x] Tool change bad behaviour fix

Previous fix did not work as expected when axeis not homed. It raise Z but never return to original position
GMagician 7 年前
父节点
当前提交
118ac61e59
共有 1 个文件被更改,包括 6 次插入10 次删除
  1. 6
    10
      Marlin/src/module/tool_change.cpp

+ 6
- 10
Marlin/src/module/tool_change.cpp 查看文件

@@ -493,11 +493,10 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
493 493
         SYNC_PLAN_POSITION_KINEMATIC();
494 494
 
495 495
         // Move to the "old position" (move the extruder into place)
496
+        #if ENABLED(SWITCHING_NOZZLE)
497
+          destination[Z_AXIS] += z_diff;  // Include the Z restore with the "move back"
498
+        #endif
496 499
         if (!no_move && IsRunning()) {
497
-          #if ENABLED(SWITCHING_NOZZLE)
498
-            if (z_raise != z_diff)
499
-              destination[Z_AXIS] += z_diff;  // Include the Z restore with the "move back"
500
-          #endif
501 500
           #if ENABLED(DEBUG_LEVELING_FEATURE)
502 501
             if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination);
503 502
           #endif
@@ -505,12 +504,9 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
505 504
           do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]);
506 505
         }
507 506
         #if ENABLED(SWITCHING_NOZZLE)
508
-          // Move back down, if needed. (Including when the new tool is higher.)
509
-          else if (z_raise != z_diff) {
510
-            set_destination_from_current(); // Prevent any XY move
511
-            destination[Z_AXIS] += z_diff;
512
-            feedrate_mm_s = planner.max_feedrate_mm_s[Z_AXIS];
513
-            prepare_move_to_destination();
507
+          else {
508
+            // Move back down. (Including when the new tool is higher.)
509
+            do_blocking_move_to_z(destination[Z_AXIS], planner.max_feedrate_mm_s[Z_AXIS]);
514 510
           }
515 511
         #endif
516 512
       } // (tmp_extruder != active_extruder)

正在加载...
取消
保存