diff --git a/common/params.cc b/common/params.cc index 0dc29a43d..62d71d31e 100644 --- a/common/params.cc +++ b/common/params.cc @@ -226,6 +226,7 @@ std::unordered_map keys = { {"dp_nav_traffic", PERSISTENT}, {"dp_toyota_auto_lock", PERSISTENT}, {"dp_toyota_auto_unlock", PERSISTENT}, + {"dp_device_disable_onroad_uploads", PERSISTENT}, }; } // namespace diff --git a/system/manager/manager.py b/system/manager/manager.py index 6336b29e7..ef1cf9a61 100755 --- a/system/manager/manager.py +++ b/system/manager/manager.py @@ -58,6 +58,7 @@ def manager_init() -> None: ("dp_nav_traffic", "0"), ("dp_toyota_auto_lock", "0"), ("dp_toyota_auto_unlock", "0"), + ("dp_device_disable_onroad_uploads", "0"), ] if not PC: default_params.append(("LastUpdateTime", datetime.datetime.now(datetime.UTC).replace(tzinfo=None).isoformat().encode('utf8'))) diff --git a/system/manager/process_config.py b/system/manager/process_config.py index ced31077c..0124212f8 100644 --- a/system/manager/process_config.py +++ b/system/manager/process_config.py @@ -7,6 +7,8 @@ from openpilot.system.manager.process import PythonProcess, NativeProcess, Daemo WEBCAM = os.getenv("USE_WEBCAM") is not None +dp_device_disable_onroad_uploads = Params().get_bool("dp_device_disable_onroad_uploads") + def driverview(started: bool, params: Params, CP: car.CarParams) -> bool: return started or params.get_bool("IsDriverViewEnabled") @@ -80,6 +82,7 @@ procs = [ PythonProcess("tombstoned", "system.tombstoned", always_run, enabled=not PC), PythonProcess("updated", "system.updated.updated", only_offroad, enabled=not PC), PythonProcess("uploader", "system.loggerd.uploader", always_run), + PythonProcess("uploader", "system.loggerd.uploader", only_offroad if dp_device_disable_onroad_uploads else always_run), PythonProcess("statsd", "system.statsd", always_run), # debug procs