diff --git a/selfdrive/car/nissan/carstate.py b/selfdrive/car/nissan/carstate.py index 45156a8cb9..c56e047331 100644 --- a/selfdrive/car/nissan/carstate.py +++ b/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),