| 
															
																@@ -1024,7 +1024,7 @@ void tp_init() 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     setPwmFrequency(FAN_PIN, 1); // No prescaling. Pwm frequency = F_CPU/256/8 
															 | 
															
															 | 
															
																     setPwmFrequency(FAN_PIN, 1); // No prescaling. Pwm frequency = F_CPU/256/8 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     #endif 
															 | 
															
															 | 
															
																     #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     #ifdef FAN_SOFT_PWM 
															 | 
															
															 | 
															
																     #ifdef FAN_SOFT_PWM 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    soft_pwm_fan = fanSpeedSoftPwm / 2; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    soft_pwm_fan = fanSpeedSoftPwm / (1 << (8 - FAN_SOFT_PWM_BITS)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     #endif 
															 | 
															
															 | 
															
																     #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   #endif 
															 | 
															
															 | 
															
																   #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1600,11 +1600,14 @@ ISR(TIMER0_COMPB_vect) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     soft_pwm_b = soft_pwm_bed; 
															 | 
															
															 | 
															
																     soft_pwm_b = soft_pwm_bed; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     if(soft_pwm_b > 0) WRITE(HEATER_BED_PIN,1); else WRITE(HEATER_BED_PIN,0); 
															 | 
															
															 | 
															
																     if(soft_pwm_b > 0) WRITE(HEATER_BED_PIN,1); else WRITE(HEATER_BED_PIN,0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #endif 
															 | 
															
															 | 
															
																 #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
															
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    soft_pwm_fan = fanSpeedSoftPwm / 2; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  if ((pwm_count & ((1 << FAN_SOFT_PWM_BITS) - 1)) == 0) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    soft_pwm_fan = fanSpeedSoftPwm / (1 << (8 - FAN_SOFT_PWM_BITS)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     if(soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0); 
															 | 
															
															 | 
															
																     if(soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#endif 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   } 
															 | 
															
															 | 
															
																   } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+#endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   if(soft_pwm_0 < pwm_count) 
															 | 
															
															 | 
															
																   if(soft_pwm_0 < pwm_count) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   {  
															 | 
															
															 | 
															
																   {  
															 | 
														
													
												
													
														
															| 
															 | 
															
																     WRITE(HEATER_0_PIN,0); 
															 | 
															
															 | 
															
																     WRITE(HEATER_0_PIN,0); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1623,7 +1626,7 @@ ISR(TIMER0_COMPB_vect) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   if(soft_pwm_b < pwm_count) WRITE(HEATER_BED_PIN,0); 
															 | 
															
															 | 
															
																   if(soft_pwm_b < pwm_count) WRITE(HEATER_BED_PIN,0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #endif 
															 | 
															
															 | 
															
																 #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
															
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  if(soft_pwm_fan < pwm_count) WRITE(FAN_PIN,0); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  if (soft_pwm_fan < (pwm_count & ((1 << FAN_SOFT_PWM_BITS) - 1))) WRITE(FAN_PIN,0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #endif 
															 | 
															
															 | 
															
																 #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    
															 | 
															
															 | 
															
																    
															 | 
														
													
												
													
														
															| 
															 | 
															
																   pwm_count += (1 << SOFT_PWM_SCALE); 
															 | 
															
															 | 
															
																   pwm_count += (1 << SOFT_PWM_SCALE); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -1810,8 +1813,8 @@ ISR(TIMER0_COMPB_vect) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #endif 
															 | 
															
															 | 
															
																 #endif 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    
															 | 
															
															 | 
															
																    
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
															
															 | 
															
																 #ifdef FAN_SOFT_PWM 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  if (pwm_count == 0){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-    soft_pwm_fan = fanSpeedSoftPwm / 2; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  if ((pwm_count & ((1 << FAN_SOFT_PWM_BITS) - 1)) == 0) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    soft_pwm_fan = fanSpeedSoftPwm / (1 << (8 - FAN_SOFT_PWM_BITS)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     if (soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0); 
															 | 
															
															 | 
															
																     if (soft_pwm_fan > 0) WRITE(FAN_PIN,1); else WRITE(FAN_PIN,0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   } 
															 | 
															
															 | 
															
																   } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   if (soft_pwm_fan < pwm_count) WRITE(FAN_PIN,0); 
															 | 
															
															 | 
															
																   if (soft_pwm_fan < pwm_count) WRITE(FAN_PIN,0); 
															 |