Nissan mph bit (#1609)

* Added MPH bit for Rogue/XTrail

* Init seatbeltUnlatched as True
pull/1620/head
Andre Volmensky 5 years ago committed by GitHub
parent c9dbaf821c
commit 843b2940c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      selfdrive/car/nissan/carstate.py

@ -11,6 +11,7 @@ class CarState(CarStateBase):
def __init__(self, CP):
super().__init__(CP)
can_define = CANDefine(DBC[CP.carFingerprint]['pt'])
self.seatbeltUnlatched = True
self.shifter_values = can_define.dv["GEARBOX"]["GEAR_SHIFTER"]
@ -44,20 +45,18 @@ class CarState(CarStateBase):
ret.cruiseState.enabled = bool(cp_adas.vl["CRUISE_STATE"]["CRUISE_ENABLED"])
if self.CP.carFingerprint in [CAR.ROGUE, CAR.XTRAIL]:
ret.seatbeltUnlatched = cp.vl["HUD"]["SEATBELT_DRIVER_LATCHED"] == 0
ret.cruiseState.available = bool(cp_cam.vl["PRO_PILOT"]["CRUISE_ON"])
elif self.CP.carFingerprint == CAR.LEAF:
ret.seatbeltUnlatched = cp.vl["SEATBELT"]["SEATBELT_DRIVER_LATCHED"] == 0
ret.cruiseState.available = bool(cp.vl["CRUISE_THROTTLE"]["CRUISE_AVAILABLE"])
# TODO: Find mph/kph bit on XTRAIL until then, assume xtrail is kph.
# Unable to change kph to mph on the xtrail, need a rogue to test it on
speed = cp_adas.vl["PROPILOT_HUD"]["SET_SPEED"]
if speed != 255:
if self.CP.carFingerprint == CAR.XTRAIL:
conversion = CV.KPH_TO_MS
elif self.CP.carFingerprint == CAR.ROGUE:
conversion = CV.MPH_TO_MS
else:
if self.CP.carFingerprint == CAR.LEAF:
conversion = CV.MPH_TO_MS if cp.vl["HUD_SETTINGS"]["SPEED_MPH"] else CV.KPH_TO_MS
else:
conversion = CV.MPH_TO_MS if cp.vl["HUD"]["SPEED_MPH"] else CV.KPH_TO_MS
speed -= 1 # Speed on HUD is always 1 lower than actually sent on can bus
ret.cruiseState.speed = speed * conversion
@ -74,8 +73,6 @@ class CarState(CarStateBase):
cp.vl["DOORS_LIGHTS"]["DOOR_OPEN_FR"],
cp.vl["DOORS_LIGHTS"]["DOOR_OPEN_FL"]])
ret.seatbeltUnlatched = cp.vl["SEATBELT"]["SEATBELT_DRIVER_LATCHED"] == 0
ret.espDisabled = bool(cp.vl["ESP"]["ESP_DISABLED"])
can_gear = int(cp.vl["GEARBOX"]["GEAR_SHIFTER"])
@ -115,8 +112,6 @@ class CarState(CarStateBase):
("RIGHT_BLINKER", "LIGHTS", 0),
("LEFT_BLINKER", "LIGHTS", 0),
("SEATBELT_DRIVER_LATCHED", "SEATBELT", 0),
("ESP_DISABLED", "ESP", 0),
("GEAR_SHIFTER", "GEARBOX", 0),
@ -137,6 +132,8 @@ class CarState(CarStateBase):
("BRAKE_LIGHT", "DOORS_LIGHTS", 1),
("GAS_PEDAL", "GAS_PEDAL", 0),
("SEATBELT_DRIVER_LATCHED", "HUD", 0),
("SPEED_MPH", "HUD", 0),
("PROPILOT_BUTTON", "CRUISE_THROTTLE", 0),
("CANCEL_BUTTON", "CRUISE_THROTTLE", 0),
@ -165,6 +162,7 @@ class CarState(CarStateBase):
("GAS_PEDAL", "CRUISE_THROTTLE", 0),
("CRUISE_AVAILABLE", "CRUISE_THROTTLE", 0),
("SPEED_MPH", "HUD_SETTINGS", 0),
("SEATBELT_DRIVER_LATCHED", "SEATBELT", 0),
# Copy other values, we use this to cancel
("CANCEL_SEATBELT", "CANCEL_MSG", 0),

Loading…
Cancel
Save