mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-10-01 03:43:46 +08:00
Add Developer Panel in Settings (#33828)
* hello world * hello btn * add ssh toggles * split out developer panel code * test this * fix * add ZMQ button * add developer panel case to bot autogen screenshots * give up bridge * fix CI (generate screenshots) * change from btn to toggles and interlock protection * duplicated --------- Co-authored-by: Comma Device <device@comma.ai>
This commit is contained in:
committed by
GitHub
parent
1570aa7961
commit
72a88c9319
@@ -84,7 +84,7 @@ jobs:
|
||||
run: >-
|
||||
sudo apt-get install -y imagemagick
|
||||
|
||||
scenes="homescreen settings_device settings_toggles offroad_alert update_available prime onroad onroad_disengaged onroad_override onroad_sidebar onroad_wide onroad_wide_sidebar onroad_alert_small onroad_alert_mid onroad_alert_full driver_camera body keyboard"
|
||||
scenes="homescreen settings_device settings_toggles settings_developer offroad_alert update_available prime onroad onroad_disengaged onroad_override onroad_sidebar onroad_wide onroad_wide_sidebar onroad_alert_small onroad_alert_mid onroad_alert_full driver_camera body keyboard"
|
||||
A=($scenes)
|
||||
|
||||
DIFF=""
|
||||
|
||||
@@ -28,7 +28,7 @@ qt_libs = [widgets, qt_util] + base_libs
|
||||
|
||||
qt_src = ["main.cc", "ui.cc", "qt/sidebar.cc", "qt/body.cc",
|
||||
"qt/window.cc", "qt/home.cc", "qt/offroad/settings.cc",
|
||||
"qt/offroad/software_settings.cc", "qt/offroad/onboarding.cc",
|
||||
"qt/offroad/software_settings.cc", "qt/offroad/developer_panel.cc", "qt/offroad/onboarding.cc",
|
||||
"qt/offroad/driverview.cc", "qt/offroad/experimental_mode.cc",
|
||||
"qt/onroad/onroad_home.cc", "qt/onroad/annotated_camera.cc", "qt/onroad/model.cc",
|
||||
"qt/onroad/buttons.cc", "qt/onroad/alerts.cc", "qt/onroad/driver_monitoring.cc", "qt/onroad/hud.cc"]
|
||||
|
||||
@@ -149,10 +149,6 @@ AdvancedNetworking::AdvancedNetworking(QWidget* parent, WifiManager* wifi): QWid
|
||||
ipLabel = new LabelControl(tr("IP Address"), wifi->ipv4_address);
|
||||
list->addItem(ipLabel);
|
||||
|
||||
// SSH keys
|
||||
list->addItem(new SshToggle());
|
||||
list->addItem(new SshControl());
|
||||
|
||||
// Roaming toggle
|
||||
const bool roamingEnabled = params.getBool("GsmRoaming");
|
||||
roamingToggle = new ToggleControl(tr("Enable Roaming"), "", "", roamingEnabled);
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#include <QDebug>
|
||||
|
||||
#include "selfdrive/ui/qt/offroad/developer_panel.h"
|
||||
#include "selfdrive/ui/qt/widgets/ssh_keys.h"
|
||||
#include "selfdrive/ui/qt/widgets/controls.h"
|
||||
|
||||
DeveloperPanel::DeveloperPanel(SettingsWindow *parent) : ListWidget(parent) {
|
||||
// SSH keys
|
||||
addItem(new SshToggle());
|
||||
addItem(new SshControl());
|
||||
|
||||
joystickToggle = new ParamControl("JoystickDebugMode", tr("Joystick Debug Mode"), "", "");
|
||||
QObject::connect(joystickToggle, &ParamControl::toggleFlipped, [=](bool state) {
|
||||
params.putBool("LongitudinalManeuverMode", false);
|
||||
longManeuverToggle->refresh();
|
||||
});
|
||||
addItem(joystickToggle);
|
||||
|
||||
longManeuverToggle = new ParamControl("LongitudinalManeuverMode", tr("Longitudinal Maneuver Mode"), "", "");
|
||||
QObject::connect(longManeuverToggle, &ParamControl::toggleFlipped, [=](bool state) {
|
||||
params.putBool("JoystickDebugMode", false);
|
||||
joystickToggle->refresh();
|
||||
});
|
||||
addItem(longManeuverToggle);
|
||||
|
||||
// Joystick and longitudinal maneuvers should be hidden on release branches
|
||||
// also the toggles should be not available to change in onroad state
|
||||
const bool is_release = params.getBool("IsReleaseBranch");
|
||||
QObject::connect(uiState(), &UIState::offroadTransition, [=](bool offroad) {
|
||||
for (auto btn : findChildren<ParamControl *>()) {
|
||||
btn->setVisible(!is_release);
|
||||
btn->setEnabled(offroad);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "selfdrive/ui/qt/offroad/settings.h"
|
||||
|
||||
class DeveloperPanel : public ListWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DeveloperPanel(SettingsWindow *parent);
|
||||
|
||||
private:
|
||||
Params params;
|
||||
ParamControl* joystickToggle;
|
||||
ParamControl* longManeuverToggle;
|
||||
};
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "selfdrive/ui/qt/qt_window.h"
|
||||
#include "selfdrive/ui/qt/widgets/prime.h"
|
||||
#include "selfdrive/ui/qt/widgets/scrollview.h"
|
||||
#include "selfdrive/ui/qt/offroad/developer_panel.h"
|
||||
|
||||
TogglesPanel::TogglesPanel(SettingsWindow *parent) : ListWidget(parent) {
|
||||
// param, title, desc, icon
|
||||
@@ -393,6 +394,7 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) {
|
||||
{tr("Network"), networking},
|
||||
{tr("Toggles"), toggles},
|
||||
{tr("Software"), new SoftwarePanel(this)},
|
||||
{tr("Developer"), new DeveloperPanel(this)},
|
||||
};
|
||||
|
||||
nav_btns = new QButtonGroup(this);
|
||||
|
||||
@@ -42,7 +42,12 @@ def setup_settings_device(click, pm: PubMaster):
|
||||
|
||||
def setup_settings_toggles(click, pm: PubMaster):
|
||||
setup_settings_device(click, pm)
|
||||
click(278, 760)
|
||||
click(278, 650)
|
||||
time.sleep(UI_DELAY)
|
||||
|
||||
def setup_settings_developer(click, pm: PubMaster):
|
||||
setup_settings_device(click, pm)
|
||||
click(278, 960)
|
||||
time.sleep(UI_DELAY)
|
||||
|
||||
def setup_onroad(click, pm: PubMaster):
|
||||
@@ -175,6 +180,7 @@ CASES = {
|
||||
"pair_device": setup_pair_device,
|
||||
"settings_device": setup_settings_device,
|
||||
"settings_toggles": setup_settings_toggles,
|
||||
"settings_developer": setup_settings_developer,
|
||||
"onroad": setup_onroad,
|
||||
"onroad_disengaged": setup_onroad_disengaged,
|
||||
"onroad_override": setup_onroad_override,
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>رفض، إلغاء التثبيت %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -618,6 +629,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>البرنامج</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>Ablehnen, deinstallieren %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -600,6 +611,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>Software</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>Rechazar, desinstalar %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -602,6 +613,10 @@ Esto puede tardar un minuto.</translation>
|
||||
<source>Software</source>
|
||||
<translation>Software</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>Refuser, désinstaller %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -602,6 +613,10 @@ Cela peut prendre jusqu'à une minute.</translation>
|
||||
<source>Software</source>
|
||||
<translation>Logiciel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>拒否して %1 をアンインストール</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -596,6 +607,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>ソフトウェア</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>거절, %1 제거</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -598,6 +609,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>소프트웨어</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>Rejeitar, desintalar %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -602,6 +613,10 @@ Isso pode levar até um minuto.</translation>
|
||||
<source>Software</source>
|
||||
<translation>Software</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>ปฏิเสธ และถอนการติดตั้ง %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -598,6 +609,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>ซอฟต์แวร์</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>Reddet, Kurulumu kaldır. %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -596,6 +607,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>Yazılım</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>拒绝并卸载%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -598,6 +609,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>软件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
@@ -113,6 +113,17 @@
|
||||
<translation>拒絕並解除安裝 %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DeveloperPanel</name>
|
||||
<message>
|
||||
<source>Joystick Debug Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Longitudinal Maneuver Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DevicePanel</name>
|
||||
<message>
|
||||
@@ -598,6 +609,10 @@ This may take up to a minute.</source>
|
||||
<source>Software</source>
|
||||
<translation>軟體</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Developer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Setup</name>
|
||||
|
||||
Reference in New Issue
Block a user