|
@@ -6624,21 +6624,22 @@ inline void gcode_T(uint8_t tmp_extruder) {
|
6624
|
6624
|
return;
|
6625
|
6625
|
}
|
6626
|
6626
|
|
6627
|
|
- float stored_feedrate = feedrate;
|
|
6627
|
+ #if HOTENDS > 1
|
6628
|
6628
|
|
6629
|
|
- if (code_seen('F')) {
|
6630
|
|
- float next_feedrate = code_value_axis_units(X_AXIS);
|
6631
|
|
- if (next_feedrate > 0.0) stored_feedrate = feedrate = next_feedrate;
|
6632
|
|
- }
|
6633
|
|
- else {
|
6634
|
|
- #ifdef XY_TRAVEL_SPEED
|
6635
|
|
- feedrate = XY_TRAVEL_SPEED;
|
6636
|
|
- #else
|
6637
|
|
- feedrate = min(planner.max_feedrate[X_AXIS], planner.max_feedrate[Y_AXIS]);
|
6638
|
|
- #endif
|
6639
|
|
- }
|
|
6629
|
+ float stored_feedrate = feedrate;
|
|
6630
|
+
|
|
6631
|
+ if (code_seen('F')) {
|
|
6632
|
+ float next_feedrate = code_value_axis_units(X_AXIS);
|
|
6633
|
+ if (next_feedrate > 0.0) stored_feedrate = feedrate = next_feedrate;
|
|
6634
|
+ }
|
|
6635
|
+ else {
|
|
6636
|
+ #ifdef XY_TRAVEL_SPEED
|
|
6637
|
+ feedrate = XY_TRAVEL_SPEED;
|
|
6638
|
+ #else
|
|
6639
|
+ feedrate = min(planner.max_feedrate[X_AXIS], planner.max_feedrate[Y_AXIS]);
|
|
6640
|
+ #endif
|
|
6641
|
+ }
|
6640
|
6642
|
|
6641
|
|
- #if HOTENDS > 1
|
6642
|
6643
|
if (tmp_extruder != active_extruder) {
|
6643
|
6644
|
bool no_move = code_seen('S') && code_value_bool();
|
6644
|
6645
|
// Save current position to return to after applying extruder offset
|
|
@@ -6794,9 +6795,14 @@ inline void gcode_T(uint8_t tmp_extruder) {
|
6794
|
6795
|
enable_solenoid_on_active_extruder();
|
6795
|
6796
|
#endif // EXT_SOLENOID
|
6796
|
6797
|
|
6797
|
|
- #endif // HOTENDS > 1
|
|
6798
|
+ feedrate = stored_feedrate;
|
|
6799
|
+
|
|
6800
|
+ #else // !HOTENDS > 1
|
6798
|
6801
|
|
6799
|
|
- feedrate = stored_feedrate;
|
|
6802
|
+ // Set the new active extruder
|
|
6803
|
+ active_extruder = tmp_extruder;
|
|
6804
|
+
|
|
6805
|
+ #endif
|
6800
|
6806
|
|
6801
|
6807
|
SERIAL_ECHO_START;
|
6802
|
6808
|
SERIAL_ECHO(MSG_ACTIVE_EXTRUDER);
|