| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -178,6 +178,7 @@ class Controls: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    self.desired_curvature_rate = 0.0 | 
					 | 
					 | 
					 | 
					    self.desired_curvature_rate = 0.0 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    self.experimental_mode = False | 
					 | 
					 | 
					 | 
					    self.experimental_mode = False | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    self.v_cruise_helper = VCruiseHelper(self.CP) | 
					 | 
					 | 
					 | 
					    self.v_cruise_helper = VCruiseHelper(self.CP) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    self.recalibrating_seen = False | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    # TODO: no longer necessary, aside from process replay | 
					 | 
					 | 
					 | 
					    # TODO: no longer necessary, aside from process replay | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    self.sm['liveParameters'].valid = True | 
					 | 
					 | 
					 | 
					    self.sm['liveParameters'].valid = True | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -286,7 +287,9 @@ class Controls: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      if cal_status == log.LiveCalibrationData.Status.uncalibrated: | 
					 | 
					 | 
					 | 
					      if cal_status == log.LiveCalibrationData.Status.uncalibrated: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationIncomplete) | 
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationIncomplete) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      elif cal_status == log.LiveCalibrationData.Status.recalibrating: | 
					 | 
					 | 
					 | 
					      elif cal_status == log.LiveCalibrationData.Status.recalibrating: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        set_offroad_alert("Offroad_Recalibration", True) | 
					 | 
					 | 
					 | 
					        if not self.recalibrating_seen: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					          set_offroad_alert("Offroad_Recalibration", True) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        self.recalibrating_seen = True | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationRecalibrating) | 
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationRecalibrating) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      else: | 
					 | 
					 | 
					 | 
					      else: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationInvalid) | 
					 | 
					 | 
					 | 
					        self.events.add(EventName.calibrationInvalid) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |