From db2c43a913a7fb31ae15678b1549f7e19ef7c771 Mon Sep 17 00:00:00 2001 From: FrogAi <91348155+FrogAi@users.noreply.github.com> Date: Thu, 9 May 2024 22:38:39 -0700 Subject: [PATCH] FrogPilot features - Run the updater when parked --- selfdrive/manager/process_config.py | 2 +- selfdrive/ui/qt/offroad/software_settings.cc | 12 +++++++----- selfdrive/ui/ui.cc | 1 + selfdrive/ui/ui.h | 1 + 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/selfdrive/manager/process_config.py b/selfdrive/manager/process_config.py index e9cb143..ed4de29 100644 --- a/selfdrive/manager/process_config.py +++ b/selfdrive/manager/process_config.py @@ -79,7 +79,7 @@ procs = [ PythonProcess("radard", "selfdrive.controls.radard", only_onroad), PythonProcess("thermald", "selfdrive.thermald.thermald", always_run), PythonProcess("tombstoned", "selfdrive.tombstoned", always_run, enabled=not PC), - PythonProcess("updated", "selfdrive.updated.updated", only_offroad, enabled=not PC), + PythonProcess("updated", "selfdrive.updated.updated", always_run, enabled=not PC), PythonProcess("uploader", "system.loggerd.uploader", always_run), PythonProcess("statsd", "selfdrive.statsd", always_run), diff --git a/selfdrive/ui/qt/offroad/software_settings.cc b/selfdrive/ui/qt/offroad/software_settings.cc index 4d450be..588b8ba 100644 --- a/selfdrive/ui/qt/offroad/software_settings.cc +++ b/selfdrive/ui/qt/offroad/software_settings.cc @@ -22,7 +22,7 @@ void SoftwarePanel::checkForUpdates() { } SoftwarePanel::SoftwarePanel(QWidget* parent) : ListWidget(parent), scene(uiState()->scene) { - onroadLbl = new QLabel(tr("Updates are only downloaded while the car is off.")); + onroadLbl = new QLabel(tr("Updates are only downloaded while the car is off or in park.")); onroadLbl->setStyleSheet("font-size: 50px; font-weight: 400; text-align: left; padding-top: 30px; padding-bottom: 30px;"); addItem(onroadLbl); @@ -135,9 +135,11 @@ void SoftwarePanel::updateLabels() { return; } - // updater only runs offroad - onroadLbl->setVisible(is_onroad); - downloadBtn->setVisible(!is_onroad); + // updater only runs offroad or when parked + bool parked = scene.parked; + + onroadLbl->setVisible(is_onroad && !parked); + downloadBtn->setVisible(!is_onroad || parked); // download update QString updater_state = QString::fromStdString(params.get("UpdaterState")); @@ -169,7 +171,7 @@ void SoftwarePanel::updateLabels() { versionLbl->setText(QString::fromStdString(params.get("UpdaterCurrentDescription"))); versionLbl->setDescription(QString::fromStdString(params.get("UpdaterCurrentReleaseNotes"))); - installBtn->setVisible(!is_onroad && params.getBool("UpdateAvailable")); + installBtn->setVisible((!is_onroad || parked) && params.getBool("UpdateAvailable")); installBtn->setValue(QString::fromStdString(params.get("UpdaterNewDescription"))); installBtn->setDescription(QString::fromStdString(params.get("UpdaterNewReleaseNotes"))); diff --git a/selfdrive/ui/ui.cc b/selfdrive/ui/ui.cc index 14e6d81..fc726c5 100644 --- a/selfdrive/ui/ui.cc +++ b/selfdrive/ui/ui.cc @@ -209,6 +209,7 @@ static void update_state(UIState *s) { } if (sm.updated("carState")) { auto carState = sm["carState"].getCarState(); + scene.parked = carState.getGearShifter() == cereal::CarState::GearShifter::PARK; } if (sm.updated("controlsState")) { auto controlsState = sm["controlsState"].getControlsState(); diff --git a/selfdrive/ui/ui.h b/selfdrive/ui/ui.h index 7a73b35..8348b42 100644 --- a/selfdrive/ui/ui.h +++ b/selfdrive/ui/ui.h @@ -184,6 +184,7 @@ typedef struct UIScene { bool experimental_mode; bool map_open; bool online; + bool parked; bool right_hand_drive; bool tethering_enabled;