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
 | 
						|
 |