Browse Source

Keep FWRETRACT values in terms of millimeters when using M200

 for volumetric E units
whosawhatsis 11 years ago
parent
commit
78e7654601
1 changed files with 4 additions and 2 deletions
  1. 4
    2
      Marlin/Marlin_main.cpp

+ 4
- 2
Marlin/Marlin_main.cpp View File

@@ -137,7 +137,7 @@
137 137
 // M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) im mm/sec^2  also sets minimum segment time in ms (B20000) to prevent buffer underruns and M20 minimum feedrate
138 138
 // M205 -  advanced settings:  minimum travel speed S=while printing T=travel only,  B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
139 139
 // M206 - set additional homeing offset
140
-// M207 - set retract length S[positive mm] F[feedrate mm/sec] Z[additional zlift/hop]
140
+// M207 - set retract length S[positive mm] F[feedrate mm/sec] Z[additional zlift/hop], stays in mm regardless of M200 setting
141 141
 // M208 - set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec]
142 142
 // M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
143 143
 // M218 - set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
@@ -1128,10 +1128,12 @@ void process_commands()
1128 1128
         destination[Y_AXIS]=current_position[Y_AXIS];
1129 1129
         destination[Z_AXIS]=current_position[Z_AXIS];
1130 1130
         current_position[Z_AXIS]+=retract_zlift;
1131
-        destination[E_AXIS]=current_position[E_AXIS]+retract_length+retract_recover_length;
1131
+        destination[E_AXIS]=current_position[E_AXIS]+(retract_length+retract_recover_length)/volumetric_multiplier[active_extruder]; 
1132
+        float oldFeedrate = feedrate;
1132 1133
         feedrate=retract_recover_feedrate;
1133 1134
         retracted=false;
1134 1135
         prepare_move();
1136
+        feedrate = oldFeedrate;
1135 1137
       }
1136 1138
       break;
1137 1139
       #endif //FWRETRACT

Loading…
Cancel
Save