Преглед изворни кода

Merge pull request #492 from PavelSindler/fan_check_sync

Checking fan speed synchronized with block currently processed
XPila пре 7 година
родитељ
комит
7a1b10346f
1 измењених фајлова са 10 додато и 4 уклоњено
  1. 10 4
      Firmware/temperature.cpp

+ 10 - 4
Firmware/temperature.cpp

@@ -468,14 +468,20 @@ void checkFanSpeed()
 	fans_check_enabled = (eeprom_read_byte((uint8_t*)EEPROM_FAN_CHECK_ENABLED) > 0);
 	static unsigned char fan_speed_errors[2] = { 0,0 };
 
-	if (fan_speed[0] == 0 && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++;
+	if ((fan_speed[0] == 0) && (current_temperature[0] > EXTRUDER_AUTO_FAN_TEMPERATURE)) fan_speed_errors[0]++;
 	else fan_speed_errors[0] = 0;
 
-	if ((fan_speed[1] == 0)&& (fanSpeed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++;
+	if ((fan_speed[1] == 0) && (block_buffer[block_buffer_tail].fan_speed > MIN_PRINT_FAN_SPEED)) fan_speed_errors[1]++;
 	else fan_speed_errors[1] = 0;
 
-	if ((fan_speed_errors[0] > 5) && fans_check_enabled) fanSpeedError(0); //extruder fan
-	if ((fan_speed_errors[1] > 15) && fans_check_enabled) fanSpeedError(1); //print fan
+	if ((fan_speed_errors[0] > 5) && fans_check_enabled) {
+		fan_speed_errors[0] = 0;
+		fanSpeedError(0); //extruder fan
+	}
+	if ((fan_speed_errors[1] > 15) && fans_check_enabled) {
+		fan_speed_errors[1] = 0;
+		fanSpeedError(1); //print fan
+	}
 }
 
 extern void stop_and_save_print_to_ram(float z_move, float e_move);