mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-09-29 17:13:43 +08:00
DEC: Refactor toggle states
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user