You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							1.6 KiB
						
					
					
				| #!/usr/bin/env python3
 | |
| from cereal import car
 | |
| from openpilot.common.conversions import Conversions as CV
 | |
| from openpilot.selfdrive.car.mazda.values import CAR, LKAS_LIMITS
 | |
| from openpilot.selfdrive.car import create_button_events, get_safety_config
 | |
| from openpilot.selfdrive.car.interfaces import CarInterfaceBase
 | |
| 
 | |
| ButtonType = car.CarState.ButtonEvent.Type
 | |
| EventName = car.CarEvent.EventName
 | |
| 
 | |
| class CarInterface(CarInterfaceBase):
 | |
| 
 | |
|   @staticmethod
 | |
|   def _get_params(ret, candidate, fingerprint, car_fw, experimental_long, docs):
 | |
|     ret.carName = "mazda"
 | |
|     ret.safetyConfigs = [get_safety_config(car.CarParams.SafetyModel.mazda)]
 | |
|     ret.radarUnavailable = True
 | |
| 
 | |
|     ret.dashcamOnly = candidate not in (CAR.MAZDA_CX5_2022, CAR.MAZDA_CX9_2021)
 | |
| 
 | |
|     ret.steerActuatorDelay = 0.1
 | |
|     ret.steerLimitTimer = 0.8
 | |
| 
 | |
|     CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning)
 | |
| 
 | |
|     if candidate not in (CAR.MAZDA_CX5_2022, ):
 | |
|       ret.minSteerSpeed = LKAS_LIMITS.DISABLE_SPEED * CV.KPH_TO_MS
 | |
| 
 | |
|     ret.centerToFront = ret.wheelbase * 0.41
 | |
| 
 | |
|     return ret
 | |
| 
 | |
|   # returns a car.CarState
 | |
|   def _update(self, c):
 | |
|     ret = self.CS.update(self.cp, self.cp_cam)
 | |
| 
 | |
|      # TODO: add button types for inc and dec
 | |
|     ret.buttonEvents = create_button_events(self.CS.distance_button, self.CS.prev_distance_button, {1: ButtonType.gapAdjustCruise})
 | |
| 
 | |
|     # events
 | |
|     events = self.create_common_events(ret)
 | |
| 
 | |
|     if self.CS.lkas_disabled:
 | |
|       events.add(EventName.lkasDisabled)
 | |
|     elif self.CS.low_speed_alert:
 | |
|       events.add(EventName.belowSteerSpeed)
 | |
| 
 | |
|     ret.events = events.to_msg()
 | |
| 
 | |
|     return ret
 | |
| 
 |