diff --git a/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc b/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc
index ee42547566..321acec2fc 100644
--- a/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc
+++ b/selfdrive/ui/sunnypilot/qt/offroad/settings/settings.cc
@@ -31,6 +31,12 @@ TogglesPanelSP::TogglesPanelSP(SettingsWindow *parent) : TogglesPanel(parent) {
tr("When enabled, sunnypilot will attempt to control stock longitudinal control with ACC button presses.\nThis feature must be used along with SLC, and/or V-TSC, and/or M-TSC."),
"../assets/offroad/icon_blank.png",
},
+ {
+ "CustomStockLongPlanner",
+ tr("Use Planner Speed"),
+ "",
+ "../assets/offroad/icon_blank.png",
+ },
{
"ExperimentalMode",
tr("Experimental Mode"),
@@ -197,6 +203,7 @@ void TogglesPanelSP::updateToggles() {
auto custom_stock_long_toggle = toggles["CustomStockLong"];
auto dec_toggle = toggles["DynamicExperimentalControl"];
auto dynamic_personality_toggle = toggles["DynamicPersonality"];
+ auto custom_stock_long_planner = toggles["CustomStockLongPlanner"];
const QString e2e_description = QString("%1
"
"
%2
"
"%3
"
@@ -235,16 +242,22 @@ void TogglesPanelSP::updateToggles() {
accel_personality_setting->setEnabled(true);
op_long_toggle->setEnabled(true);
custom_stock_long_toggle->setEnabled(false);
+ custom_stock_long_planner->setEnabled(false);
params.remove("CustomStockLong");
dec_toggle->setEnabled(true);
dynamic_personality_toggle->setEnabled(true);
} else if (custom_stock_long_toggle->isToggled()) {
op_long_toggle->setEnabled(false);
- experimental_mode_toggle->setEnabled(false);
- long_personality_setting->setEnabled(false);
- accel_personality_setting->setEnabled(false);
+ experimental_mode_toggle->setEnabled(custom_stock_long_planner->isToggled());
+ experimental_mode_toggle->setDescription(e2e_description);
+ custom_stock_long_planner->setEnabled(true);
+ long_personality_setting->setEnabled(custom_stock_long_planner->isToggled());
+ accel_personality_setting->setEnabled(custom_stock_long_planner->isToggled());
+ dec_toggle->setEnabled(experimental_mode_toggle->isToggled());
+ if(!custom_stock_long_planner->isToggled()) {
+ params.remove("ExperimentalMode");
+ }
params.remove("ExperimentalLongitudinalEnabled");
- params.remove("ExperimentalMode");
} else {
// no long for now
experimental_mode_toggle->setEnabled(false);
@@ -269,6 +282,7 @@ void TogglesPanelSP::updateToggles() {
custom_stock_long_toggle->setEnabled(CP.getCustomStockLongAvailable());
dec_toggle->setEnabled(false);
dynamic_personality_toggle->setEnabled(false);
+ custom_stock_long_planner->setEnabled(false);
params.remove("DynamicExperimentalControl");
params.remove("DynamicPersonality");
}
@@ -276,6 +290,7 @@ void TogglesPanelSP::updateToggles() {
experimental_mode_toggle->refresh();
op_long_toggle->refresh();
custom_stock_long_toggle->refresh();
+ custom_stock_long_planner->refresh();
dec_toggle->refresh();
dynamic_personality_toggle->refresh();
} else {
@@ -284,6 +299,7 @@ void TogglesPanelSP::updateToggles() {
custom_stock_long_toggle->setVisible(false);
dec_toggle->setVisible(false);
dynamic_personality_toggle->setVisible(false);
+ custom_stock_long_planner->setVisible(false);
}
}