G10/G11 bugfixes

Previous version was broken by using G92 E0 between retract and recover.
master
whosawhatsis 11 years ago
parent d6c5c503d4
commit 6e43398509

@ -1114,7 +1114,9 @@ void process_commands()
destination[Y_AXIS]=current_position[Y_AXIS]; destination[Y_AXIS]=current_position[Y_AXIS];
destination[Z_AXIS]=current_position[Z_AXIS]; destination[Z_AXIS]=current_position[Z_AXIS];
current_position[Z_AXIS]-=retract_zlift; current_position[Z_AXIS]-=retract_zlift;
destination[E_AXIS]=current_position[E_AXIS]-retract_length/volumetric_multiplier[active_extruder]; destination[E_AXIS]=current_position[E_AXIS];
current_position[E_AXIS]+=retract_length/volumetric_multiplier[active_extruder];
plan_set_e_position(current_position[E_AXIS]);
float oldFeedrate = feedrate; float oldFeedrate = feedrate;
feedrate=retract_feedrate; feedrate=retract_feedrate;
retracted=true; retracted=true;
@ -1130,7 +1132,9 @@ void process_commands()
destination[Y_AXIS]=current_position[Y_AXIS]; destination[Y_AXIS]=current_position[Y_AXIS];
destination[Z_AXIS]=current_position[Z_AXIS]; destination[Z_AXIS]=current_position[Z_AXIS];
current_position[Z_AXIS]+=retract_zlift; current_position[Z_AXIS]+=retract_zlift;
destination[E_AXIS]=current_position[E_AXIS]+(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; destination[E_AXIS]=current_position[E_AXIS];
current_position[E_AXIS]-=(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder];
plan_set_e_position(current_position[E_AXIS]);
float oldFeedrate = feedrate; float oldFeedrate = feedrate;
feedrate=retract_recover_feedrate; feedrate=retract_recover_feedrate;
retracted=false; retracted=false;

Loading…
Cancel
Save