|
|
|
|
2321
|
|
2321
|
|
2322
|
feedrate = retract_feedrate * 60;
|
2322
|
feedrate = retract_feedrate * 60;
|
2323
|
current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder];
|
2323
|
current_position[E_AXIS] += (swapping ? retract_length_swap : retract_length) / volumetric_multiplier[active_extruder];
|
2324
|
- plan_set_e_position(current_position[E_AXIS]);
|
|
|
|
|
2324
|
+ sync_plan_position_e();
|
2325
|
prepare_move();
|
2325
|
prepare_move();
|
2326
|
|
2326
|
|
2327
|
if (retract_zlift > 0.01) {
|
2327
|
if (retract_zlift > 0.01) {
|
|
|
|
|
2349
|
feedrate = retract_recover_feedrate * 60;
|
2349
|
feedrate = retract_recover_feedrate * 60;
|
2350
|
float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length;
|
2350
|
float move_e = swapping ? retract_length_swap + retract_recover_length_swap : retract_length + retract_recover_length;
|
2351
|
current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder];
|
2351
|
current_position[E_AXIS] -= move_e / volumetric_multiplier[active_extruder];
|
2352
|
- plan_set_e_position(current_position[E_AXIS]);
|
|
|
|
|
2352
|
+ sync_plan_position_e();
|
2353
|
prepare_move();
|
2353
|
prepare_move();
|
2354
|
}
|
2354
|
}
|
2355
|
|
2355
|
|
|
|
|
|
2440
|
// Is this move an attempt to retract or recover?
|
2440
|
// Is this move an attempt to retract or recover?
|
2441
|
if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) {
|
2441
|
if ((echange < -MIN_RETRACT && !retracted[active_extruder]) || (echange > MIN_RETRACT && retracted[active_extruder])) {
|
2442
|
current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations
|
2442
|
current_position[E_AXIS] = destination[E_AXIS]; // hide the slicer-generated retract/recover from calculations
|
2443
|
- plan_set_e_position(current_position[E_AXIS]); // AND from the planner
|
|
|
|
|
2443
|
+ sync_plan_position_e(); // AND from the planner
|
2444
|
retract(!retracted[active_extruder]);
|
2444
|
retract(!retracted[active_extruder]);
|
2445
|
return;
|
2445
|
return;
|
2446
|
}
|
2446
|
}
|
|
|
|
|
6108
|
#endif
|
6108
|
#endif
|
6109
|
|
6109
|
|
6110
|
current_position[E_AXIS] = destination[E_AXIS]; //the long retract of L is compensated by manual filament feeding
|
6110
|
current_position[E_AXIS] = destination[E_AXIS]; //the long retract of L is compensated by manual filament feeding
|
6111
|
- plan_set_e_position(current_position[E_AXIS]);
|
|
|
|
|
6111
|
+ sync_plan_position_e();
|
6112
|
|
6112
|
|
6113
|
RUNPLAN; //should do nothing
|
6113
|
RUNPLAN; //should do nothing
|
6114
|
|
6114
|
|