Browse Source

G10/G11 bugfixes

Previous version was broken by using G92 E0 between retract and recover.
whosawhatsis 11 years ago
parent
commit
6e43398509
1 changed files with 6 additions and 2 deletions
  1. 6
    2
      Marlin/Marlin_main.cpp

+ 6
- 2
Marlin/Marlin_main.cpp View File

@@ -1114,7 +1114,9 @@ void process_commands()
1114 1114
         destination[Y_AXIS]=current_position[Y_AXIS];
1115 1115
         destination[Z_AXIS]=current_position[Z_AXIS];
1116 1116
         current_position[Z_AXIS]-=retract_zlift;
1117
-        destination[E_AXIS]=current_position[E_AXIS]-retract_length/volumetric_multiplier[active_extruder];
1117
+        destination[E_AXIS]=current_position[E_AXIS];
1118
+        current_position[E_AXIS]+=retract_length/volumetric_multiplier[active_extruder];
1119
+        plan_set_e_position(current_position[E_AXIS]);
1118 1120
         float oldFeedrate = feedrate;
1119 1121
         feedrate=retract_feedrate;
1120 1122
         retracted=true;
@@ -1130,7 +1132,9 @@ void process_commands()
1130 1132
         destination[Y_AXIS]=current_position[Y_AXIS];
1131 1133
         destination[Z_AXIS]=current_position[Z_AXIS];
1132 1134
         current_position[Z_AXIS]+=retract_zlift;
1133
-        destination[E_AXIS]=current_position[E_AXIS]+(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
1135
+        destination[E_AXIS]=current_position[E_AXIS];
1136
+        current_position[E_AXIS]-=(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
1137
+        plan_set_e_position(current_position[E_AXIS]);
1134 1138
         float oldFeedrate = feedrate;
1135 1139
         feedrate=retract_recover_feedrate;
1136 1140
         retracted=false;

Loading…
Cancel
Save