|
@@ -3354,11 +3354,12 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|
|
|
|
|
fanSpeed = fanSpeedBckp;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
if (!automatic)
|
|
|
{
|
|
|
- current_position[E_AXIS] += FILAMENTCHANGE_RECFEED;
|
|
|
- plan_buffer_line_curposXYZE(FILAMENTCHANGE_EXFEED);
|
|
|
+ current_position[E_AXIS] -= FILAMENTCHANGE_LOADRETRACT;
|
|
|
+ plan_buffer_line_curposXYZE(FILAMENTCHANGE_EFEED_FIRST);
|
|
|
+ st_synchronize();
|
|
|
}
|
|
|
|
|
|
|
|
@@ -3370,6 +3371,15 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|
|
FILAMENTCHANGE_ZFEED, active_extruder);
|
|
|
st_synchronize();
|
|
|
|
|
|
+
|
|
|
+ if (!automatic)
|
|
|
+ {
|
|
|
+ current_position[E_AXIS] += FILAMENTCHANGE_LOADRETRACT;
|
|
|
+ plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], current_position[E_AXIS],
|
|
|
+ FILAMENTCHANGE_EFEED_FIRST, active_extruder);
|
|
|
+ st_synchronize();
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
plan_set_e_position(lastpos[E_AXIS]);
|
|
|
|