|
@@ -796,7 +796,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
796
|
796
|
*
|
797
|
797
|
* Return true if current_position[] was set to destination[]
|
798
|
798
|
*/
|
799
|
|
- inline bool prepare_move_to_destination_dualx() {
|
|
799
|
+ inline bool dual_x_carriage_unpark() {
|
800
|
800
|
if (active_extruder_parked) {
|
801
|
801
|
switch (dual_x_carriage_mode) {
|
802
|
802
|
case DXC_FULL_CONTROL_MODE:
|
|
@@ -865,7 +865,7 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
|
865
|
865
|
break;
|
866
|
866
|
}
|
867
|
867
|
}
|
868
|
|
- return prepare_move_to_destination_cartesian();
|
|
868
|
+ return false;
|
869
|
869
|
}
|
870
|
870
|
|
871
|
871
|
#endif // DUAL_X_CARRIAGE
|
|
@@ -906,13 +906,15 @@ void prepare_move_to_destination() {
|
906
|
906
|
|
907
|
907
|
#endif // PREVENT_COLD_EXTRUSION || PREVENT_LENGTHY_EXTRUDE
|
908
|
908
|
|
|
909
|
+ #if ENABLED(DUAL_X_CARRIAGE)
|
|
910
|
+ if (dual_x_carriage_unpark()) return;
|
|
911
|
+ #endif
|
|
912
|
+
|
909
|
913
|
if (
|
910
|
914
|
#if UBL_SEGMENTED
|
911
|
915
|
ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s))
|
912
|
916
|
#elif IS_KINEMATIC
|
913
|
917
|
prepare_kinematic_move_to(destination)
|
914
|
|
- #elif ENABLED(DUAL_X_CARRIAGE)
|
915
|
|
- prepare_move_to_destination_dualx()
|
916
|
918
|
#else
|
917
|
919
|
prepare_move_to_destination_cartesian()
|
918
|
920
|
#endif
|