Browse Source

Add switch unused feeder(s) off

Having the non-active feeder motors powered on all the time is not
necessary. A feature to deactivate the unused feeder motors has been
implemented. The feature is enabled on default but can be switched off
in the configuration.
Dim3nsioneer 10 years ago
parent
commit
29e7639933
2 changed files with 17 additions and 4 deletions
  1. 1
    0
      Marlin/Configuration.h
  2. 16
    4
      Marlin/planner.cpp

+ 1
- 0
Marlin/Configuration.h View File

305
 #define DISABLE_Y false
305
 #define DISABLE_Y false
306
 #define DISABLE_Z false
306
 #define DISABLE_Z false
307
 #define DISABLE_E false // For all extruders
307
 #define DISABLE_E false // For all extruders
308
+#define DISABLE_UNSELECTED_E true //disable only not selected extruders and keep selected extruder active
308
 
309
 
309
 #define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
310
 #define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
310
 #define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
311
 #define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false

+ 16
- 4
Marlin/planner.cpp View File

657
   if(block->steps_z != 0) enable_z();
657
   if(block->steps_z != 0) enable_z();
658
 #endif
658
 #endif
659
 
659
 
660
-  // Enable all
660
+  // Enable extruder(s)
661
   if(block->steps_e != 0)
661
   if(block->steps_e != 0)
662
   {
662
   {
663
-    enable_e0();
664
-    enable_e1();
665
-    enable_e2(); 
663
+    if (DISABLE_UNSELECTED_E) //enable only selected extruder
664
+    {
665
+      switch(extruder)
666
+      {
667
+        case 0: enable_e0(); disable_e1(); disable_e2(); break;
668
+        case 1: disable_e0(); enable_e1(); disable_e2(); break;
669
+        case 2: disable_e0(); disable_e1(); enable_e2(); break;
670
+      }
671
+    }
672
+    else //enable all
673
+    {
674
+      enable_e0();
675
+      enable_e1();
676
+      enable_e2(); 
677
+    }
666
   }
678
   }
667
 
679
 
668
   if (block->steps_e == 0)
680
   if (block->steps_e == 0)

Loading…
Cancel
Save