Merge pull request #1005 from midopple/Marlin_v1
With option DISABLE_INACTIVE_EXTRUDER the extruder is disable to early
This commit is contained in:
commit
105571ec68
1 changed files with 28 additions and 3 deletions
|
@ -96,6 +96,8 @@ float autotemp_factor=0.1;
|
|||
bool autotemp_enabled=false;
|
||||
#endif
|
||||
|
||||
unsigned char g_uc_extruder_last_move[3] = {0,0,0};
|
||||
|
||||
//===========================================================================
|
||||
//=================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(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)
|
||||
{
|
||||
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;
|
||||
case 0:
|
||||
enable_e0();
|
||||
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
|
||||
|
|
Reference in a new issue