diff --git a/cereal/car.capnp b/cereal/car.capnp index e53f3ce25c9612..6eff704ecb2b12 100644 --- a/cereal/car.capnp +++ b/cereal/car.capnp @@ -207,6 +207,7 @@ struct CarState { carFaultedNonCritical @47 :Bool; # some ECU is faulted, but car remains controllable espActive @51 :Bool; vehicleSensorsInvalid @52 :Bool; # invalid steering angle readings, etc. + lowSpeedAlert @56 :Bool; # lost steering control due to a dynamic min steering speed # cruise state cruiseState @10 :CruiseState; diff --git a/opendbc_repo b/opendbc_repo index 900246ddb3ff10..a363ce1ff452e6 160000 --- a/opendbc_repo +++ b/opendbc_repo @@ -1 +1 @@ -Subproject commit 900246ddb3ff107f55aab1c8e0d96713a6f4a770 +Subproject commit a363ce1ff452e63f2e49938508d97aece4ba6a3e diff --git a/selfdrive/car/car_specific.py b/selfdrive/car/car_specific.py index b43a4c4fc7c987..ee2dee77de3d5d 100644 --- a/selfdrive/car/car_specific.py +++ b/selfdrive/car/car_specific.py @@ -45,7 +45,7 @@ def update(self, CS: CarStateBase, CS_prev: car.CarState, CC_prev: car.CarContro if self.CP.carName in ('body', 'mock'): events = Events() - elif self.CP.carName == 'subaru': + elif self.CP.carName in ('subaru', 'mazda'): events = self.create_common_events(CS.out, CS_prev) elif self.CP.carName == 'ford': @@ -54,12 +54,6 @@ def update(self, CS: CarStateBase, CS_prev: car.CarState, CC_prev: car.CarContro elif self.CP.carName == 'nissan': events = self.create_common_events(CS.out, CS_prev, extra_gears=[GearShifter.brake]) - elif self.CP.carName == 'mazda': - events = self.create_common_events(CS.out, CS_prev) - - if CS.low_speed_alert: # type: ignore[attr-defined] - events.add(EventName.belowSteerSpeed) - elif self.CP.carName == 'chrysler': events = self.create_common_events(CS.out, CS_prev, extra_gears=[GearShifter.low]) @@ -212,6 +206,8 @@ def create_common_events(self, CS: structs.CarState, CS_prev: car.CarState, extr events.add(EventName.vehicleSensorsInvalid) if CS.invalidLkasSetting: events.add(EventName.invalidLkasSetting) + if CS.lowSpeedAlert: + events.add(EventName.belowSteerSpeed) # Handle button presses for b in CS.buttonEvents: