Ram: Steer to 0/7 MPH support (#157)

* Added support for Ram steer to 0/7

* Made the suggested changes

Also added in additional FW to support the other trucks.

* Spacing

* Spacing

* Match stock

* Match stock

* Reverted FW changes

* Put back the max steer

* Bring back comment

* Unused

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
This commit is contained in:
Vincent Wright
2023-05-30 22:03:18 -04:00
committed by GitHub
parent 2673fbecd0
commit 9cb81a8dac
3 changed files with 13 additions and 7 deletions
+7 -2
View File
@@ -2,7 +2,7 @@ from opendbc.can.packer import CANPacker
from common.realtime import DT_CTRL
from selfdrive.car import apply_meas_steer_torque_limits
from selfdrive.car.chrysler.chryslercan import create_lkas_hud, create_lkas_command, create_cruise_buttons
from selfdrive.car.chrysler.values import RAM_CARS, CarControllerParams, ChryslerFlags
from selfdrive.car.chrysler.values import RAM_CARS, RAM_DT, CarControllerParams, ChryslerFlags
class CarController:
@@ -49,7 +49,12 @@ 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 CS.out.vEgo > self.CP.minSteerSpeed:
if self.CP.carFingerprint in RAM_DT:
if CS.out.vEgo >= self.CP.minEnableSpeed and CS.out.vEgo <= self.CP.minEnableSpeed + 0.5:
lkas_control_bit = True
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
elif self.CP.flags & ChryslerFlags.HIGHER_MIN_STEERING_SPEED:
if CS.out.vEgo < (self.CP.minSteerSpeed - 3.0):
+5 -4
View File
@@ -62,10 +62,11 @@ class CarInterface(CarInterfaceBase):
ret.wheelbase = 3.88
ret.steerRatio = 16.3
ret.mass = 2493. + STD_CARGO_KG
ret.minSteerSpeed = 14.5
# Older EPS FW allow steer to zero
if any(fw.ecu == 'eps' and fw.fwVersion[:4] <= b"6831" for fw in car_fw):
ret.minSteerSpeed = 0.
ret.minSteerSpeed = 0.5
ret.minEnableSpeed = 14.5
# Certain EPS FW allow steer to zero
if any(fw.ecu == 'eps' and (fw.fwVersion[:4] <= b"6831" or fw.fwVersion[:4] <= b"6827") for fw in car_fw):
ret.minEnableSpeed = 0.
elif candidate == CAR.RAM_HD:
ret.steerActuatorDelay = 0.2
+1 -1
View File
@@ -43,7 +43,7 @@ class CarControllerParams:
elif CP.carFingerprint in RAM_DT:
self.STEER_DELTA_UP = 6
self.STEER_DELTA_DOWN = 6
self.STEER_MAX = 261 # EPS allows more, up to 350?
self.STEER_MAX = 350 # EPS allows more, up to 350?
else:
self.STEER_DELTA_UP = 3
self.STEER_DELTA_DOWN = 3