From e5281a98fa7ec249ac017bca21604788ea0c13a2 Mon Sep 17 00:00:00 2001 From: dragonpilot Date: Wed, 9 Oct 2019 14:43:24 +1000 Subject: [PATCH] Add warning when LatCtrl is off --- selfdrive/car/honda/interface.py | 4 +++- selfdrive/car/toyota/interface.py | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index bc35baeef..d743fee57 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -104,6 +104,7 @@ class CarInterface(object): self.dragon_enable_steering_on_signal = False self.dragon_allow_gas = False self.ts_last_check = 0. + self.dragon_lat_ctrl = True @staticmethod def calc_accel_override(a_ego, a_target, v_ego, v_target): @@ -387,6 +388,7 @@ class CarInterface(object): if ts - self.ts_last_check > 5.: self.dragon_enable_steering_on_signal = False if params.get("DragonEnableSteeringOnSignal") == "0" else True self.dragon_allow_gas = False if params.get("DragonAllowGas") == "0" else True + self.dragon_lat_ctrl = False if params.get("DragonLatCtrl") == "0" else True self.ts_last_check = ts # ******************* do can recv ******************* @@ -503,7 +505,7 @@ class CarInterface(object): # wait 1.0s before throwing the alert to avoid it popping when you turn off the car if self.cp_cam.can_invalid_cnt >= 100 and self.CS.CP.carFingerprint not in HONDA_BOSCH and self.CP.enableCamera: events.append(create_event('invalidGiraffeHonda', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE, ET.PERMANENT])) - if not self.CS.lkMode: + if not self.CS.lkMode or not self.dragon_lat_ctrl: events.append(create_event('manualSteeringRequired', [ET.WARNING])) elif self.CS.lkMode and (self.CS.left_blinker_on or self.CS.right_blinker_on) and self.dragon_enable_steering_on_signal: events.append(create_event('manualSteeringRequiredBlinkersOn', [ET.WARNING])) diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py index 9a7e1583e..47d4c33f9 100755 --- a/selfdrive/car/toyota/interface.py +++ b/selfdrive/car/toyota/interface.py @@ -41,6 +41,7 @@ class CarInterface(object): self.dragon_enable_steering_on_signal = False self.dragon_allow_gas = False self.ts_last_check = 0. + self.dragon_lat_ctrl = True @staticmethod def compute_gb(accel, speed): @@ -315,7 +316,8 @@ class CarInterface(object): if ts - self.ts_last_check > 5.: self.dragon_enable_steering_on_signal = False if params.get("DragonEnableSteeringOnSignal") == "0" else True self.dragon_allow_gas = False if params.get("DragonAllowGas") == "0" else True - self.dragon_toyota_stock_dsu = False if params.get("DragonToyotaStockDSU") == "0" else True + self.dragon_toyota_stock_dsu = True if params.get("DragonToyotaStockDSU") == "1" else False + self.dragon_lat_ctrl = False if params.get("DragonLatCtrl") == "0" else True self.ts_last_check = ts # ******************* do can recv ******************* @@ -420,7 +422,9 @@ class CarInterface(object): events.append(create_event('wrongCarMode', [ET.NO_ENTRY, ET.USER_DISABLE])) if ret.gearShifter == GearShifter.reverse and self.CP.enableDsu: events.append(create_event('reverseGear', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE])) - if (self.CS.left_blinker_on or self.CS.right_blinker_on) and self.dragon_enable_steering_on_signal: + if not self.dragon_lat_ctrl: + events.append(create_event('manualSteeringRequired', [ET.WARNING])) + elif (self.CS.left_blinker_on or self.CS.right_blinker_on) and self.dragon_enable_steering_on_signal: events.append(create_event('manualSteeringRequiredBlinkersOn', [ET.WARNING])) elif self.CS.steer_error: events.append(create_event('steerTempUnavailable', [ET.NO_ENTRY, ET.WARNING]))