Conditional Experimental Mode

This commit is contained in:
James
2026-01-08 01:31:26 -07:00
parent 7388432fb9
commit 68b60b3635
17 changed files with 206 additions and 3 deletions
+8 -1
View File
@@ -31,7 +31,12 @@ void ExperimentalButton::changeMode() {
bool can_change = hasLongitudinalControl(cp) && params.getBool("ExperimentalModeConfirmed");
if (can_change) {
// FrogPilot variables
params.putBool("ExperimentalMode", !experimental_mode);
if (frogpilot_toggles.value("conditional_experimental_mode").toBool()) {
int override_value = (frogpilot_scene.conditional_status == 1 || frogpilot_scene.conditional_status == 2) ? 0 : experimental_mode ? 1 : 2;
params_memory.putInt("CEStatus", override_value);
} else {
params.putBool("ExperimentalMode", !experimental_mode);
}
}
}
@@ -65,6 +70,8 @@ void ExperimentalButton::updateBackgroundColor() {
background_color = QColor(0, 0, 0, 166);
} else if (frogpilot_scene.always_on_lateral_active) {
background_color = bg_colors[STATUS_ALWAYS_ON_LATERAL_ACTIVE];
} else if (frogpilot_scene.conditional_status == 1) {
background_color = bg_colors[STATUS_CEM_DISABLED];
} else if (experimental_mode) {
background_color = bg_colors[STATUS_EXPERIMENTAL_MODE_ENABLED];
} else {
+2
View File
@@ -47,6 +47,7 @@ typedef enum UIStatus {
// FrogPilot variables
STATUS_ALWAYS_ON_LATERAL_ACTIVE,
STATUS_CEM_DISABLED,
STATUS_EXPERIMENTAL_MODE_ENABLED,
} UIStatus;
@@ -57,6 +58,7 @@ const QColor bg_colors [] = {
// FrogPilot variables
[STATUS_ALWAYS_ON_LATERAL_ACTIVE] = QColor(0x0a, 0xba, 0xb5, 0xf1),
[STATUS_CEM_DISABLED] = QColor(0xff, 0xff, 0x00, 0xf1),
[STATUS_EXPERIMENTAL_MODE_ENABLED] = QColor(0xda, 0x6f, 0x25, 0xf1),
};