diff --git a/common/params.py b/common/params.py index efcaa756e..04fd8b962 100755 --- a/common/params.py +++ b/common/params.py @@ -82,11 +82,15 @@ keys = { "Version": [TxType.PERSISTENT], #dragonpilot config "DragonEnableDashcam": [TxType.PERSISTENT], - "DragonDisableDriverSafetyCheck": [TxType.PERSISTENT], + "DragonDisableDriverSafetyCheck": [TxType.PERSISTENT], # deprecated + "DragonEnableDriverSafetyCheck": [TxType.PERSISTENT], "DragonAutoShutdownAt": [TxType.PERSISTENT], - "DragonTempDisableSteerOnSignal": [TxType.PERSISTENT], - "DragonDisableLogger": [TxType.PERSISTENT], - "DragonDisableUploader": [TxType.PERSISTENT], + "DragonTempDisableSteerOnSignal": [TxType.PERSISTENT], # deprecated + "DragonEnableSteeringOnSignal": [TxType.PERSISTENT], + "DragonDisableLogger": [TxType.PERSISTENT], # deprecated + "DragonEnableLogger": [TxType.PERSISTENT], + "DragonDisableUploader": [TxType.PERSISTENT], # deprecated + "DragonEnableUploader": [TxType.PERSISTENT], "DragonNoctuaMode": [TxType.PERSISTENT], "DragonCacheCar": [TxType.PERSISTENT], "DragonCachedModel": [TxType.PERSISTENT], diff --git a/selfdrive/car/honda/carcontroller.py b/selfdrive/car/honda/carcontroller.py index 91b944e21..512b2779d 100644 --- a/selfdrive/car/honda/carcontroller.py +++ b/selfdrive/car/honda/carcontroller.py @@ -152,7 +152,7 @@ class CarController(object): can_sends = [] # dragonpilot - if enabled and (CS.left_blinker_on > 0 or CS.right_blinker_on > 0) and params.get("DragonTempDisableSteerOnSignal") == "1": + if enabled and (CS.left_blinker_on > 0 or CS.right_blinker_on > 0) and params.get("DragonEnableSteeringOnSignal") == "1": self.turning_signal_timer = 100 if self.turning_signal_timer > 0: diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py index 28f5443d2..5e108354b 100755 --- a/selfdrive/car/honda/interface.py +++ b/selfdrive/car/honda/interface.py @@ -476,7 +476,7 @@ class CarInterface(object): events.append(create_event('invalidGiraffeHonda', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE, ET.PERMANENT])) if not self.CS.lkMode: events.append(create_event('manualSteeringRequired', [ET.WARNING])) - elif self.CS.lkMode and (self.CS.left_blinker_on or self.CS.right_blinker_on) and params.get("DragonTempDisableSteerOnSignal") == "1": + elif self.CS.lkMode and (self.CS.left_blinker_on or self.CS.right_blinker_on) and params.get("DragonEnableSteeringOnSignal") == "1": events.append(create_event('manualSteeringRequiredBlinkersOn', [ET.WARNING])) elif self.CS.steer_error: events.append(create_event('steerUnavailable', [ET.NO_ENTRY, ET.IMMEDIATE_DISABLE, ET.PERMANENT])) diff --git a/selfdrive/car/toyota/carcontroller.py b/selfdrive/car/toyota/carcontroller.py index be3bd5ecf..9a62990a5 100644 --- a/selfdrive/car/toyota/carcontroller.py +++ b/selfdrive/car/toyota/carcontroller.py @@ -204,7 +204,7 @@ class CarController(object): can_sends = [] # dragonpilot - if enabled and (CS.left_blinker_on or CS.right_blinker_on) and params.get("DragonTempDisableSteerOnSignal") == "1": + if enabled and (CS.left_blinker_on or CS.right_blinker_on) and params.get("DragonEnableSteeringOnSignal") == "1": self.turning_signal_timer = 100 if self.turning_signal_timer > 0: diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py index 7f3f7bb78..44cb89068 100755 --- a/selfdrive/car/toyota/interface.py +++ b/selfdrive/car/toyota/interface.py @@ -349,7 +349,7 @@ class CarInterface(object): events.append(create_event('wrongCarMode', [ET.NO_ENTRY, ET.USER_DISABLE])) if ret.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 params.get("DragonTempDisableSteerOnSignal") == "1": + if (self.CS.left_blinker_on or self.CS.right_blinker_on) and params.get("DragonEnableSteeringOnSignal") == "1": events.append(create_event('manualSteeringRequiredBlinkersOn', [ET.WARNING])) elif self.CS.steer_error: events.append(create_event('steerTempUnavailable', [ET.NO_ENTRY, ET.WARNING])) diff --git a/selfdrive/controls/lib/driver_monitor.py b/selfdrive/controls/lib/driver_monitor.py index cb7b34fe1..5ffde39ed 100644 --- a/selfdrive/controls/lib/driver_monitor.py +++ b/selfdrive/controls/lib/driver_monitor.py @@ -160,7 +160,7 @@ class DriverStatus(): elif self.awareness <= self.threshold_pre: # pre green alert alert = 'preDriverDistracted' if self.monitor_on else 'preDriverUnresponsive' - if params.get("DragonDisableDriverSafetyCheck") == "0" and alert is not None: + if alert is not None and params.get("DragonEnableDriverSafetyCheck") == "1": events.append(create_event(alert, [ET.WARNING])) return events diff --git a/selfdrive/dragonpilot/dragonconf/__init__.py b/selfdrive/dragonpilot/dragonconf/__init__.py index d1f94bda0..6bdb0179f 100644 --- a/selfdrive/dragonpilot/dragonconf/__init__.py +++ b/selfdrive/dragonpilot/dragonconf/__init__.py @@ -1,5 +1,6 @@ #!/usr/bin/env python2.7 -# import os +import os +from common.params import Params # import json # file = '/data/dragonpilot.json' @@ -7,11 +8,15 @@ default_conf = { 'DragonEnableDashcam': '1', - 'DragonDisableDriverSafetyCheck': '0', + 'DragonDisableDriverSafetyCheck': '0', # deprecated + 'DragonEnableDriverSafetyCheck': '1', 'DragonAutoShutdownAt': '30', # in minute - 'DragonTempDisableSteerOnSignal': '0', - 'DragonDisableLogger': '0', - 'DragonDisableUploader': '0', + 'DragonTempDisableSteerOnSignal': '0', # deprecated + 'DragonEnableSteeringOnSignal': '0', + 'DragonDisableLogger': '0', # deprecated + 'DragonEnableLogger': '1', + 'DragonDisableUploader': '0', # deprecated + 'DragonEnableUploader': '1', 'DragonNoctuaMode': '0', 'DragonCacheCar': '1', 'DragonCachedModel': '', # for cache car @@ -21,8 +26,39 @@ default_conf = { 'DragonBBUI': '0', } +deprecated_conf = { + 'DragonDisableDriverSafetyCheck': 'DragonEnableDriverSafetyCheck', + 'DragonTempDisableSteerOnSignal': 'DragonEnableSteeringOnSignal', + 'DragonDisableLogger': 'DragonEnableLogger', + 'DragonDisableUploader': 'DragonEnableUploader', +} + +deprecated_conf_invert = { + 'DragonDisableDriverSafetyCheck': True, + 'DragonTempDisableSteerOnSignal': False, + 'DragonDisableLogger': True, + 'DragonDisableUploader': True, +} + def dragonpilot_set_params(params): + # remove deprecated params + for old, new in deprecated_conf.items(): + if params.get(old) is not None: + old_val = str(params.get(old)) + new_val = old_val + # invert the value if true + if old in deprecated_conf_invert and deprecated_conf_invert[old] is True: + new_val = "1" if old_val == "0" else "0" + params.put(new, new_val) + params.delete(old) + # set params for key, val in default_conf.items(): - if params.get(key) is None: + if params.get(key) is None and key not in deprecated_conf: params.put(key, str(val)) + +if __name__ == "__main__": + params = Params() + params.manager_start() + + dragonpilot_set_params(params) \ No newline at end of file diff --git a/selfdrive/manager.py b/selfdrive/manager.py index 486cacd36..802493bd9 100755 --- a/selfdrive/manager.py +++ b/selfdrive/manager.py @@ -591,11 +591,11 @@ def main(): cwd=os.path.join(BASEDIR, "selfdrive", "ui", "spinner"), close_fds=True) - if params.get("DragonDisableLogger") == "1": + if params.get("DragonEnableLogger") == "0": del managed_processes['loggerd'] del managed_processes['tombstoned'] - if params.get("DragonDisableUploader") == "1": + if params.get("DragonEnableUploader") == "0": del managed_processes['uploader'] try: