|
|
|
@ -1,7 +1,9 @@ |
|
|
|
|
from cereal import car |
|
|
|
|
from selfdrive.car.volkswagen.values import CAR, CANBUS, NetworkLocation, TransmissionType, GearShifter |
|
|
|
|
from selfdrive.car import STD_CARGO_KG, scale_rot_inertia, scale_tire_stiffness, gen_empty_fingerprint, get_safety_config |
|
|
|
|
from selfdrive.car import STD_CARGO_KG, create_button_enable_events, scale_rot_inertia, scale_tire_stiffness, \ |
|
|
|
|
gen_empty_fingerprint, get_safety_config |
|
|
|
|
from selfdrive.car.interfaces import CarInterfaceBase |
|
|
|
|
from selfdrive.car.volkswagen.values import CAR, CANBUS, NetworkLocation, TransmissionType, GearShifter |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EventName = car.CarEvent.EventName |
|
|
|
|
|
|
|
|
@ -52,6 +54,13 @@ class CarInterface(CarInterfaceBase): |
|
|
|
|
ret.lateralTuning.pid.kpV = [0.6] |
|
|
|
|
ret.lateralTuning.pid.kiV = [0.2] |
|
|
|
|
|
|
|
|
|
# Global longitudinal tuning defaults, can be overridden per-vehicle |
|
|
|
|
|
|
|
|
|
ret.pcmCruise = not ret.openpilotLongitudinalControl |
|
|
|
|
ret.longitudinalActuatorDelayUpperBound = 0.5 # s |
|
|
|
|
ret.longitudinalTuning.kpV = [0.1] |
|
|
|
|
ret.longitudinalTuning.kiV = [0.0] |
|
|
|
|
|
|
|
|
|
# Per-chassis tuning values, override tuning defaults here if desired |
|
|
|
|
|
|
|
|
|
if candidate == CAR.ARTEON_MK1: |
|
|
|
@ -160,7 +169,8 @@ class CarInterface(CarInterfaceBase): |
|
|
|
|
def _update(self, c): |
|
|
|
|
ret = self.CS.update(self.cp, self.cp_cam, self.cp_ext, self.CP.transmissionType) |
|
|
|
|
|
|
|
|
|
events = self.create_common_events(ret, extra_gears=[GearShifter.eco, GearShifter.sport, GearShifter.manumatic]) |
|
|
|
|
events = self.create_common_events(ret, extra_gears=[GearShifter.eco, GearShifter.sport, GearShifter.manumatic], |
|
|
|
|
pcm_enable=not self.CS.CP.openpilotLongitudinalControl) |
|
|
|
|
|
|
|
|
|
# Low speed steer alert hysteresis logic |
|
|
|
|
if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 1.): |
|
|
|
@ -170,6 +180,13 @@ class CarInterface(CarInterfaceBase): |
|
|
|
|
if self.low_speed_alert: |
|
|
|
|
events.add(EventName.belowSteerSpeed) |
|
|
|
|
|
|
|
|
|
if self.CS.CP.openpilotLongitudinalControl: |
|
|
|
|
if ret.vEgo < self.CP.minEnableSpeed + 2.: |
|
|
|
|
events.add(EventName.belowEngageSpeed) |
|
|
|
|
if c.enabled and ret.vEgo < self.CP.minEnableSpeed: |
|
|
|
|
events.add(EventName.speedTooLow) |
|
|
|
|
|
|
|
|
|
events.events.extend(create_button_enable_events(ret.buttonEvents, pcm_cruise=self.CP.pcmCruise)) |
|
|
|
|
ret.events = events.to_msg() |
|
|
|
|
|
|
|
|
|
return ret |
|
|
|
|