|
@ -9324,6 +9324,12 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n |
|
|
current_position[X_AXIS] = destination[X_AXIS] + duplicate_extruder_x_offset; |
|
|
current_position[X_AXIS] = destination[X_AXIS] + duplicate_extruder_x_offset; |
|
|
inactive_extruder_x_pos = RAW_X_POSITION(destination[X_AXIS]); |
|
|
inactive_extruder_x_pos = RAW_X_POSITION(destination[X_AXIS]); |
|
|
extruder_duplication_enabled = false; |
|
|
extruder_duplication_enabled = false; |
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
|
|
if (DEBUGGING(LEVELING)) { |
|
|
|
|
|
SERIAL_ECHOLNPAIR("Set inactive_extruder_x_pos=", inactive_extruder_x_pos); |
|
|
|
|
|
SERIAL_ECHOLNPGM("Clear extruder_duplication_enabled"); |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -11047,9 +11053,18 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { |
|
|
); |
|
|
); |
|
|
delayed_move_time = 0; |
|
|
delayed_move_time = 0; |
|
|
active_extruder_parked = false; |
|
|
active_extruder_parked = false; |
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Clear active_extruder_parked"); |
|
|
|
|
|
#endif |
|
|
break; |
|
|
break; |
|
|
case DXC_DUPLICATION_MODE: |
|
|
case DXC_DUPLICATION_MODE: |
|
|
if (active_extruder == 0) { |
|
|
if (active_extruder == 0) { |
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
|
|
if (DEBUGGING(LEVELING)) { |
|
|
|
|
|
SERIAL_ECHOPAIR("Set planner X", LOGICAL_X_POSITION(inactive_extruder_x_pos)); |
|
|
|
|
|
SERIAL_ECHOLNPAIR(" ... Line to X", current_position[X_AXIS] + duplicate_extruder_x_offset); |
|
|
|
|
|
} |
|
|
|
|
|
#endif |
|
|
// move duplicate extruder into correct duplication position.
|
|
|
// move duplicate extruder into correct duplication position.
|
|
|
planner.set_position_mm( |
|
|
planner.set_position_mm( |
|
|
LOGICAL_X_POSITION(inactive_extruder_x_pos), |
|
|
LOGICAL_X_POSITION(inactive_extruder_x_pos), |
|
@ -11066,6 +11081,14 @@ void set_current_from_steppers_for_axis(const AxisEnum axis) { |
|
|
stepper.synchronize(); |
|
|
stepper.synchronize(); |
|
|
extruder_duplication_enabled = true; |
|
|
extruder_duplication_enabled = true; |
|
|
active_extruder_parked = false; |
|
|
active_extruder_parked = false; |
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Set extruder_duplication_enabled\nClear active_extruder_parked"); |
|
|
|
|
|
#endif |
|
|
|
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
#if ENABLED(DEBUG_LEVELING_FEATURE) |
|
|
|
|
|
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("Active extruder not 0"); |
|
|
|
|
|
#endif |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
} |
|
|
} |
|
|