diff --git a/opendbc b/opendbc index 3cfd0bf4eb..7397e466d9 160000 --- a/opendbc +++ b/opendbc @@ -1 +1 @@ -Subproject commit 3cfd0bf4eb73953f3d179dddc1ba2c92e317188c +Subproject commit 7397e466d9cfd7f5bc1f49218b8d2afeedec582b diff --git a/selfdrive/car/gm/carstate.py b/selfdrive/car/gm/carstate.py index f7309939b1..c3d061de78 100644 --- a/selfdrive/car/gm/carstate.py +++ b/selfdrive/car/gm/carstate.py @@ -33,7 +33,9 @@ class CarState(CarStateBase): self.cruise_buttons = pt_cp.vl["ASCMSteeringButton"]["ACCButtons"] self.buttons_counter = pt_cp.vl["ASCMSteeringButton"]["RollingCounter"] self.pscm_status = copy.copy(pt_cp.vl["PSCMStatus"]) - self.moving_backward = pt_cp.vl["EBCMWheelSpdRear"]["MovingBackward"] != 0 + # This is to avoid a fault where you engage while still moving backwards after shifting to D. + # An Equinox has been seen with an unsupported status (3), so only check if either wheel is in reverse (2) + self.moving_backward = (pt_cp.vl["EBCMWheelSpdRear"]["RLWheelDir"] == 2) or (pt_cp.vl["EBCMWheelSpdRear"]["RRWheelDir"] == 2) # Variables used for avoiding LKAS faults self.loopback_lka_steering_cmd_updated = len(loopback_cp.vl_all["ASCMLKASteeringCmd"]["RollingCounter"]) > 0