diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 7f49d8b5b9..66e84843cd 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2321,7 +2321,7 @@ static void homeaxis(AxisEnum axis) { feedrate = retract_feedrate * 60; current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder]; - plan_set_e_position(current_position[E_AXIS]); + sync_plan_position_e(); prepare_move(); if (retract_zlift > 0.01) { @@ -2349,7 +2349,7 @@ static void homeaxis(AxisEnum axis) { feedrate = retract_recover_feedrate * 60; float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length; current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder]; - plan_set_e_position(current_position[E_AXIS]); + sync_plan_position_e(); prepare_move(); } @@ -2440,7 +2440,7 @@ inline void gcode_G0_G1() { // Is this move an attempt to retract or recover? if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) { current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations - plan_set_e_position(current_position[E_AXIS]); // AND from the planner + sync_plan_position_e(); // AND from the planner retract(!retracted[active_extruder]); return; } @@ -6108,7 +6108,7 @@ inline void gcode_M503() { #endif current_position[E_AXIS] = destination[E_AXIS]; //the long retract of L is compensated by manual filament feeding - plan_set_e_position(current_position[E_AXIS]); + sync_plan_position_e(); RUNPLAN; //should do nothing