From 9d82d128ec9f55e157d033ee5401c12faa472009 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Thu, 23 May 2024 17:39:58 +0000 Subject: [PATCH] SP-35: Driving Model Selector: Reset all related params if branches/remote have changed --- common/params.cc | 17 +++++++++-------- common/params.h | 1 + selfdrive/manager/manager.py | 6 ++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/common/params.cc b/common/params.cc index 920dd564da..9e9c6364a7 100644 --- a/common/params.cc +++ b/common/params.cc @@ -227,7 +227,7 @@ std::unordered_map keys = { {"CarModelText", PERSISTENT | BACKUP}, {"ChevronInfo", PERSISTENT | BACKUP}, {"CustomBootScreen", PERSISTENT | BACKUP}, - {"CustomDrivingModel", PERSISTENT}, + {"CustomDrivingModel", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, {"CustomMapboxTokenPk", PERSISTENT | BACKUP}, {"CustomMapboxTokenSk", PERSISTENT | BACKUP}, {"CustomOffsets", PERSISTENT | BACKUP}, @@ -236,11 +236,10 @@ std::unordered_map keys = { {"DevUIInfo", PERSISTENT | BACKUP}, {"DisableOnroadUploads", PERSISTENT | BACKUP}, {"DisengageLateralOnBrake", PERSISTENT | BACKUP}, - {"DrivingModelGeneration", PERSISTENT}, - {"DrivingModelMetadataText", PERSISTENT}, - {"DrivingModelName", PERSISTENT}, - {"DrivingModelText", PERSISTENT}, - {"DrivingModelUrl", PERSISTENT}, + {"DrivingModelGeneration", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, + {"DrivingModelMetadataText", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, + {"DrivingModelName", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, + {"DrivingModelText", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, {"DynamicExperimentalControl", PERSISTENT | BACKUP}, {"DynamicLaneProfile", PERSISTENT | BACKUP}, {"EnableAmap", PERSISTENT | BACKUP}, @@ -263,6 +262,8 @@ std::unordered_map keys = { {"HotspotOnBoot", PERSISTENT}, {"HotspotOnBootConfirmed", PERSISTENT}, {"LastCarModel", PERSISTENT | BACKUP}, + {"LastGitBranch", PERSISTENT}, + {"LastGitRemote", PERSISTENT}, {"LastSpeedLimitSignTap", PERSISTENT}, {"LastSunnylinkPingTime", CLEAR_ON_MANAGER_START}, {"LiveTorque", PERSISTENT | BACKUP}, @@ -274,8 +275,7 @@ std::unordered_map keys = { {"MapTargetVelocities", PERSISTENT}, {"Map3DBuildings", PERSISTENT | BACKUP}, {"MaxTimeOffroad", PERSISTENT | BACKUP}, - {"NavModelText", PERSISTENT | BACKUP}, - {"NavModelUrl", PERSISTENT | BACKUP}, + {"NavModelText", PERSISTENT | CLEAR_ON_BRANCH_SWITCH}, {"NNFF", PERSISTENT | BACKUP}, {"NNFFCarModel", PERSISTENT | BACKUP}, {"OnroadScreenOff", PERSISTENT | BACKUP}, @@ -323,6 +323,7 @@ std::unordered_map keys = { {"VisionCurveLaneless", PERSISTENT | BACKUP}, {"VwAccType", PERSISTENT | BACKUP}, {"VwCCOnly", PERSISTENT | BACKUP}, + {"Offroad_BranchSwitchResetParams", CLEAR_ON_MANAGER_START}, // TODO: SP: use this for alert on main menu {"Offroad_ForceStatus", CLEAR_ON_MANAGER_START}, {"Offroad_SupersededUpdate", PERSISTENT}, diff --git a/common/params.h b/common/params.h index b40371f976..da64f73eb7 100644 --- a/common/params.h +++ b/common/params.h @@ -17,6 +17,7 @@ enum ParamKeyType { DONT_LOG = 0x20, DEVELOPMENT_ONLY = 0x40, BACKUP = 0x80, + CLEAR_ON_BRANCH_SWITCH = 0x100, ALL = 0xFFFFFFFF }; diff --git a/selfdrive/manager/manager.py b/selfdrive/manager/manager.py index a527d6d975..5d492051b5 100755 --- a/selfdrive/manager/manager.py +++ b/selfdrive/manager/manager.py @@ -32,6 +32,9 @@ def manager_init() -> None: if build_metadata.release_channel: params.clear_all(ParamKeyType.DEVELOPMENT_ONLY) + if params.get("LastGitBranch") != build_metadata.channel or params.get("LastGitRemote") != build_metadata.openpilot.git_origin: + params.clear_all(ParamKeyType.CLEAR_ON_BRANCH_SWITCH) + default_params: list[tuple[str, str | bytes]] = [ ("CompletedTrainingVersion", "0"), ("DisengageOnAccelerator", "0"), @@ -56,6 +59,7 @@ def manager_init() -> None: ("ChevronInfo", "1"), ("MadsCruiseMain", "1"), ("CustomBootScreen", "0"), + ("CustomDrivingModel", "0"), ("CustomOffsets", "0"), ("DevUIInfo", "0"), ("DisableOnroadUploads", "0"), @@ -137,6 +141,8 @@ def manager_init() -> None: params.put("GitCommitDate", build_metadata.openpilot.git_commit_date) params.put("GitBranch", build_metadata.channel) params.put("GitRemote", build_metadata.openpilot.git_origin) + params.put("LastGitBranch", build_metadata.channel) + params.put("LastGitRemote", build_metadata.openpilot.git_origin) params.put_bool("IsTestedBranch", build_metadata.tested_channel) params.put_bool("IsReleaseBranch", build_metadata.release_channel) params.put_bool("IsReleaseSPBranch", build_metadata.release_sp_channel)