|
@@ -377,8 +377,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
377
|
377
|
#endif
|
378
|
378
|
}
|
379
|
379
|
|
380
|
|
- // Save current position to destination, for use later
|
381
|
|
- set_destination_from_current();
|
|
380
|
+
|
382
|
381
|
|
383
|
382
|
#if HAS_LEVELING
|
384
|
383
|
// Set current position to the physical position
|
|
@@ -387,11 +386,15 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
387
|
386
|
#endif
|
388
|
387
|
|
389
|
388
|
#if ENABLED(DUAL_X_CARRIAGE)
|
390
|
|
-
|
|
389
|
+ if(current_position[X_AXIS] != x_home_pos(active_extruder))
|
|
390
|
+ set_destination_from_current();
|
|
391
|
+ else
|
|
392
|
+ no_move = true;
|
391
|
393
|
dualx_tool_change(tmp_extruder, no_move); // Can modify no_move
|
392
|
394
|
|
393
|
395
|
#else // !DUAL_X_CARRIAGE
|
394
|
|
-
|
|
396
|
+ // Save current position to destination, for use later
|
|
397
|
+ set_destination_from_current();
|
395
|
398
|
#if ENABLED(PARKING_EXTRUDER) // Dual Parking extruder
|
396
|
399
|
parking_extruder_tool_change(tmp_extruder, no_move);
|
397
|
400
|
#endif
|