diff --git a/common/params.cc b/common/params.cc index 2956079..a2366bb 100644 --- a/common/params.cc +++ b/common/params.cc @@ -461,6 +461,9 @@ std::unordered_map keys = { {"WarningSoftVolume", PERSISTENT}, {"WheelIcon", PERSISTENT}, {"WheelSpeed", PERSISTENT}, + + // Clearpilot + {"no_lat_lane_change", PERSISTENT}, }; } // namespace diff --git a/selfdrive/controls/controlsd.py b/selfdrive/controls/controlsd.py index 2b42759..2a5221a 100644 --- a/selfdrive/controls/controlsd.py +++ b/selfdrive/controls/controlsd.py @@ -637,8 +637,13 @@ class Controls: if model_v2.meta.laneChangeState != LaneChangeState.off: CC.leftBlinker = model_v2.meta.laneChangeDirection == LaneChangeDirection.left CC.rightBlinker = model_v2.meta.laneChangeDirection == LaneChangeDirection.right - if clearpilot_disable_lat_on_lane_change: - CC.latActive = False + + if model_v2.meta.laneChangeState == LaneChangeState.laneChangeStarting and clearpilot_disable_lat_on_lane_change: + CC.latActive = False + self.params_memory.put_int("no_lat_lane_change", 1) + # self.params_memory.put_int("CurrentRandomEvent", 1) + else: + self.params_memory.put_int("no_lat_lane_change", 0) if CS.leftBlinker or CS.rightBlinker: self.last_blinker_frame = self.sm.frame diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index 6fbc840..9b04030 100644 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -109,6 +109,11 @@ void OnroadWindow::updateState(const UIState &s) { nvg->updateState(s); + // Clearpilot + if (paramsMemory.getInt("no_lat_lane_change") == 1) { + bg = bg_colors[STATUS_DISENGAGED] + } + if (bg != bgColor) { // repaint border bg = bgColor;