Switch to ECMPRDNL2 for GM gear

pull/24764/head
Jason Shuler 3 years ago
parent 397da56c85
commit 632839085d
  1. 2
      cereal
  2. 13
      selfdrive/car/gm/carstate.py
  3. 4
      selfdrive/car/gm/interface.py

@ -1 +1 @@
Subproject commit 7cbb4f1c8cb7cfc798a058c611801442b40feb52
Subproject commit 725c43dcda2f67a0c186c7f378cd9999972ef292

@ -10,7 +10,7 @@ class CarState(CarStateBase):
def __init__(self, CP):
super().__init__(CP)
can_define = CANDefine(DBC[CP.carFingerprint]["pt"])
self.shifter_values = can_define.dv["ECMPRDNL"]["PRNDL"]
self.shifter_values = can_define.dv["ECMPRDNL2"]["PRNDL2"]
self.lka_steering_cmd_counter = 0
def update(self, pt_cp, loopback_cp):
@ -28,7 +28,11 @@ class CarState(CarStateBase):
ret.vEgoRaw = mean([ret.wheelSpeeds.fl, ret.wheelSpeeds.fr, ret.wheelSpeeds.rl, ret.wheelSpeeds.rr])
ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw)
ret.standstill = ret.vEgoRaw < 0.01
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(pt_cp.vl["ECMPRDNL"]["PRNDL"], None))
if pt_cp.vl["ECMPRDNL2"]["ManualMode"] == 1:
ret.gearShifter = self.parse_gear_shifter("T")
ret.manumaticGear = pt_cp.vl["ECMPRDNL2"]["PRNDL2"]
else:
ret.gearShifter = self.parse_gear_shifter(self.shifter_values.get(pt_cp.vl["ECMPRDNL2"]["PRNDL2"], None))
# Brake pedal's potentiometer returns near-zero reading even when pedal is not pressed.
ret.brake = pt_cp.vl["EBCMBrakePedalPosition"]["BrakePedalPosition"] / 0xd0
@ -95,7 +99,8 @@ class CarState(CarStateBase):
("FRWheelSpd", "EBCMWheelSpdFront"),
("RLWheelSpd", "EBCMWheelSpdRear"),
("RRWheelSpd", "EBCMWheelSpdRear"),
("PRNDL", "ECMPRDNL"),
("PRNDL2", "ECMPRDNL2"),
("ManualMode", "ECMPRDNL2"),
("LKADriverAppldTrq", "PSCMStatus"),
("LKATorqueDelivered", "PSCMStatus"),
("LKATorqueDeliveredStatus", "PSCMStatus"),
@ -106,7 +111,7 @@ class CarState(CarStateBase):
checks = [
("BCMTurnSignals", 1),
("ECMPRDNL", 10),
("ECMPRDNL2", 10),
("PSCMStatus", 10),
("ESPStatus", 10),
("BCMDoorBeltStatus", 10),

@ -9,6 +9,7 @@ from selfdrive.car.interfaces import CarInterfaceBase
ButtonType = car.CarState.ButtonEvent.Type
EventName = car.CarEvent.EventName
GearShifter = car.CarState.GearShifter
BUTTONS_DICT = {CruiseButtons.RES_ACCEL: ButtonType.accelCruise, CruiseButtons.DECEL_SET: ButtonType.decelCruise,
CruiseButtons.MAIN: ButtonType.altButton3, CruiseButtons.CANCEL: ButtonType.cancel}
@ -173,7 +174,8 @@ class CarInterface(CarInterfaceBase):
ret.buttonEvents = [be]
events = self.create_common_events(ret, pcm_enable=False)
events = self.create_common_events(ret, extra_gears = [GearShifter.sport, GearShifter.low,
GearShifter.eco, GearShifter.manumatic], pcm_enable=False)
if ret.vEgo < self.CP.minEnableSpeed:
events.add(EventName.belowEngageSpeed)

Loading…
Cancel
Save