Use "Tn S1" to change tools without moving
This commit is contained in:
		
							parent
							
								
									2f1bf8373b
								
							
						
					
					
						commit
						7fb69e24fb
					
				| @ -6587,6 +6587,7 @@ inline void gcode_M999() { | |||||||
|  * T0-T3: Switch tool, usually switching extruders |  * T0-T3: Switch tool, usually switching extruders | ||||||
|  * |  * | ||||||
|  *   F[mm/min] Set the movement feedrate |  *   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) { | inline void gcode_T(uint8_t tmp_extruder) { | ||||||
|   if (tmp_extruder >= EXTRUDERS) { |   if (tmp_extruder >= EXTRUDERS) { | ||||||
| @ -6613,8 +6614,9 @@ inline void gcode_T(uint8_t tmp_extruder) { | |||||||
| 
 | 
 | ||||||
|   #if HOTENDS > 1 |   #if HOTENDS > 1 | ||||||
|     if (tmp_extruder != active_extruder) { |     if (tmp_extruder != active_extruder) { | ||||||
|  |       bool no_move = code_seen('S') && code_value_bool(); | ||||||
|       // Save current position to return to after applying extruder offset
 |       // 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 ENABLED(DUAL_X_CARRIAGE) | ||||||
|         if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && IsRunning() && |         if (dual_x_carriage_mode == DXC_AUTO_PARK_MODE && IsRunning() && | ||||||
|             (delayed_move_time || current_position[X_AXIS] != x_home_pos(active_extruder))) { |             (delayed_move_time || current_position[X_AXIS] != x_home_pos(active_extruder))) { | ||||||
| @ -6717,7 +6719,7 @@ inline void gcode_T(uint8_t tmp_extruder) { | |||||||
|       #endif |       #endif | ||||||
| 
 | 
 | ||||||
|       // Move to the "old position" (move the extruder into place)
 |       // 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)
 |     } // (tmp_extruder != active_extruder)
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user