From beba07f9fc5a9adfad1d240fb6a2d2aabdadd092 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Thu, 6 Oct 2022 17:37:50 -0700 Subject: [PATCH] try to forward this PSCMStatus --- panda | 2 +- selfdrive/car/gm/carcontroller.py | 3 +++ selfdrive/car/gm/carstate.py | 1 + selfdrive/car/gm/gmcan.py | 8 ++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/panda b/panda index 3334dc21f5..b76f242955 160000 --- a/panda +++ b/panda @@ -1 +1 @@ -Subproject commit 3334dc21f5c55007c5a754dfd8ee5d642be3e2bb +Subproject commit b76f242955c68eb7dbe683d362a61bd6948a93a2 diff --git a/selfdrive/car/gm/carcontroller.py b/selfdrive/car/gm/carcontroller.py index 977d20c5b3..08263be460 100644 --- a/selfdrive/car/gm/carcontroller.py +++ b/selfdrive/car/gm/carcontroller.py @@ -108,6 +108,9 @@ class CarController: can_sends += gmcan.create_adas_keepalive(CanBus.POWERTRAIN) else: + if self.frame % 10 == 0: + can_sends.append(gmcan.create_pscm_status(self.packer_pt, CS.pscm_status)) + # Stock longitudinal, integrated at camera if (self.frame - self.last_button_frame) * DT_CTRL > 0.04: if CC.cruiseControl.cancel: diff --git a/selfdrive/car/gm/carstate.py b/selfdrive/car/gm/carstate.py index 9d1659b99d..b0ede2cd80 100644 --- a/selfdrive/car/gm/carstate.py +++ b/selfdrive/car/gm/carstate.py @@ -59,6 +59,7 @@ class CarState(CarStateBase): self.lka_steering_cmd_counter = loopback_cp.vl["ASCMLKASteeringCmd"]["RollingCounter"] # 0 inactive, 1 active, 2 temporarily limited, 3 failed + self.pscm_status = pt_cp.vl["PSCMStatus"] self.lkas_status = pt_cp.vl["PSCMStatus"]["LKATorqueDeliveredStatus"] ret.steerFaultTemporary = self.lkas_status == 2 ret.steerFaultPermanent = self.lkas_status == 3 diff --git a/selfdrive/car/gm/gmcan.py b/selfdrive/car/gm/gmcan.py index 20e4c4ab6e..9f62c74bd6 100644 --- a/selfdrive/car/gm/gmcan.py +++ b/selfdrive/car/gm/gmcan.py @@ -1,5 +1,6 @@ from selfdrive.car import make_can_msg + def create_buttons(packer, bus, idx, button): values = { "ACCButtons": button, @@ -7,6 +8,13 @@ def create_buttons(packer, bus, idx, button): } return packer.make_can_msg("ASCMSteeringButton", bus, values) + +def create_pscm_status(packer, pscm_status): + values = pscm_status.copy() + values["LKASteeringCmdActive"] = 0 + values["LKASteeringCmd"] = 0 + return packer.make_can_msg("PSCMStatus", 2, values) + def create_steering_control(packer, bus, apply_steer, idx, lkas_active): values = {