From 071fd84734d1627a09ec9efb7869abfdbf8b2f4e Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:29:34 -0700 Subject: [PATCH] Disable uploading while onroad Added toggle to disable uploading to connect.comma.ai while driving and without a WiFi connection. --- common/params.cc | 1 + selfdrive/frogpilot/ui/qt/offroad/control_settings.cc | 1 + selfdrive/frogpilot/ui/qt/offroad/control_settings.h | 2 +- system/loggerd/uploader.py | 3 ++- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/common/params.cc b/common/params.cc index e5adbbc75..ade7dd91f 100644 --- a/common/params.cc +++ b/common/params.cc @@ -249,6 +249,7 @@ std::unordered_map keys = { {"DecelerationProfile", PERSISTENT}, {"DeviceManagement", PERSISTENT}, {"DeviceShutdown", PERSISTENT}, + {"DisableOnroadUploads", PERSISTENT}, {"DisableOpenpilotLongitudinal", PERSISTENT}, {"DisengageVolume", PERSISTENT}, {"DynamicPathWidth", PERSISTENT}, diff --git a/selfdrive/frogpilot/ui/qt/offroad/control_settings.cc b/selfdrive/frogpilot/ui/qt/offroad/control_settings.cc index 1403cc655..87992fed0 100644 --- a/selfdrive/frogpilot/ui/qt/offroad/control_settings.cc +++ b/selfdrive/frogpilot/ui/qt/offroad/control_settings.cc @@ -36,6 +36,7 @@ FrogPilotControlsPanel::FrogPilotControlsPanel(SettingsWindow *parent) : FrogPil {"AggressiveAcceleration", tr("Increase Acceleration Behind Faster Lead"), tr("Increase aggressiveness when following a faster lead."), ""}, {"QOLControls", tr("Quality of Life"), tr("Miscellaneous quality of life changes to improve your overall openpilot experience."), "../frogpilot/assets/toggle_icons/quality_of_life.png"}, + {"DisableOnroadUploads", tr("Disable Onroad Uploads"), tr("Prevent uploads to comma connect unless you're offroad and connected to Wi-Fi."), ""}, }; for (const auto &[param, title, desc, icon] : controlToggles) { diff --git a/selfdrive/frogpilot/ui/qt/offroad/control_settings.h b/selfdrive/frogpilot/ui/qt/offroad/control_settings.h index bd5d4fe2b..baff29f98 100644 --- a/selfdrive/frogpilot/ui/qt/offroad/control_settings.h +++ b/selfdrive/frogpilot/ui/qt/offroad/control_settings.h @@ -39,7 +39,7 @@ private: std::set lateralTuneKeys = {}; std::set longitudinalTuneKeys = {"AccelerationProfile", "AggressiveAcceleration", "DecelerationProfile"}; std::set mtscKeys = {}; - std::set qolKeys = {}; + std::set qolKeys = {"DisableOnroadUploads"}; std::set speedLimitControllerKeys = {}; std::set speedLimitControllerControlsKeys = {}; std::set speedLimitControllerQOLKeys = {}; diff --git a/system/loggerd/uploader.py b/system/loggerd/uploader.py index 832a22779..fdf6cd804 100755 --- a/system/loggerd/uploader.py +++ b/system/loggerd/uploader.py @@ -250,7 +250,8 @@ def main(exit_event: threading.Event = None) -> None: sm.update(0) offroad = params.get_bool("IsOffroad") network_type = sm['deviceState'].networkType if not force_wifi else NetworkType.wifi - if network_type == NetworkType.none: + at_home = not params.get_bool("DisableOnroadUploads") or offroad and network_type in (NetworkType.ethernet, NetworkType.wifi) + if network_type == NetworkType.none or not at_home: if allow_sleep: time.sleep(60 if offroad else 5) continue