Browse Source

do_pause_e_move => unscaled_e_move

Scott Lahteine 4 years ago
parent
commit
765a9f3471

+ 11
- 20
Marlin/src/feature/pause.cpp View File

@@ -134,15 +134,6 @@ static bool ensure_safe_temperature(const PauseMode mode=PAUSE_MODE_SAME) {
134 134
   return thermalManager.wait_for_hotend(active_extruder);
135 135
 }
136 136
 
137
-void do_pause_e_move(const float &length, const feedRate_t &fr_mm_s) {
138
-  #if HAS_FILAMENT_SENSOR
139
-    runout.reset();
140
-  #endif
141
-  current_position.e += length / planner.e_factor[active_extruder];
142
-  line_to_current_position(fr_mm_s);
143
-  planner.synchronize();
144
-}
145
-
146 137
 /**
147 138
  * Load filament into the hotend
148 139
  *
@@ -217,7 +208,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
217 208
   #endif
218 209
 
219 210
   // Slow Load filament
220
-  if (slow_load_length) do_pause_e_move(slow_load_length, FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE);
211
+  if (slow_load_length) unscaled_e_move(slow_load_length, FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE);
221 212
 
222 213
   // Fast Load Filament
223 214
   if (fast_load_length) {
@@ -226,7 +217,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
226 217
       planner.settings.retract_acceleration = FILAMENT_CHANGE_FAST_LOAD_ACCEL;
227 218
     #endif
228 219
 
229
-    do_pause_e_move(fast_load_length, FILAMENT_CHANGE_FAST_LOAD_FEEDRATE);
220
+    unscaled_e_move(fast_load_length, FILAMENT_CHANGE_FAST_LOAD_FEEDRATE);
230 221
 
231 222
     #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0
232 223
       planner.settings.retract_acceleration = saved_acceleration;
@@ -253,7 +244,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
253 244
     #endif
254 245
     wait_for_user = true; // A click or M108 breaks the purge_length loop
255 246
     for (float purge_count = purge_length; purge_count > 0 && wait_for_user; --purge_count)
256
-      do_pause_e_move(1, ADVANCED_PAUSE_PURGE_FEEDRATE);
247
+      unscaled_e_move(1, ADVANCED_PAUSE_PURGE_FEEDRATE);
257 248
     wait_for_user = false;
258 249
 
259 250
   #else
@@ -266,7 +257,7 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
266 257
         #endif
267 258
 
268 259
         // Extrude filament to get into hotend
269
-        do_pause_e_move(purge_length, ADVANCED_PAUSE_PURGE_FEEDRATE);
260
+        unscaled_e_move(purge_length, ADVANCED_PAUSE_PURGE_FEEDRATE);
270 261
       }
271 262
 
272 263
       #if ENABLED(HOST_PROMPT_SUPPORT)
@@ -331,13 +322,13 @@ bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/,
331 322
   #endif
332 323
 
333 324
   // Retract filament
334
-  do_pause_e_move(-(FILAMENT_UNLOAD_PURGE_RETRACT) * mix_multiplier, (PAUSE_PARK_RETRACT_FEEDRATE) * mix_multiplier);
325
+  unscaled_e_move(-(FILAMENT_UNLOAD_PURGE_RETRACT) * mix_multiplier, (PAUSE_PARK_RETRACT_FEEDRATE) * mix_multiplier);
335 326
 
336 327
   // Wait for filament to cool
337 328
   safe_delay(FILAMENT_UNLOAD_PURGE_DELAY);
338 329
 
339 330
   // Quickly purge
340
-  do_pause_e_move((FILAMENT_UNLOAD_PURGE_RETRACT + FILAMENT_UNLOAD_PURGE_LENGTH) * mix_multiplier,
331
+  unscaled_e_move((FILAMENT_UNLOAD_PURGE_RETRACT + FILAMENT_UNLOAD_PURGE_LENGTH) * mix_multiplier,
341 332
                   (FILAMENT_UNLOAD_PURGE_FEEDRATE) * mix_multiplier);
342 333
 
343 334
   // Unload filament
@@ -346,7 +337,7 @@ bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/,
346 337
     planner.settings.retract_acceleration = FILAMENT_CHANGE_UNLOAD_ACCEL;
347 338
   #endif
348 339
 
349
-  do_pause_e_move(unload_length * mix_multiplier, (FILAMENT_CHANGE_UNLOAD_FEEDRATE) * mix_multiplier);
340
+  unscaled_e_move(unload_length * mix_multiplier, (FILAMENT_CHANGE_UNLOAD_FEEDRATE) * mix_multiplier);
350 341
 
351 342
   #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0
352 343
     planner.settings.retract_acceleration = saved_acceleration;
@@ -436,7 +427,7 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
436 427
 
437 428
   // Initial retract before move to filament change position
438 429
   if (retract && thermalManager.hotEnoughToExtrude(active_extruder))
439
-    do_pause_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE);
430
+    unscaled_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE);
440 431
 
441 432
   // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos)
442 433
   if (!axes_need_homing())
@@ -631,11 +622,11 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le
631 622
   #if ENABLED(FWRETRACT)
632 623
     // If retracted before goto pause
633 624
     if (fwretract.retracted[active_extruder])
634
-      do_pause_e_move(-fwretract.settings.retract_length, fwretract.settings.retract_feedrate_mm_s);
625
+      unscaled_e_move(-fwretract.settings.retract_length, fwretract.settings.retract_feedrate_mm_s);
635 626
   #endif
636 627
 
637 628
   // If resume_position is negative
638
-  if (resume_position.e < 0) do_pause_e_move(resume_position.e, feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE));
629
+  if (resume_position.e < 0) unscaled_e_move(resume_position.e, feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE));
639 630
 
640 631
   // Move XY to starting position, then Z
641 632
   do_blocking_move_to_xy(resume_position, feedRate_t(NOZZLE_PARK_XY_FEEDRATE));
@@ -644,7 +635,7 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le
644 635
   do_blocking_move_to_z(resume_position.z, feedRate_t(NOZZLE_PARK_Z_FEEDRATE));
645 636
 
646 637
   #if ADVANCED_PAUSE_RESUME_PRIME != 0
647
-    do_pause_e_move(ADVANCED_PAUSE_RESUME_PRIME, feedRate_t(ADVANCED_PAUSE_PURGE_FEEDRATE));
638
+    unscaled_e_move(ADVANCED_PAUSE_RESUME_PRIME, feedRate_t(ADVANCED_PAUSE_PURGE_FEEDRATE));
648 639
   #endif
649 640
 
650 641
   // Now all extrusion positions are resumed and ready to be confirmed

+ 0
- 2
Marlin/src/feature/pause.h View File

@@ -83,8 +83,6 @@ extern uint8_t did_pause_print;
83 83
   #define DXC_PASS
84 84
 #endif
85 85
 
86
-void do_pause_e_move(const float &length, const feedRate_t &fr_mm_s);
87
-
88 86
 bool pause_print(const float &retract, const xyz_pos_t &park_point, const float &unload_length=0, const bool show_lcd=false DXC_PARAMS);
89 87
 
90 88
 void wait_for_confirmation(const bool is_reload=false, const int8_t max_beep_count=0 DXC_PARAMS);

+ 2
- 8
Marlin/src/gcode/feature/camera/M240.cpp View File

@@ -48,14 +48,8 @@
48 48
 
49 49
   #ifdef PHOTO_RETRACT_MM
50 50
     inline void e_move_m240(const float length, const feedRate_t &fr_mm_s) {
51
-      if (length && thermalManager.hotEnoughToExtrude(active_extruder)) {
52
-        #if ENABLED(ADVANCED_PAUSE_FEATURE)
53
-          do_pause_e_move(length, fr_mm_s);
54
-        #else
55
-          current_position.e += length / planner.e_factor[active_extruder];
56
-          line_to_current_position(fr_mm_s);
57
-        #endif
58
-      }
51
+      if (length && thermalManager.hotEnoughToExtrude(active_extruder))
52
+        unscaled_e_move(length, fr_mm_s);
59 53
     }
60 54
   #endif
61 55
 

+ 2
- 2
Marlin/src/lcd/language/language_fr.h View File

@@ -93,7 +93,7 @@ namespace Language_fr {
93 93
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("Allumer alim.");
94 94
   PROGMEM Language_Str MSG_SWITCH_PS_OFF                   = _UxGT("Eteindre alim.");
95 95
   PROGMEM Language_Str MSG_EXTRUDE                         = _UxGT("Extrusion");
96
-  PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Rétraction");
96
+  PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Rétractation");
97 97
   PROGMEM Language_Str MSG_MOVE_AXIS                       = _UxGT("Déplacer un axe");
98 98
   PROGMEM Language_Str MSG_BED_LEVELING                    = _UxGT("Régler Niv. lit");
99 99
   PROGMEM Language_Str MSG_LEVEL_BED                       = _UxGT("Niveau du lit");
@@ -317,7 +317,7 @@ namespace Language_fr {
317 317
   PROGMEM Language_Str MSG_NO_MOVE                         = _UxGT("Moteurs bloqués");
318 318
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("KILLED");
319 319
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("STOPPÉ");
320
-  PROGMEM Language_Str MSG_CONTROL_RETRACT                 = _UxGT("Rétraction mm");
320
+  PROGMEM Language_Str MSG_CONTROL_RETRACT                 = _UxGT("Rétractation mm");
321 321
   PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP            = _UxGT("Ech. rétr. mm");
322 322
   PROGMEM Language_Str MSG_CONTROL_RETRACTF                = _UxGT("Vit. rétract°");
323 323
   PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP            = _UxGT("Saut Z mm");

+ 13
- 0
Marlin/src/module/motion.cpp View File

@@ -55,6 +55,10 @@
55 55
   #include "../lcd/ultralcd.h"
56 56
 #endif
57 57
 
58
+#if HAS_FILAMENT_SENSOR
59
+  #include "../feature/runout.h"
60
+#endif
61
+
58 62
 #if ENABLED(SENSORLESS_HOMING)
59 63
   #include "../feature/tmc_util.h"
60 64
 #endif
@@ -332,6 +336,15 @@ void line_to_current_position(const feedRate_t &fr_mm_s/*=feedrate_mm_s*/) {
332 336
   planner.buffer_line(current_position, fr_mm_s, active_extruder);
333 337
 }
334 338
 
339
+void unscaled_e_move(const float &length, const feedRate_t &fr_mm_s) {
340
+  #if HAS_FILAMENT_SENSOR
341
+    runout.reset();
342
+  #endif
343
+  current_position.e += length / planner.e_factor[active_extruder];
344
+  line_to_current_position(fr_mm_s);
345
+  planner.synchronize();
346
+}
347
+
335 348
 #if IS_KINEMATIC
336 349
 
337 350
   /**

+ 2
- 0
Marlin/src/module/motion.h View File

@@ -184,6 +184,8 @@ void sync_plan_position_e();
184 184
  */
185 185
 void line_to_current_position(const feedRate_t &fr_mm_s=feedrate_mm_s);
186 186
 
187
+void unscaled_e_move(const float &length, const feedRate_t &fr_mm_s);
188
+
187 189
 void prepare_line_to_destination();
188 190
 
189 191
 void _internal_move_to_destination(const feedRate_t &fr_mm_s=0.0f

+ 3
- 3
Marlin/src/module/tool_change.cpp View File

@@ -856,7 +856,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
856 856
         }
857 857
         else {
858 858
           #if ENABLED(ADVANCED_PAUSE_FEATURE)
859
-            do_pause_e_move(-toolchange_settings.swap_length, MMM_TO_MMS(toolchange_settings.retract_speed));
859
+            unscaled_e_move(-toolchange_settings.swap_length, MMM_TO_MMS(toolchange_settings.retract_speed));
860 860
           #else
861 861
             current_position.e -= toolchange_settings.swap_length / planner.e_factor[old_tool];
862 862
             planner.buffer_line(current_position, MMM_TO_MMS(toolchange_settings.retract_speed), old_tool);
@@ -991,8 +991,8 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) {
991 991
         #if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
992 992
           if (should_swap && !too_cold) {
993 993
             #if ENABLED(ADVANCED_PAUSE_FEATURE)
994
-              do_pause_e_move(toolchange_settings.swap_length, MMM_TO_MMS(toolchange_settings.prime_speed));
995
-              do_pause_e_move(toolchange_settings.extra_prime, ADVANCED_PAUSE_PURGE_FEEDRATE);
994
+              unscaled_e_move(toolchange_settings.swap_length, MMM_TO_MMS(toolchange_settings.prime_speed));
995
+              unscaled_e_move(toolchange_settings.extra_prime, ADVANCED_PAUSE_PURGE_FEEDRATE);
996 996
             #else
997 997
               current_position.e += toolchange_settings.swap_length / planner.e_factor[new_tool];
998 998
               planner.buffer_line(current_position, MMM_TO_MMS(toolchange_settings.prime_speed), new_tool);

Loading…
Cancel
Save