@ -6,7 +6,7 @@ from common.params import Params 
			
		
	
		
			
				
					from  selfdrive . car . honda . values  import  CarControllerParams ,  CruiseButtons ,  CAR ,  HONDA_BOSCH ,  HONDA_BOSCH_ALT_BRAKE_SIGNAL  
			
		
	
		
			
				
					from  selfdrive . car . honda . hondacan  import  disable_radar  
			
		
	
		
			
				
					from  selfdrive . car  import  STD_CARGO_KG ,  CivicParams ,  scale_rot_inertia ,  scale_tire_stiffness ,  gen_empty_fingerprint  
			
		
	
		
			
				
					from  selfdrive . car . interfaces  import  CarInterfaceBase ,  ACCEL_MAX ,  ACCEL_MIN  
			
		
	
		
			
				
					from  selfdrive . car . interfaces  import  CarInterfaceBase  
			
		
	
		
			
				
					from  selfdrive . config  import  Conversions  as  CV  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -17,12 +17,15 @@ TransmissionType = car.CarParams.TransmissionType 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  CarInterface ( CarInterfaceBase ) :  
			
		
	
		
			
				
					  @staticmethod   
			
		
	
		
			
				
					  def  get_pid_accel_limits ( current_speed ,  cruise_speed ) :   
			
		
	
		
			
				
					    # NIDECs don't allow acceleration near cruise_speed,   
			
		
	
		
			
				
					    # so limit limits of pid to prevent windup   
			
		
	
		
			
				
					    ACCEL_MAX_VALS  =  [ ACCEL_MAX ,  0.2 ]   
			
		
	
		
			
				
					    ACCEL_MAX_BP  =  [ cruise_speed  -  2. ,  cruise_speed  -  .2 ]   
			
		
	
		
			
				
					    return  ACCEL_MIN ,  interp ( current_speed ,  ACCEL_MAX_BP ,  ACCEL_MAX_VALS )   
			
		
	
		
			
				
					  def  get_pid_accel_limits ( CP ,  current_speed ,  cruise_speed ) :   
			
		
	
		
			
				
					    if  CP . carFingerprint  in  HONDA_BOSCH :   
			
		
	
		
			
				
					      return  CarControllerParams . BOSCH_ACCEL_MIN ,  CarControllerParams . BOSCH_ACCEL_MAX   
			
		
	
		
			
				
					    else :   
			
		
	
		
			
				
					      # NIDECs don't allow acceleration near cruise_speed,   
			
		
	
		
			
				
					      # so limit limits of pid to prevent windup   
			
		
	
		
			
				
					      ACCEL_MAX_VALS  =  [ CarControllerParams . NIDEC_ACCEL_MAX ,  0.2 ]   
			
		
	
		
			
				
					      ACCEL_MAX_BP  =  [ cruise_speed  -  2. ,  cruise_speed  -  .2 ]   
			
		
	
		
			
				
					      return  CarControllerParams . NIDEC_ACCEL_MIN ,  interp ( current_speed ,  ACCEL_MAX_BP ,  ACCEL_MAX_VALS )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  @staticmethod   
			
		
	
		
			
				
					  def  calc_accel_override ( a_ego ,  a_target ,  v_ego ,  v_target ) :   
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -54,7 +57,7 @@ class CarInterface(CarInterfaceBase): 
			
		
	
		
			
				
					    # accelOverride is more or less the max throttle allowed to pcm: usually set to a constant   
			
		
	
		
			
				
					    # unless aTargetMax is very high and then we scale with it; this help in quicker restart   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    return  float ( max ( max_accel ,  a_target  /  CarControllerParams . ACCEL_MAX ) )  *  min ( speedLimiter ,  accelLimiter )   
			
		
	
		
			
				
					    return  float ( max ( max_accel ,  a_target  /  CarControllerParams . NIDEC_ ACCEL_MAX) )  *  min ( speedLimiter ,  accelLimiter )   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					  @staticmethod   
			
		
	
		
			
				
					  def  get_params ( candidate ,  fingerprint = gen_empty_fingerprint ( ) ,  car_fw = [ ] ) :   # pylint: disable=dangerous-default-value