Be consistent in setting of the fan PWM.
Always set the FAN PWM value in check_axes_activity() and always use the value of the active move if a move is active.
This commit is contained in:
parent
14e1d495ef
commit
3f2f94ef28
|
@ -438,8 +438,7 @@ void check_axes_activity()
|
|||
unsigned char y_active = 0;
|
||||
unsigned char z_active = 0;
|
||||
unsigned char e_active = 0;
|
||||
unsigned char fan_speed = 0;
|
||||
unsigned char tail_fan_speed = 0;
|
||||
unsigned char tail_fan_speed = fanSpeed;
|
||||
block_t *block;
|
||||
|
||||
if(block_buffer_tail != block_buffer_head)
|
||||
|
@ -453,20 +452,9 @@ void check_axes_activity()
|
|||
if(block->steps_y != 0) y_active++;
|
||||
if(block->steps_z != 0) z_active++;
|
||||
if(block->steps_e != 0) e_active++;
|
||||
if(block->fan_speed != 0) fan_speed++;
|
||||
block_index = (block_index+1) & (BLOCK_BUFFER_SIZE - 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#if FAN_PIN > -1
|
||||
#ifndef FAN_SOFT_PWM
|
||||
if (fanSpeed != 0){
|
||||
analogWrite(FAN_PIN,fanSpeed); // If buffer is empty use current fan speed
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
if((DISABLE_X) && (x_active == 0)) disable_x();
|
||||
if((DISABLE_Y) && (y_active == 0)) disable_y();
|
||||
if((DISABLE_Z) && (z_active == 0)) disable_z();
|
||||
|
@ -478,15 +466,7 @@ void check_axes_activity()
|
|||
}
|
||||
#if FAN_PIN > -1
|
||||
#ifndef FAN_SOFT_PWM
|
||||
if((fanSpeed == 0) && (fan_speed ==0))
|
||||
{
|
||||
analogWrite(FAN_PIN, 0);
|
||||
}
|
||||
|
||||
if (fanSpeed != 0 && tail_fan_speed !=0)
|
||||
{
|
||||
analogWrite(FAN_PIN,tail_fan_speed);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
#ifdef AUTOTEMP
|
||||
|
|
|
@ -221,10 +221,7 @@ void lcd_preheat_pla()
|
|||
setTargetHotend1(plaPreheatHotendTemp);
|
||||
setTargetHotend2(plaPreheatHotendTemp);
|
||||
setTargetBed(plaPreheatHPBTemp);
|
||||
#if FAN_PIN > -1
|
||||
fanSpeed = plaPreheatFanSpeed;
|
||||
analogWrite(FAN_PIN, fanSpeed);
|
||||
#endif
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
|
@ -234,10 +231,7 @@ void lcd_preheat_abs()
|
|||
setTargetHotend1(absPreheatHotendTemp);
|
||||
setTargetHotend2(absPreheatHotendTemp);
|
||||
setTargetBed(absPreheatHPBTemp);
|
||||
#if FAN_PIN > -1
|
||||
fanSpeed = absPreheatFanSpeed;
|
||||
analogWrite(FAN_PIN, fanSpeed);
|
||||
#endif
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue