add raylib toggle

This commit is contained in:
nayan
2025-08-24 18:41:50 -04:00
parent f206083e4b
commit 261ad8ee8b
4 changed files with 68 additions and 0 deletions
@@ -51,6 +51,13 @@ class DeveloperLayout(Widget):
initial_state=self._params.get_bool("AlphaLongitudinalEnabled"),
callback=self._on_alpha_long_enabled,
),
toggle_item(
"Use Raylib UI",
description="Enables or disables the use of Raylib for UI rendering. Changing this will trigger a UI restart.",
initial_state=self._params.get_bool("UseRaylib"),
callback=None,
param="UseRaylib"
),
]
self._scroller = Scroller(items, line_separator=True, spacing=0)
@@ -0,0 +1,50 @@
from openpilot.common.params import Params
from openpilot.selfdrive.ui.layouts.settings.developer import DeveloperLayout
from openpilot.system.ui.sunnypilot.lib.list_view import toggle_item_sp
# Description constants
DESCRIPTIONS = {
'enable_adb': (
"ADB (Android Debug Bridge) allows connecting to your device over USB or over the network. " +
"See https://docs.comma.ai/how-to/connect-to-comma for more info."
),
'joystick_debug_mode': "Preview the driver facing camera to ensure that driver monitoring has good visibility. (vehicle must be off)",
'ssh_key': (
"Warning: This grants SSH access to all public keys in your GitHub settings. Never enter a GitHub username " +
"other than your own. A comma employee will NEVER ask you to add their GitHub username."
),
}
class DeveloperLayoutSP(DeveloperLayout):
def __init__(self):
super().__init__()
self._params = Params()
items += [
toggle_item(
"Enable ADB",
description=DESCRIPTIONS["enable_adb"],
initial_state=self._params.get_bool("AdbEnabled"),
callback=self._on_enable_adb,
),
ssh_key_item("SSH Key", description=DESCRIPTIONS["ssh_key"]),
toggle_item(
"Joystick Debug Mode",
description=DESCRIPTIONS["joystick_debug_mode"],
initial_state=self._params.get_bool("JoystickDebugMode"),
callback=self._on_joystick_debug_mode,
),
toggle_item(
"Longitudinal Maneuver Mode",
description="",
initial_state=self._params.get_bool("LongitudinalManeuverMode"),
callback=self._on_long_maneuver_mode,
),
toggle_item(
"openpilot Longitudinal Control (Alpha)",
description="",
initial_state=self._params.get_bool("AlphaLongitudinalEnabled"),
callback=self._on_alpha_long_enabled,
),
]
@@ -33,6 +33,15 @@ DeveloperPanelSP::DeveloperPanelSP(SettingsWindow *parent) : DeveloperPanel(pare
});
prebuiltToggle->setVisible(false);
// Raylib Toggle
useRaylib = new ParamControlSP("UseRaylib",
tr("Use Raylib UI"),
tr("Enables or disables the use of Raylib for UI rendering. Changing this will trigger a UI restart."),
"",
this,
true);
addItem(useRaylib);
// Error log button
errorLogBtn = new ButtonControlSP(tr("Error Log"), tr("VIEW"), tr("View the error log for sunnypilot crashes."));
connect(errorLogBtn, &ButtonControlSP::clicked, [=]() {
@@ -71,6 +80,7 @@ void DeveloperPanelSP::updateToggles(bool offroad) {
enableGithubRunner->setVisible(!is_release);
errorLogBtn->setVisible(!is_release);
showAdvancedControls->setEnabled(true);
useRaylib->setEnabled(offroad);
}
void DeveloperPanelSP::showEvent(QShowEvent *event) {
@@ -21,6 +21,7 @@ private:
ParamControlSP *prebuiltToggle;
Params params;
ParamControlSP *showAdvancedControls;
ParamControlSP *useRaylib;
bool is_development;
bool is_release;
bool is_tested;