Browse Source

Loosen E on pause for fila-manipulation (#20346)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Belin Fieldson 4 years ago
parent
commit
465840e1fb
No account linked to committer's email address
1 changed files with 17 additions and 5 deletions
  1. 17
    5
      Marlin/src/feature/pause.cpp

+ 17
- 5
Marlin/src/feature/pause.cpp View File

@@ -296,6 +296,18 @@ bool load_filament(const float &slow_load_length/*=0*/, const float &fast_load_l
296 296
 }
297 297
 
298 298
 /**
299
+ * Disabling E steppers for manual filament change should be fine
300
+ * as long as users don't spin the E motor ridiculously fast and
301
+ * send current back to their board, potentially frying it.
302
+ */
303
+inline void disable_active_extruder() {
304
+  #if HAS_E_STEPPER_ENABLE
305
+    disable_e_stepper(active_extruder);
306
+    safe_delay(100);
307
+  #endif
308
+}
309
+
310
+/**
299 311
  * Unload filament from the hotend
300 312
  *
301 313
  * - Fail if the a safe temperature was not reached
@@ -357,11 +369,8 @@ bool unload_filament(const float &unload_length, const bool show_lcd/*=false*/,
357 369
     planner.settings.retract_acceleration = saved_acceleration;
358 370
   #endif
359 371
 
360
-  // Disable E steppers for manual change
361
-  #if HAS_E_STEPPER_ENABLE
362
-    disable_e_stepper(active_extruder);
363
-    safe_delay(100);
364
-  #endif
372
+  // Disable the Extruder for manual change
373
+  disable_active_extruder();
365 374
 
366 375
   return true;
367 376
 }
@@ -447,6 +456,9 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float
447 456
     set_duplication_enabled(saved_ext_dup_mode, saved_ext);
448 457
   #endif
449 458
 
459
+  // Disable the Extruder for manual change
460
+  disable_active_extruder();
461
+
450 462
   return true;
451 463
 }
452 464
 

Loading…
Cancel
Save