From d93039698ccf7c1bfb1ae12a50188eacca1ecfca Mon Sep 17 00:00:00 2001 From: Beartech <233074906+beartech-ca@users.noreply.github.com> Date: Mon, 29 Jun 2026 18:16:17 -0700 Subject: [PATCH] Add BUICK_LACROSSE_ASCM_19US variant with 37 mph minSteerSpeed US 2019 Buick LaCrosse factory LKA operates only 60-180 km/h. Split it from BUICK_LACROSSE_ASCM into its own variant so minSteerSpeed can be raised above the EPS LKA-activation threshold (~12.5 m/s), preventing the "LKAS Fault: Restart the car to engage" on deceleration. Manual fingerprint selection only; base LaCrosse platforms unchanged. --- opendbc_repo/opendbc/car/gm/interface.py | 4 +++- opendbc_repo/opendbc/car/gm/values.py | 5 +++++ opendbc_repo/opendbc/car/torque_data/substitute.toml | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/opendbc_repo/opendbc/car/gm/interface.py b/opendbc_repo/opendbc/car/gm/interface.py index 19f2c515f..d061a9a25 100755 --- a/opendbc_repo/opendbc/car/gm/interface.py +++ b/opendbc_repo/opendbc/car/gm/interface.py @@ -422,8 +422,10 @@ class CarInterface(CarInterfaceBase): ret.steerActuatorDelay = 0.2 CarInterfaceBase.configure_torque_tune(candidate, ret.lateralTuning) - elif candidate in (CAR.BUICK_LACROSSE, CAR.BUICK_LACROSSE_ASCM): + elif candidate in (CAR.BUICK_LACROSSE, CAR.BUICK_LACROSSE_ASCM, CAR.BUICK_LACROSSE_ASCM_19US): CarInterfaceBase.configure_torque_tune(CAR.BUICK_LACROSSE, ret.lateralTuning) + if candidate == CAR.BUICK_LACROSSE_ASCM_19US: + ret.minSteerSpeed = 37 * CV.MPH_TO_MS elif candidate == CAR.CADILLAC_ESCALADE: ret.minEnableSpeed = -1. # engage speed is decided by pcm diff --git a/opendbc_repo/opendbc/car/gm/values.py b/opendbc_repo/opendbc/car/gm/values.py index 7aa0a9b96..75cc5c2e0 100644 --- a/opendbc_repo/opendbc/car/gm/values.py +++ b/opendbc_repo/opendbc/car/gm/values.py @@ -283,6 +283,10 @@ class CAR(Platforms): [GMCarDocs("Buick LaCrosse 2017-19 ASCM Harness")], BUICK_LACROSSE.specs, ) + BUICK_LACROSSE_ASCM_19US = GMPlatformConfig( + [GMCarDocs("Buick LaCrosse 2019 US ASCM Harness")], + BUICK_LACROSSE.specs, + ) BUICK_REGAL = GMASCMPlatformConfig( [GMCarDocs("Buick Regal Essence 2018")], GMCarSpecs(mass=1714, wheelbase=2.83, steerRatio=14.4, centerToFrontRatio=0.4), @@ -587,6 +591,7 @@ ASCM_INT = { CAR.CADILLAC_ESCALADE_ASCM, CAR.CADILLAC_ESCALADE_ESV_2019_ASCM, CAR.BUICK_LACROSSE_ASCM, + CAR.BUICK_LACROSSE_ASCM_19US, } STEER_THRESHOLD = 1.0 diff --git a/opendbc_repo/opendbc/car/torque_data/substitute.toml b/opendbc_repo/opendbc/car/torque_data/substitute.toml index cc87cdcc5..6f95b4cba 100644 --- a/opendbc_repo/opendbc/car/torque_data/substitute.toml +++ b/opendbc_repo/opendbc/car/torque_data/substitute.toml @@ -66,6 +66,7 @@ legend = ["LAT_ACCEL_FACTOR", "MAX_LAT_ACCEL_MEASURED", "FRICTION"] "BUICK_LACROSSE" = "CHEVROLET_VOLT" "BUICK_LACROSSE_ASCM" = "CHEVROLET_VOLT" +"BUICK_LACROSSE_ASCM_19US" = "CHEVROLET_VOLT" "BUICK_REGAL" = "CHEVROLET_VOLT" "CADILLAC_ESCALADE_ASCM" = "CADILLAC_ESCALADE" "CADILLAC_ESCALADE_ESV" = "CHEVROLET_VOLT"