| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -197,11 +197,11 @@ class CarState(CarStateBase): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.seatbeltUnlatched = bool(cp.vl["SEATBELT_STATUS"]["SEATBELT_DRIVER_LAMP"] or not cp.vl["SEATBELT_STATUS"]["SEATBELT_DRIVER_LATCHED"]) | 
					 | 
					 | 
					 | 
					    ret.seatbeltUnlatched = bool(cp.vl["SEATBELT_STATUS"]["SEATBELT_DRIVER_LAMP"] or not cp.vl["SEATBELT_STATUS"]["SEATBELT_DRIVER_LATCHED"]) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    steer_status = self.steer_status_values[cp.vl["STEER_STATUS"]["STEER_STATUS"]] | 
					 | 
					 | 
					 | 
					    steer_status = self.steer_status_values[cp.vl["STEER_STATUS"]["STEER_STATUS"]] | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.steerError = steer_status not in ("NORMAL", "NO_TORQUE_ALERT_1", "NO_TORQUE_ALERT_2", "LOW_SPEED_LOCKOUT", "TMP_FAULT") | 
					 | 
					 | 
					 | 
					    ret.steerFaultPermanent = steer_status not in ("NORMAL", "NO_TORQUE_ALERT_1", "NO_TORQUE_ALERT_2", "LOW_SPEED_LOCKOUT", "TMP_FAULT") | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # NO_TORQUE_ALERT_2 can be caused by bump OR steering nudge from driver | 
					 | 
					 | 
					 | 
					    # NO_TORQUE_ALERT_2 can be caused by bump OR steering nudge from driver | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    self.steer_not_allowed = steer_status not in ("NORMAL", "NO_TORQUE_ALERT_2") | 
					 | 
					 | 
					 | 
					    self.steer_not_allowed = steer_status not in ("NORMAL", "NO_TORQUE_ALERT_2") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # LOW_SPEED_LOCKOUT is not worth a warning | 
					 | 
					 | 
					 | 
					    # LOW_SPEED_LOCKOUT is not worth a warning | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ret.steerWarning = steer_status not in ("NORMAL", "LOW_SPEED_LOCKOUT", "NO_TORQUE_ALERT_2") | 
					 | 
					 | 
					 | 
					    ret.steerFaultTemporary = steer_status not in ("NORMAL", "LOW_SPEED_LOCKOUT", "NO_TORQUE_ALERT_2") | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if self.CP.openpilotLongitudinalControl: | 
					 | 
					 | 
					 | 
					    if self.CP.openpilotLongitudinalControl: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      self.brake_error = cp.vl["STANDSTILL"]["BRAKE_ERROR_1"] or cp.vl["STANDSTILL"]["BRAKE_ERROR_2"] | 
					 | 
					 | 
					 | 
					      self.brake_error = cp.vl["STANDSTILL"]["BRAKE_ERROR_1"] or cp.vl["STANDSTILL"]["BRAKE_ERROR_2"] | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |