parent
4a4c1db606
commit
425af4240b
|
@ -1028,7 +1028,7 @@ void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_axis, 0.
|
||||||
if (!too_cold(active_extruder)) {
|
if (!too_cold(active_extruder)) {
|
||||||
destination = current_position; // Remember the old position
|
destination = current_position; // Remember the old position
|
||||||
|
|
||||||
const bool ok = TERN1(TOOLCHANGE_PARK, all_axes_homed() && toolchange_settings.enable_park);
|
const bool ok = TERN0(TOOLCHANGE_PARK, all_axes_homed() && toolchange_settings.enable_park);
|
||||||
|
|
||||||
#if HAS_FAN && TOOLCHANGE_FS_FAN >= 0
|
#if HAS_FAN && TOOLCHANGE_FS_FAN >= 0
|
||||||
// Store and stop fan. Restored on any exit.
|
// Store and stop fan. Restored on any exit.
|
||||||
|
@ -1080,7 +1080,20 @@ void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_axis, 0.
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Clone previous position
|
||||||
extruder_cutting_recover(destination.e); // Cutting recover
|
extruder_cutting_recover(destination.e); // Cutting recover
|
||||||
|
|
||||||
|
// Retract if previously retracted
|
||||||
|
#if ENABLED(FWRETRACT)
|
||||||
|
if (fwretract.retracted[active_extruder])
|
||||||
|
unscaled_e_move(-fwretract.settings.retract_length, fwretract.settings.retract_feedrate_mm_s);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// If resume_position is negative
|
||||||
|
if (current_position.e < 0) unscaled_e_move(current_position.e, MMM_TO_MMS(toolchange_settings.retract_speed));
|
||||||
|
|
||||||
|
planner.synchronize();
|
||||||
|
planner.set_e_position_mm(current_position.e); // Extruder primed and ready
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1597,6 +1610,9 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
|
||||||
unscaled_e_move(-fwretract.settings.retract_length, fwretract.settings.retract_feedrate_mm_s);
|
unscaled_e_move(-fwretract.settings.retract_length, fwretract.settings.retract_feedrate_mm_s);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// If resume_position is negative
|
||||||
|
if (resume_current_e < 0) unscaled_e_move(resume_current_e, MMM_TO_MMS(toolchange_settings.retract_speed));
|
||||||
|
|
||||||
// If no available extruder
|
// If no available extruder
|
||||||
if (EXTRUDERS < 2 || active_extruder >= EXTRUDERS - 2 || active_extruder == migration.last)
|
if (EXTRUDERS < 2 || active_extruder >= EXTRUDERS - 2 || active_extruder == migration.last)
|
||||||
migration.automode = false;
|
migration.automode = false;
|
||||||
|
|
Loading…
Reference in a new issue