@ -1,14 +1,16 @@ 
			
		
	
		
		
			
				
					
					from  dataclasses  import  dataclass  
			
		
	
		
		
			
				
					
					from  enum  import  Enum ,  IntFlag from  enum  import  Enum ,  IntFlag  
			
		
	
		
		
			
				
					
					from  typing  import  Dict ,  List ,  Union from  typing  import  Dict ,  List ,  Union  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					from  cereal  import  car from  cereal  import  car  
			
		
	
		
		
			
				
					
					from  common . conversions  import  Conversions  as  CV  
			
		
	
		
		
			
				
					
					from  selfdrive . car  import  dbc_dict from  selfdrive . car  import  dbc_dict  
			
		
	
		
		
			
				
					
					from  selfdrive . car . docs_definitions  import  CarFootnote ,  CarInfo ,  Column from  selfdrive . car . docs_definitions  import  CarFootnote ,  CarInfo ,  Column  
			
		
	
		
		
			
				
					
					from  common . conversions  import  Conversions  as  CV  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					Ecu  =  car . CarParams . Ecu Ecu  =  car . CarParams . Ecu  
			
		
	
		
		
			
				
					
					VisualAlert  =  car . CarControl . HUDControl . VisualAlert VisualAlert  =  car . CarControl . HUDControl . VisualAlert  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					class  CarControllerParams : class  CarControllerParams :  
			
		
	
		
		
			
				
					
					  # Allow small margin below -3.5 m/s^2 from ISO 15622:2018 since we    # Allow small margin below -3.5 m/s^2 from ISO 15622:2018 since we   
			
		
	
		
		
			
				
					
					  # perform the closed loop control, and might need some    # perform the closed loop control, and might need some   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -53,6 +55,7 @@ class CruiseButtons: 
			
		
	
		
		
			
				
					
					  CANCEL  =  2    CANCEL  =  2   
			
		
	
		
		
			
				
					
					  MAIN  =  1    MAIN  =  1   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# See dbc files for info on values # See dbc files for info on values  
			
		
	
		
		
			
				
					
					VISUAL_HUD  =  { VISUAL_HUD  =  {  
			
		
	
		
		
			
				
					
					  VisualAlert . none :  0 ,    VisualAlert . none :  0 ,   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -97,33 +100,39 @@ class Footnote(Enum): 
			
		
	
		
		
			
				
					
					    Column . FSR_STEERING )      Column . FSR_STEERING )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					CAR_INFO :  Dict [ str ,  Union [ CarInfo ,  List [ CarInfo ] ] ]  =  { @dataclass  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					class  HondaCarInfo ( CarInfo ) :  
			
		
	
		
		
			
				
					
					  package :  str  =  " Honda Sensing "   
			
		
	
		
		
			
				
					
					  min_steer_speed :  float  =  12.  *  CV . MPH_TO_MS   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					CAR_INFO :  Dict [ str ,  Union [ HondaCarInfo ,  List [ HondaCarInfo ] ] ]  =  {  
			
		
	
		
		
			
				
					
					  CAR . ACCORD :  [    CAR . ACCORD :  [   
			
		
	
		
		
			
				
					
					    CarInfo ( " Honda Accord 2018-21 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=mrUwlj3Mi58 " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,      Honda CarInfo( " Honda Accord 2018-21 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=mrUwlj3Mi58 " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					    CarInfo ( " Honda Inspire 2018 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,      Honda CarInfo( " Honda Inspire 2018 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					  ] ,    ] ,   
			
		
	
		
		
			
				
					
					  CAR . ACCORDH :  CarInfo ( " Honda Accord Hybrid 2018-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,    CAR . ACCORDH :  Honda CarInfo( " Honda Accord Hybrid 2018-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . CIVIC :  CarInfo ( " Honda Civic 2016-18 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . CIVIC :  Honda CarInfo( " Honda Civic 2016-18 " ) ,   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					  CAR . CIVIC_BOSCH :  [    CAR . CIVIC_BOSCH :  [   
			
		
	
		
		
			
				
					
					    CarInfo ( " Honda Civic 2019-20 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=4Iz1Mz5LGF8 " ,  footnotes = [ Footnote . CIVIC_DIESEL ] ,  min_steer_speed = 2.  *  CV . MPH_TO_MS ) ,      Honda CarInfo( " Honda Civic 2019-20 " ,  " All " ,  video_link = " https://www.youtube.com/watch?v=4Iz1Mz5LGF8 " ,  footnotes = [ Footnote . CIVIC_DIESEL ] ,  min_steer_speed = 2.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					    CarInfo ( " Honda Civic Hatchback 2017-21 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,      Honda CarInfo( " Honda Civic Hatchback 2017-21 " ) ,   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					  ] ,    ] ,   
			
		
	
		
		
			
				
					
					  CAR . ACURA_ILX :  CarInfo ( " Acura ILX 2016-19 " ,  " AcuraWatch Plus " ,  min_steer_speed = 25.  *  CV . MPH_TO_MS ) ,    CAR . ACURA_ILX :  Honda CarInfo( " Acura ILX 2016-19 " ,  " AcuraWatch Plus " ,  min_steer_speed = 25.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . CRV :  CarInfo ( " Honda CR-V 2015-16 " ,  " Touring " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . CRV :  Honda CarInfo( " Honda CR-V 2015-16 " ,  " Touring " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . CRV_5G :  CarInfo ( " Honda CR-V 2017-21 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . CRV_5G :  Honda CarInfo( " Honda CR-V 2017-21 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  # CAR.CRV_EU: CarInfo("Honda CR-V EU", "Touring"),  # Euro version of CRV Touring    # CAR.CRV_EU: Honda CarInfo("Honda CR-V EU", "Touring"),  # Euro version of CRV Touring   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . CRV_HYBRID :  CarInfo ( " Honda CR-V Hybrid 2017-19 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . CRV_HYBRID :  Honda CarInfo( " Honda CR-V Hybrid 2017-19 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . FIT :  CarInfo ( " Honda Fit 2018-19 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . FIT :  Honda CarInfo( " Honda Fit 2018-19 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . FREED :  CarInfo ( " Honda Freed 2020 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . FREED :  Honda CarInfo( " Honda Freed 2020 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . HRV :  CarInfo ( " Honda HR-V 2019-20 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . HRV :  Honda CarInfo( " Honda HR-V 2019-20 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . ODYSSEY :  CarInfo ( " Honda Odyssey 2018-20 " ,  " Honda Sensing " ) ,    CAR . ODYSSEY :  Honda CarInfo( " Honda Odyssey 2018-20 " ,  min_steer_speed = 0. ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . ACURA_RDX :  CarInfo ( " Acura RDX 2016-18 " ,  " AcuraWatch Plus " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . ACURA_RDX :  Honda CarInfo( " Acura RDX 2016-18 " ,  " AcuraWatch Plus " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . ACURA_RDX_3G :  CarInfo ( " Acura RDX 2019-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,    CAR . ACURA_RDX_3G :  Honda CarInfo( " Acura RDX 2019-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . PILOT :  CarInfo ( " Honda Pilot 2016-21 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . PILOT :  Honda CarInfo( " Honda Pilot 2016-21 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . PASSPORT :  CarInfo ( " Honda Passport 2019-21 " ,  " All " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . PASSPORT :  Honda CarInfo( " Honda Passport 2019-21 " ,  " All " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . RIDGELINE :  CarInfo ( " Honda Ridgeline 2017-21 " ,  " Honda Sensing " ,  min_steer_speed = 12.  *  CV . MPH_TO_MS ) ,    CAR . RIDGELINE :  Honda CarInfo( " Honda Ridgeline 2017-21 " ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . INSIGHT :  CarInfo ( " Honda Insight 2019-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,    CAR . INSIGHT :  Honda CarInfo( " Honda Insight 2019-21 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
			
				
					
					  CAR . HONDA_E :  CarInfo ( " Honda e 2020 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,    CAR . HONDA_E :  Honda CarInfo( " Honda e 2020 " ,  " All " ,  min_steer_speed = 3.  *  CV . MPH_TO_MS ) ,   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					} }