Set auto fan pins to OUTPUT during init
Fixes the problem of these pins being left in INPUT state, as described in #1497
This commit is contained in:
		
				
					committed by
					
						
						Richard Wackerbarth
					
				
			
			
				
	
			
			
			
						parent
						
							90f858aa85
						
					
				
				
					commit
					e602c28ad9
				
			@@ -374,7 +374,6 @@ void setExtruderAutoFanState(int pin, bool state)
 | 
			
		||||
{
 | 
			
		||||
  unsigned char newFanSpeed = (state != 0) ? EXTRUDER_AUTO_FAN_SPEED : 0;
 | 
			
		||||
  // this idiom allows both digital and PWM fan outputs (see M42 handling).
 | 
			
		||||
  pinMode(pin, OUTPUT);
 | 
			
		||||
  digitalWrite(pin, newFanSpeed);
 | 
			
		||||
  analogWrite(pin, newFanSpeed);
 | 
			
		||||
}
 | 
			
		||||
@@ -918,6 +917,19 @@ void tp_init() {
 | 
			
		||||
    ANALOG_SELECT(FILWIDTH_PIN);
 | 
			
		||||
  #endif
 | 
			
		||||
  
 | 
			
		||||
  #if HAS_AUTO_FAN_0
 | 
			
		||||
    pinMode(EXTRUDER_0_AUTO_FAN_PIN, OUTPUT);
 | 
			
		||||
  #endif
 | 
			
		||||
  #if HAS_AUTO_FAN_1 && (EXTRUDER_1_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN)
 | 
			
		||||
    pinMode(EXTRUDER_1_AUTO_FAN_PIN, OUTPUT);
 | 
			
		||||
  #endif
 | 
			
		||||
  #if HAS_AUTO_FAN_2 && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN)
 | 
			
		||||
    pinMode(EXTRUDER_2_AUTO_FAN_PIN, OUTPUT);
 | 
			
		||||
  #endif
 | 
			
		||||
  #if HAS_AUTO_FAN_3 && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_2_AUTO_FAN_PIN)
 | 
			
		||||
    pinMode(EXTRUDER_3_AUTO_FAN_PIN, OUTPUT);
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  // Use timer0 for temperature measurement
 | 
			
		||||
  // Interleave temperature interrupt with millies interrupt
 | 
			
		||||
  OCR0B = 128;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user