|  |  | @ -64,10 +64,10 @@ int   Temperature::current_temperature_raw[HOTENDS] = { 0 }, | 
			
		
	
		
		
			
				
					
					|  |  |  |   float Temperature::redundant_temperature = 0.0; |  |  |  |   float Temperature::redundant_temperature = 0.0; | 
			
		
	
		
		
			
				
					
					|  |  |  | #endif |  |  |  | #endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | unsigned char Temperature::soft_pwm_bed; |  |  |  | uint8_t Temperature::soft_pwm_bed; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #if ENABLED(FAN_SOFT_PWM) |  |  |  | #if ENABLED(FAN_SOFT_PWM) | 
			
		
	
		
		
			
				
					
					|  |  |  |   unsigned char Temperature::fanSpeedSoftPwm[FAN_COUNT]; |  |  |  |   uint8_t Temperature::fanSpeedSoftPwm[FAN_COUNT]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | #endif |  |  |  | #endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #if ENABLED(PIDTEMP) |  |  |  | #if ENABLED(PIDTEMP) | 
			
		
	
	
		
		
			
				
					|  |  | @ -188,10 +188,10 @@ int Temperature::minttemp_raw[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_RAW_LO_TEMP , | 
			
		
	
		
		
			
				
					
					|  |  |  |   millis_t Temperature::next_auto_fan_check_ms = 0; |  |  |  |   millis_t Temperature::next_auto_fan_check_ms = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  | #endif |  |  |  | #endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | unsigned char Temperature::soft_pwm[HOTENDS]; |  |  |  | uint8_t Temperature::soft_pwm[HOTENDS]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #if ENABLED(FAN_SOFT_PWM) |  |  |  | #if ENABLED(FAN_SOFT_PWM) | 
			
		
	
		
		
			
				
					
					|  |  |  |   unsigned char Temperature::soft_pwm_fan[FAN_COUNT]; |  |  |  |   uint8_t Temperature::soft_pwm_fan[FAN_COUNT]; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | #endif |  |  |  | #endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | #if ENABLED(FILAMENT_WIDTH_SENSOR) |  |  |  | #if ENABLED(FILAMENT_WIDTH_SENSOR) | 
			
		
	
	
		
		
			
				
					|  |  | @ -482,7 +482,7 @@ int Temperature::getHeaterPower(int heater) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     for (uint8_t f = 0; f < COUNT(fanPin); f++) { |  |  |  |     for (uint8_t f = 0; f < COUNT(fanPin); f++) { | 
			
		
	
		
		
			
				
					
					|  |  |  |       int8_t pin = fanPin[f]; |  |  |  |       int8_t pin = fanPin[f]; | 
			
		
	
		
		
			
				
					
					|  |  |  |       if (pin >= 0 && !TEST(fanDone, fanBit[f])) { |  |  |  |       if (pin >= 0 && !TEST(fanDone, fanBit[f])) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         unsigned char newFanSpeed = TEST(fanState, fanBit[f]) ? EXTRUDER_AUTO_FAN_SPEED : 0; |  |  |  |         uint8_t newFanSpeed = TEST(fanState, fanBit[f]) ? EXTRUDER_AUTO_FAN_SPEED : 0; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         // this idiom allows both digital and PWM fan outputs (see M42 handling).
 |  |  |  |         // this idiom allows both digital and PWM fan outputs (see M42 handling).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         digitalWrite(pin, newFanSpeed); |  |  |  |         digitalWrite(pin, newFanSpeed); | 
			
		
	
		
		
			
				
					
					|  |  |  |         analogWrite(pin, newFanSpeed); |  |  |  |         analogWrite(pin, newFanSpeed); | 
			
		
	
	
		
		
			
				
					|  |  | @ -1414,19 +1414,19 @@ ISR(TIMER0_COMPB_vect) { Temperature::isr(); } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | void Temperature::isr() { |  |  |  | void Temperature::isr() { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   static unsigned char temp_count = 0; |  |  |  |   static uint8_t temp_count = 0; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   static TempState temp_state = StartupDelay; |  |  |  |   static TempState temp_state = StartupDelay; | 
			
		
	
		
		
			
				
					
					|  |  |  |   static unsigned char pwm_count = _BV(SOFT_PWM_SCALE); |  |  |  |   static uint8_t pwm_count = _BV(SOFT_PWM_SCALE); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   // Static members for each heater
 |  |  |  |   // Static members for each heater
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   #if ENABLED(SLOW_PWM_HEATERS) |  |  |  |   #if ENABLED(SLOW_PWM_HEATERS) | 
			
		
	
		
		
			
				
					
					|  |  |  |     static unsigned char slow_pwm_count = 0; |  |  |  |     static uint8_t slow_pwm_count = 0; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     #define ISR_STATICS(n) \ |  |  |  |     #define ISR_STATICS(n) \ | 
			
		
	
		
		
			
				
					
					|  |  |  |       static unsigned char soft_pwm_ ## n; \ |  |  |  |       static uint8_t soft_pwm_ ## n; \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       static unsigned char state_heater_ ## n = 0; \ |  |  |  |       static uint8_t state_heater_ ## n = 0; \ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |       static unsigned char state_timer_heater_ ## n = 0 |  |  |  |       static uint8_t state_timer_heater_ ## n = 0 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   #else |  |  |  |   #else | 
			
		
	
		
		
			
				
					
					|  |  |  |     #define ISR_STATICS(n) static unsigned char soft_pwm_ ## n |  |  |  |     #define ISR_STATICS(n) static uint8_t soft_pwm_ ## n | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |   #endif |  |  |  |   #endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |   // Statics per heater
 |  |  |  |   // Statics per heater
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |