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.
pull/1/head
Dim3nsioneer 11 years ago
parent
commit
29e7639933
  1. 1
      Marlin/Configuration.h
  2. 20
      Marlin/planner.cpp

1
Marlin/Configuration.h

@ -305,6 +305,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_UNSELECTED_E true //disable only not selected extruders and keep selected extruder active
#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false

20
Marlin/planner.cpp

@ -657,12 +657,24 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi
if(block->steps_z != 0) enable_z();
#endif
// Enable all
// Enable extruder(s)
if(block->steps_e != 0)
{
enable_e0();
enable_e1();
enable_e2();
if (DISABLE_UNSELECTED_E) //enable only selected extruder
{
switch(extruder)
{
case 0: enable_e0(); disable_e1(); disable_e2(); break;
case 1: disable_e0(); enable_e1(); disable_e2(); break;
case 2: disable_e0(); disable_e1(); enable_e2(); break;
}
}
else //enable all
{
enable_e0();
enable_e1();
enable_e2();
}
}
if (block->steps_e == 0)

Loading…
Cancel
Save