|  |  |  | @ -370,17 +370,14 @@ int getHeaterPower(int heater) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if HAS_AUTO_FAN | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void setExtruderAutoFanState(int pin, bool state) | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | 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); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | void checkExtruderAutoFans() | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | void checkExtruderAutoFans() { | 
			
		
	
		
			
				
					|  |  |  |  |   uint8_t fanState = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   // which fan pins need to be turned on?      
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -443,7 +440,7 @@ void checkExtruderAutoFans() | 
			
		
	
		
			
				
					|  |  |  |  |   #endif | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #endif // any extruder auto fan pins set
 | 
			
		
	
		
			
				
					|  |  |  |  | #endif // HAS_AUTO_FAN
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | //
 | 
			
		
	
		
			
				
					|  |  |  |  | // Temperature Error Handlers
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -917,7 +914,20 @@ void tp_init() { | 
			
		
	
		
			
				
					|  |  |  |  |   #if HAS_FILAMENT_SENSOR | 
			
		
	
		
			
				
					|  |  |  |  |     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; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |