DEC: Refactor toggle states

This commit is contained in:
Jason Wen
2023-10-31 01:04:23 -04:00
parent 14de9f1c64
commit 590577911d
7 changed files with 8 additions and 13 deletions
-1
View File
@@ -234,7 +234,6 @@ std::unordered_map<std::string, uint32_t> keys = {
{"DisableOnroadUploads", PERSISTENT},
{"DisengageLateralOnBrake", PERSISTENT},
{"DynamicExperimentalControl", PERSISTENT},
{"DynamicExperimentalControlToggle", PERSISTENT},
{"DynamicLaneProfile", PERSISTENT},
{"EnableAmap", PERSISTENT},
{"EnableDebugSnapshot", PERSISTENT},
@@ -87,8 +87,7 @@ class LongitudinalPlanner:
def read_param(self):
try:
self.dynamic_experimental_controller.set_enabled(self.params.get_bool("DynamicExperimentalControl") and
self.params.get_bool("DynamicExperimentalControlToggle"))
self.dynamic_experimental_controller.set_enabled(self.params.get_bool("DynamicExperimentalControl"))
except AttributeError:
self.dynamic_experimental_controller = DynamicExperimentalController()
try:
@@ -184,7 +184,7 @@ SPControlsPanel::SPControlsPanel(QWidget *parent) : ListWidget(parent) {
"../assets/offroad/icon_blank.png",
},
{
"DynamicExperimentalControlToggle",
"DynamicExperimentalControl",
tr("Enable Dynamic Experimental Control"),
tr("Enable toggle to allow the model to determine when to use openpilot ACC or openpilot End to End Longitudinal."),
"../assets/offroad/icon_speed_limit.png",
+3 -4
View File
@@ -419,8 +419,7 @@ void OnroadSettingsButton::paintEvent(QPaintEvent *event) {
void OnroadSettingsButton::updateState(const UIState &s) {
const auto cp = (*s.sm)["carParams"].getCarParams();
auto dlp_enabled = true;
auto dec_enabled = s.scene.dynamic_experimental_control_toggle;
bool allow_btn = dlp_enabled || hasLongitudinalControl(cp) || dec_enabled || !cp.getPcmCruiseSpeed();
bool allow_btn = dlp_enabled || hasLongitudinalControl(cp) || !cp.getPcmCruiseSpeed();
setVisible(allow_btn);
setEnabled(allow_btn);
@@ -1616,9 +1615,9 @@ void AnnotatedCameraWidget::drawFeatureStatusText(QPainter &p, int x, int y) {
// Dynamic Lane Profile
drawFeatureStatusElement(dynamicLaneProfile, feature_text.dlp_list_text, feature_color.dlp_list_color, true, "OFF", "DLP");
if (uiState()->scene.dynamic_experimental_control_toggle) {
if (longitudinal) {
bool cruise_enabled = (*uiState()->sm)["carState"].getCarState().getCruiseState().getEnabled();
bool dec_enabled = uiState()->scene.dynamic_experimental_control_toggle && uiState()->scene.dynamic_experimental_control;
bool dec_enabled = uiState()->scene.dynamic_experimental_control;
bool experimental_mode = (*uiState()->sm)["controlsState"].getControlsState().getExperimentalMode();
QColor dec_color((cruise_enabled && dec_enabled) ? "#4bff66" : "#ffffff");
QRect dec_btn(x - eclipse_x_offset, y - eclipse_y_offset, w, h);
+2 -3
View File
@@ -134,7 +134,7 @@ void OnroadSettings::changeGapAdjustCruise() {
void OnroadSettings::changeDynamicExperimentalControl() {
UIScene &scene = uiState()->scene;
const auto cp = (*uiState()->sm)["carParams"].getCarParams();
bool can_change = hasLongitudinalControl(cp) && scene.dynamic_experimental_control_toggle;
bool can_change = hasLongitudinalControl(cp);
if (can_change) {
scene.dynamic_experimental_control = !scene.dynamic_experimental_control;
params.putBool("DynamicExperimentalControl", scene.dynamic_experimental_control);
@@ -160,7 +160,6 @@ void OnroadSettings::refresh() {
param_watcher->addParam("DynamicLaneProfile");
param_watcher->addParam("LongitudinalPersonality");
param_watcher->addParam("DynamicExperimentalControl");
param_watcher->addParam("DynamicExperimentalControlToggle");
param_watcher->addParam("SpeedLimitControl");
UIScene &scene = uiState()->scene;
@@ -186,7 +185,7 @@ void OnroadSettings::refresh() {
// Dynamic Experimental Control
dec_widget->updateDynamicExperimentalControl("DynamicExperimentalControl");
dec_widget->setVisible(params.getBool("DynamicExperimentalControlToggle"));
dec_widget->setVisible(hasLongitudinalControl(cp));
// Speed Limit Control
slc_widget->updateSpeedLimitControl("SpeedLimitControl");
-1
View File
@@ -254,7 +254,6 @@ void ui_update_params(UIState *s) {
s->scene.map_3d_buildings = params.getBool("Map3DBuildings");
s->scene.live_torque_toggle = params.getBool("LiveTorque");
s->scene.torqued_override = params.getBool("TorquedOverride");
s->scene.dynamic_experimental_control_toggle = params.getBool("DynamicExperimentalControlToggle");
// Handle Onroad Screen Off params
if (s->scene.onroadScreenOff > 0) {
+1 -1
View File
@@ -237,7 +237,7 @@ typedef struct UIScene {
bool torqued_override;
bool dynamic_experimental_control_toggle, dynamic_experimental_control;
bool dynamic_experimental_control;
QRect sl_sign_rect;
} UIScene;