From 8ebe9b69afb24cd7d88a9459d5110b072c138ee4 Mon Sep 17 00:00:00 2001 From: James Vecellio-Grant <159560811+Discountchubbs@users.noreply.github.com> Date: Thu, 25 Sep 2025 07:11:51 -0700 Subject: [PATCH 1/2] bug: fix Speed Limit Resolver initialization (#1285) bug: fix speedlimitresolver init --- .../controls/lib/speed_limit/speed_limit_resolver.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_resolver.py b/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_resolver.py index f145b16c10..51fb8f6d64 100644 --- a/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_resolver.py +++ b/sunnypilot/selfdrive/controls/lib/speed_limit/speed_limit_resolver.py @@ -57,6 +57,12 @@ class SpeedLimitResolver: self.offset_type = self.params.get("SpeedLimitOffsetType", return_default=True) self.offset_value = self.params.get("SpeedLimitValueOffset", return_default=True) + self.speed_limit = 0. + self.speed_limit_last = 0. + self.speed_limit_final = 0. + self.speed_limit_final_last = 0. + self.speed_limit_offset = 0. + def update_speed_limit_states(self) -> None: self.speed_limit_final = self.speed_limit + self.speed_limit_offset From db65937fc72644daf1485f3b11d82bccf5cac3dd Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Thu, 25 Sep 2025 19:15:36 -0400 Subject: [PATCH 2/2] Revert "ui: generic check with ICBM param" (#1286) Revert "ui: generic check with ICBM param (#1274)" This reverts commit d5a873ed8617cefd691509c9cc5dc4ec7ea42ff4. --- .../qt/offroad/settings/longitudinal_panel.cc | 10 ++++------ .../qt/offroad/settings/longitudinal_panel.h | 3 +-- selfdrive/ui/sunnypilot/qt/util.cc | 4 ---- selfdrive/ui/sunnypilot/qt/util.h | 1 - 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.cc index 8987f38514..3e3977ff64 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.cc +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.cc @@ -87,7 +87,6 @@ void LongitudinalPanel::showEvent(QShowEvent *event) { } void LongitudinalPanel::refresh(bool _offroad) { - auto icbm_available = false; auto cp_bytes = params.get("CarParamsPersistent"); auto cp_sp_bytes = params.get("CarParamsSPPersistent"); if (!cp_bytes.empty() && !cp_sp_bytes.empty()) { @@ -100,12 +99,11 @@ void LongitudinalPanel::refresh(bool _offroad) { has_longitudinal_control = hasLongitudinalControl(CP); is_pcm_cruise = CP.getPcmCruise(); - icbm_available = CP_SP.getIntelligentCruiseButtonManagementAvailable(); - has_intelligent_cruise_button_management = hasIntelligentCruiseButtonManagement(CP_SP); + intelligent_cruise_button_management_available = CP_SP.getIntelligentCruiseButtonManagementAvailable(); } else { has_longitudinal_control = false; is_pcm_cruise = false; - has_intelligent_cruise_button_management = false; + intelligent_cruise_button_management_available = false; } QString accEnabledDescription = tr("Enable custom Short & Long press increments for cruise speed increase/decrease."); @@ -117,7 +115,7 @@ void LongitudinalPanel::refresh(bool _offroad) { customAccIncrement->setDescription(onroadOnlyDescription); customAccIncrement->showDescription(); } else { - if (has_longitudinal_control || icbm_available) { + if (has_longitudinal_control || intelligent_cruise_button_management_available) { if (is_pcm_cruise) { customAccIncrement->setDescription(accPcmCruiseDisabledDescription); customAccIncrement->showDescription(); @@ -134,7 +132,7 @@ void LongitudinalPanel::refresh(bool _offroad) { } } - bool icbm_allowed = has_intelligent_cruise_button_management && !has_longitudinal_control; + bool icbm_allowed = intelligent_cruise_button_management_available && !has_longitudinal_control; intelligentCruiseButtonManagement->setEnabled(icbm_allowed && offroad); // enable toggle when long is available and is not PCM cruise diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.h b/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.h index 2fd15e955c..0b7f39c645 100644 --- a/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.h +++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal_panel.h @@ -7,7 +7,6 @@ #pragma once -#include "selfdrive/ui/sunnypilot/qt/util.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal/custom_acc_increment.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/longitudinal/speed_limit/speed_limit_settings.h" #include "selfdrive/ui/sunnypilot/qt/offroad/settings/settings.h" @@ -25,7 +24,7 @@ private: Params params; bool has_longitudinal_control = false; bool is_pcm_cruise = false; - bool has_intelligent_cruise_button_management = false;; + bool intelligent_cruise_button_management_available = false;; bool offroad = false; QStackedLayout *main_layout = nullptr; diff --git a/selfdrive/ui/sunnypilot/qt/util.cc b/selfdrive/ui/sunnypilot/qt/util.cc index eaf05942a9..2e066e88b5 100644 --- a/selfdrive/ui/sunnypilot/qt/util.cc +++ b/selfdrive/ui/sunnypilot/qt/util.cc @@ -123,7 +123,3 @@ std::optional loadCerealEvent(Params& params, const std:: return std::nullopt; } } - -bool hasIntelligentCruiseButtonManagement(const cereal::CarParamsSP::Reader &car_params_sp) { - return car_params_sp.getIntelligentCruiseButtonManagementAvailable() && Params().getBool("IntelligentCruiseButtonManagement"); -} diff --git a/selfdrive/ui/sunnypilot/qt/util.h b/selfdrive/ui/sunnypilot/qt/util.h index 60a73615ba..4b9d615ce5 100644 --- a/selfdrive/ui/sunnypilot/qt/util.h +++ b/selfdrive/ui/sunnypilot/qt/util.h @@ -23,4 +23,3 @@ std::optional getParamIgnoringDefault(const std::string ¶m_name, co QMap loadPlatformList(); QStringList searchFromList(const QString &query, const QStringList &list); std::optional loadCerealEvent(Params& params, const std::string& _param); -bool hasIntelligentCruiseButtonManagement(const cereal::CarParamsSP::Reader &car_params_sp);