Skip to content

Commit

Permalink
Use "Tn S1" to change tools without moving
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Jun 11, 2016
1 parent 2f1bf83 commit 7fb69e2
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions Marlin/Marlin_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6587,6 +6587,7 @@ inline void gcode_M999() {
* T0-T3: Switch tool, usually switching extruders
*
* F[mm/min] Set the movement feedrate
* S1 Don't move the tool in XY after change
*/
inline void gcode_T(uint8_t tmp_extruder) {
if (tmp_extruder >= EXTRUDERS) {
Expand All @@ -6613,8 +6614,9 @@ inline void gcode_T(uint8_t tmp_extruder) {

#if HOTENDS > 1
if (tmp_extruder != active_extruder) {
bool no_move = code_seen('S') && code_value_bool();
// Save current position to return to after applying extruder offset
set_destination_to_current();
if (!no_move) set_destination_to_current();
#if ENABLED(DUAL_X_CARRIAGE)
if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && IsRunning() &&
(delayed_move_time || current_position[X_AXIS] != x_home_pos(active_extruder))) {
Expand Down Expand Up @@ -6717,7 +6719,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
#endif

// Move to the "old position" (move the extruder into place)
if (IsRunning()) prepare_move_to_destination();
if (!no_move && IsRunning()) prepare_move_to_destination();

} // (tmp_extruder != active_extruder)

Expand Down

0 comments on commit 7fb69e2

Please sign in to comment.