disable while engaged

pull/35361/head
Shane Smiskol 3 months ago
parent b28b10b7f8
commit 10d5832da6
  1. 4
      selfdrive/ui/qt/offroad/settings.cc
  2. 5
      selfdrive/ui/ui.cc
  3. 2
      selfdrive/ui/ui.h

@ -86,6 +86,10 @@ TogglesPanel::TogglesPanel(SettingsWindow *parent) : ListWidget(parent) {
auto toggle = new ParamControl(param, title, desc, icon, this);
if (needs_restart) {
QObject::connect(uiState(), &UIState::engagedChanged, [toggle](bool engaged) {
toggle.setEnabled(!engaged);
});
QObject::connect(toggle, &ParamControl::toggleFlipped, [=](bool state) {
qDebug() << "put OnroadCycleRequested bool";
params.putBool("OnroadCycleRequested", true);

@ -78,6 +78,11 @@ void UIState::updateStatus() {
}
}
if (scene.engaged() != engaged_prev) {
engaged_prev = scene.engaged();
emit engagedChanged(scene.engaged());
}
// Handle onroad/offroad transition
if (scene.started != started_prev || sm->frame == 1) {
if (scene.started) {

@ -81,6 +81,7 @@ public:
signals:
void uiUpdate(const UIState &s);
void offroadTransition(bool offroad);
void engagedChanged(bool engaged);
private slots:
void update();
@ -88,6 +89,7 @@ private slots:
private:
QTimer *timer;
bool started_prev = false;
bool engaged_prev = false;
};
UIState *uiState();

Loading…
Cancel
Save