@@ -555,19 +555,18 @@ void countFanSpeed()
555
555
556
556
void checkFanSpeed ()
557
557
{
558
- uint8_t max_print_fan_errors = 0 ;
559
- uint8_t max_extruder_fan_errors = 0 ;
558
+ uint8_t max_fan_errors[2 ];
560
559
#ifdef FAN_SOFT_PWM
561
- max_print_fan_errors = 3 ; // 15 seconds
562
- max_extruder_fan_errors = 2 ; // 10seconds
560
+ max_fan_errors[ 1 ] = 3 ; // 15 seconds (Print fan)
561
+ max_fan_errors[ 0 ] = 2 ; // 10 seconds (Extruder fan)
563
562
#else // FAN_SOFT_PWM
564
- max_print_fan_errors = 15 ; // 15 seconds
565
- max_extruder_fan_errors = 5 ; // 5 seconds
563
+ max_fan_errors[ 1 ] = 15 ; // 15 seconds (Print fan)
564
+ max_fan_errors[ 0 ] = 5 ; // 5 seconds (Extruder fan)
566
565
#endif // FAN_SOFT_PWM
567
-
568
- if (fans_check_enabled != false )
569
- fans_check_enabled = (eeprom_read_byte ((uint8_t *)EEPROM_FAN_CHECK_ENABLED) > 0 );
570
- static unsigned char fan_speed_errors[2 ] = { 0 ,0 };
566
+
567
+ if (fans_check_enabled)
568
+ fans_check_enabled = (eeprom_read_byte ((uint8_t *)EEPROM_FAN_CHECK_ENABLED) > 0 );
569
+ static uint8_t fan_speed_errors[2 ] = { 0 ,0 };
571
570
#if (defined(FANCHECK) && defined(TACH_0) && (TACH_0 >-1))
572
571
if ((fan_speed[0 ] < 20 ) && (current_temperature[0 ] > EXTRUDER_AUTO_FAN_TEMPERATURE)){ fan_speed_errors[0 ]++;}
573
572
else fan_speed_errors[0 ] = 0 ;
@@ -586,13 +585,16 @@ void checkFanSpeed()
586
585
fan_check_error = EFCE_OK; // if the issue is fixed while the printer is doing nothing, reenable processing immediately.
587
586
lcd_reset_alert_level (); // for another fan speed error
588
587
}
589
- if ((fan_speed_errors[0 ] > max_extruder_fan_errors) && fans_check_enabled && (fan_check_error == EFCE_OK)) {
590
- fan_speed_errors[0 ] = 0 ;
591
- fanSpeedError (0 ); // extruder fan
592
- }
593
- if ((fan_speed_errors[1 ] > max_print_fan_errors) && fans_check_enabled && (fan_check_error == EFCE_OK)) {
594
- fan_speed_errors[1 ] = 0 ;
595
- fanSpeedError (1 ); // print fan
588
+ if (fans_check_enabled && (fan_check_error == EFCE_OK))
589
+ {
590
+ for (uint8_t fan = 0 ; fan < 2 ; fan++)
591
+ {
592
+ if (fan_speed_errors[fan] > max_fan_errors[fan])
593
+ {
594
+ fan_speed_errors[fan] = 0 ;
595
+ fanSpeedError (fan);
596
+ }
597
+ }
596
598
}
597
599
}
598
600
0 commit comments