|  |  |  | @ -280,8 +280,9 @@ class Controls: | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     # Alert if fan isn't spinning for 5 seconds | 
			
		
	
		
			
				
					|  |  |  |  |     if self.sm['peripheralState'].pandaType != log.PandaState.PandaType.unknown: | 
			
		
	
		
			
				
					|  |  |  |  |       if self.sm['peripheralState'].fanSpeedRpm == 0 and self.sm['deviceState'].fanSpeedPercentDesired > 50: | 
			
		
	
		
			
				
					|  |  |  |  |         if (self.sm.frame - self.last_functional_fan_frame) * DT_CTRL > 5.0: | 
			
		
	
		
			
				
					|  |  |  |  |       if self.sm['peripheralState'].fanSpeedRpm < 500 and self.sm['deviceState'].fanSpeedPercentDesired > 50: | 
			
		
	
		
			
				
					|  |  |  |  |         # allow enough time for the fan controller in the panda to recover from stalls | 
			
		
	
		
			
				
					|  |  |  |  |         if (self.sm.frame - self.last_functional_fan_frame) * DT_CTRL > 15.0: | 
			
		
	
		
			
				
					|  |  |  |  |           self.events.add(EventName.fanMalfunction) | 
			
		
	
		
			
				
					|  |  |  |  |       else: | 
			
		
	
		
			
				
					|  |  |  |  |         self.last_functional_fan_frame = self.sm.frame | 
			
		
	
	
		
			
				
					|  |  |  | 
 |