From 1efed2ed006c68aac11631a85d6ce7212baa866f Mon Sep 17 00:00:00 2001 From: Rick Lan Date: Thu, 27 Jun 2019 13:41:29 +1000 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=AE=8C=E5=85=A8=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E9=A7=95=E9=A7=9B=E7=9B=A3=E6=8E=A7=E9=81=B8=E9=A0=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- selfdrive/controls/lib/driver_monitor.py | 27 ++++++++++--------- .../dragonpilot/dragonconf/dragonconf.py | 9 +++++++ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/selfdrive/controls/lib/driver_monitor.py b/selfdrive/controls/lib/driver_monitor.py index 814d77a6a..ef008bdf5 100644 --- a/selfdrive/controls/lib/driver_monitor.py +++ b/selfdrive/controls/lib/driver_monitor.py @@ -2,6 +2,8 @@ import numpy as np from common.realtime import sec_since_boot from selfdrive.controls.lib.drive_helpers import create_event, EventTypes as ET from common.filter_simple import FirstOrderFilter +from selfdrive.dragonpilot.dragonconf.dragonconf import dragonconf +dragonconf = dragonconf() _DT = 0.01 # update runs at 100Hz _DTM = 0.1 # DM runs at 10Hz @@ -145,18 +147,19 @@ class DriverStatus(): not (standstill and self.awareness - self.step_change <= self.threshold_prompt): self.awareness = max(self.awareness - self.step_change, -0.1) - alert = None - if self.awareness <= 0.: - # terminal red alert: disengagement required - alert = 'driverDistracted' if self.monitor_on else 'driverUnresponsive' - elif self.awareness <= self.threshold_prompt: - # prompt orange alert - alert = 'promptDriverDistracted' if self.monitor_on else 'promptDriverUnresponsive' - elif self.awareness <= self.threshold_pre: - # pre green alert - alert = 'preDriverDistracted' if self.monitor_on else 'preDriverUnresponsive' - if alert is not None: - events.append(create_event(alert, [ET.WARNING])) + if dragonconf.conf["enableDriverMonitor"]: + alert = None + if self.awareness <= 0.: + # terminal red alert: disengagement required + alert = 'driverDistracted' if self.monitor_on else 'driverUnresponsive' + elif self.awareness <= self.threshold_prompt: + # prompt orange alert + alert = 'promptDriverDistracted' if self.monitor_on else 'promptDriverUnresponsive' + elif self.awareness <= self.threshold_pre: + # pre green alert + alert = 'preDriverDistracted' if self.monitor_on else 'preDriverUnresponsive' + if alert is not None: + events.append(create_event(alert, [ET.WARNING])) return events diff --git a/selfdrive/dragonpilot/dragonconf/dragonconf.py b/selfdrive/dragonpilot/dragonconf/dragonconf.py index 1df909081..bf36c0f7c 100644 --- a/selfdrive/dragonpilot/dragonconf/dragonconf.py +++ b/selfdrive/dragonpilot/dragonconf/dragonconf.py @@ -19,12 +19,21 @@ class dragonconf(): config = json.load(f) # add config here + + # Dashcam, default Enable if "enableDashCam" not in config: config["enableDashCam"] = True has_new_def = True if has_new_def: self.write(config) + # Driver Monitor, default Enable + if "enableDriverMonitor" not in config: + config["enableDriverMonitor"] = True + has_new_def = True + if has_new_def: + self.write(config) + return config def write(self, config):