diff --git a/selfdrive/car/chrysler/carcontroller.py b/selfdrive/car/chrysler/carcontroller.py index 30859d3e58..1e71e91ab2 100644 --- a/selfdrive/car/chrysler/carcontroller.py +++ b/selfdrive/car/chrysler/carcontroller.py @@ -50,9 +50,9 @@ class CarController: # TODO: can we make this more sane? why is it different for all the cars? lkas_control_bit = self.lkas_control_bit_prev if self.CP.carFingerprint in RAM_DT: - if CS.out.vEgo >= self.CP.minEnableSpeed and CS.out.vEgo <= self.CP.minEnableSpeed + 0.5: + if self.CP.minEnableSpeed <= CS.out.vEgo <= self.CP.minEnableSpeed + 0.5: lkas_control_bit = True - if (self.CP.minEnableSpeed >= 14.5) and (CS.out.gearShifter != 2) : + if (self.CP.minEnableSpeed >= 14.5) and (CS.out.gearShifter != 2): lkas_control_bit = False elif CS.out.vEgo > self.CP.minSteerSpeed: lkas_control_bit = True diff --git a/selfdrive/car/chrysler/interface.py b/selfdrive/car/chrysler/interface.py index b84fbe821f..8eb55d9885 100755 --- a/selfdrive/car/chrysler/interface.py +++ b/selfdrive/car/chrysler/interface.py @@ -147,10 +147,16 @@ class CarInterface(CarInterfaceBase): events, ret = self.create_sp_events(self.CS, ret, events) # Low speed steer alert hysteresis logic - if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 0.5): - self.low_speed_alert = True - elif ret.vEgo > (self.CP.minSteerSpeed + 1.): - self.low_speed_alert = False + if self.CP.carFingerprint in RAM_DT: + if self.CS.out.vEgo >= self.CP.minEnableSpeed: + self.low_speed_alert = False + if (self.CP.minEnableSpeed >= 14.5) and (self.CS.out.gearShifter != car.CarState.GearShifter.drive): + self.low_speed_alert = True + else: + if self.CP.minSteerSpeed > 0. and ret.vEgo < (self.CP.minSteerSpeed + 0.5): + self.low_speed_alert = True + elif ret.vEgo > (self.CP.minSteerSpeed + 1.): + self.low_speed_alert = False if self.low_speed_alert: events.add(car.CarEvent.EventName.belowSteerSpeed)