diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc index ea03b8a98f..c106d01894 100644 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -129,6 +129,9 @@ TogglesPanel::TogglesPanel(SettingsWindow *parent) : ListWidget(parent) { connect(toggles["ExperimentalLongitudinalEnabled"], &ToggleControl::toggleFlipped, [=]() { updateToggles(); }); + connect(toggles["CustomStockLong"], &ToggleControl::toggleFlipped, [=]() { + updateToggles(); + }); param_watcher = new ParamWatcher(this); @@ -183,7 +186,7 @@ void TogglesPanel::updateToggles() { op_long_toggle->setVisible(CP.getExperimentalLongitudinalAvailable() && !is_release); if (!CP.getCustomStockLongAvailable()) { - params.remove("CustomStockLongControl"); + params.remove("CustomStockLong"); } custom_stock_long_toggle->setVisible(CP.getCustomStockLongAvailable()); @@ -192,8 +195,15 @@ void TogglesPanel::updateToggles() { experimental_mode_toggle->setEnabled(true); experimental_mode_toggle->setDescription(e2e_description); long_personality_setting->setEnabled(true); + op_long_toggle->setEnabled(true); custom_stock_long_toggle->setEnabled(false); params.remove("CustomStockLong"); + } else if (custom_stock_long_toggle->isToggled()) { + op_long_toggle->setEnabled(false); + experimental_mode_toggle->setEnabled(false); + long_personality_setting->setEnabled(false); + params.remove("ExperimentalLongitudinalEnabled"); + params.remove("ExperimentalMode"); } else { // no long for now experimental_mode_toggle->setEnabled(false); @@ -213,10 +223,12 @@ void TogglesPanel::updateToggles() { } experimental_mode_toggle->setDescription("" + long_desc + "

" + e2e_description); + op_long_toggle->setEnabled(CP.getExperimentalLongitudinalAvailable() && !is_release); custom_stock_long_toggle->setEnabled(CP.getCustomStockLongAvailable()); } experimental_mode_toggle->refresh(); + op_long_toggle->refresh(); custom_stock_long_toggle->refresh(); } else { experimental_mode_toggle->setDescription(e2e_description);