Merge pull request #1005 from midopple/Marlin_v1

With option DISABLE_INACTIVE_EXTRUDER the extruder is disable to early
This commit is contained in:
Erik van der Zalm 2014-08-28 16:24:14 +02:00
commit 105571ec68

View file

@ -96,6 +96,8 @@ float autotemp_factor=0.1;
bool autotemp_enabled=false; bool autotemp_enabled=false;
#endif #endif
unsigned char g_uc_extruder_last_move[3] = {0,0,0};
//=========================================================================== //===========================================================================
//=================semi-private variables, used in inline functions ===== //=================semi-private variables, used in inline functions =====
//=========================================================================== //===========================================================================
@ -662,11 +664,34 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi
{ {
if (DISABLE_INACTIVE_EXTRUDER) //enable only selected extruder if (DISABLE_INACTIVE_EXTRUDER) //enable only selected extruder
{ {
if(g_uc_extruder_last_move[0] > 0) g_uc_extruder_last_move[0]--;
if(g_uc_extruder_last_move[1] > 0) g_uc_extruder_last_move[1]--;
if(g_uc_extruder_last_move[2] > 0) g_uc_extruder_last_move[2]--;
switch(extruder) switch(extruder)
{ {
case 0: enable_e0(); disable_e1(); disable_e2(); break; case 0:
case 1: disable_e0(); enable_e1(); disable_e2(); break; enable_e0();
case 2: disable_e0(); disable_e1(); enable_e2(); break; g_uc_extruder_last_move[0] = BLOCK_BUFFER_SIZE*2;
if(g_uc_extruder_last_move[1] == 0) disable_e1();
if(g_uc_extruder_last_move[2] == 0) disable_e2();
break;
case 1:
enable_e1();
g_uc_extruder_last_move[1] = BLOCK_BUFFER_SIZE*2;
if(g_uc_extruder_last_move[0] == 0) disable_e0();
if(g_uc_extruder_last_move[2] == 0) disable_e2();
break;
case 2:
enable_e2();
g_uc_extruder_last_move[2] = BLOCK_BUFFER_SIZE*2;
if(g_uc_extruder_last_move[0] == 0) disable_e0();
if(g_uc_extruder_last_move[1] == 0) disable_e1();
break;
} }
} }
else //enable all else //enable all