From 483f5c029724ceda54a7674d6e5b5e6d8f49acbf Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 14 Feb 2024 01:59:13 -0600 Subject: [PATCH] wip --- notes | 7 +++++++ selfdrive/ui/qt/onroad.cc | 28 ++++++++++++++-------------- selfdrive/ui/qt/text.cc | 22 +++++++++++++++++++++- 3 files changed, 42 insertions(+), 15 deletions(-) diff --git a/notes b/notes index b8b6852..9c877e8 100644 --- a/notes +++ b/notes @@ -35,6 +35,10 @@ hyundai/interface ENABLE_BUTTONS = (Buttons.RES_ACCEL, Buttons.SET_DECEL, Button - disable lat turn signal below hwy speeds - setting: disable lane change assist alltogether - setting: auto passive dash cam recorder / uploader +- new home screen - weather, radar, location, car status, other fun things +- car location tracker automatic upload / api of car location +- can i get the cabin temprature from the comma??? display on home screen? +- review "BBOTCRASH" - rewrite the crash handler Weather: Ideally we intercept the info buttons on the wheel to control this. @@ -42,6 +46,9 @@ UI: https://github.com/jclarke0000/MMM-OpenWeatherForecast/blob/master/README.md Radar: https://github.com/jojoduquartier/MMM-RAIN-RADAR Embed possibility: https://cefview.github.io/QCefView/docs/intros/buiding +Get modem tempratures: + gdbus call --system --dest org.freedesktop.ModemManager1 --object-path /org/freedesktop/ModemManager1/Modem/1 --method org.freedesktop.ModemManager1.Modem.Command "AT+QTEMP" 50 + Goals: 1 - get current dash speed via calculate_speed_limit_canfd 2 - issue set decel button via LFA button (proof of concept) diff --git a/selfdrive/ui/qt/onroad.cc b/selfdrive/ui/qt/onroad.cc index e125e74..d53218d 100644 --- a/selfdrive/ui/qt/onroad.cc +++ b/selfdrive/ui/qt/onroad.cc @@ -29,20 +29,20 @@ static void drawIcon(QPainter &p, const QPoint ¢er, const QPixmap &img, cons p.setOpacity(1.0); } -static void drawIconRotate(QPainter &p, const QPoint ¢er, const QPixmap &img, const QBrush &bg, float opacity, const int angle) { - p.setRenderHint(QPainter::Antialiasing); - p.setOpacity(1.0); // bg dictates opacity of ellipse - p.setPen(Qt::NoPen); - p.setBrush(bg); - p.drawEllipse(center, btn_size / 2, btn_size / 2); - p.save(); - p.translate(center); - p.rotate(-angle); - p.setOpacity(opacity); - p.drawPixmap(-QPoint(img.width() / 2, img.height() / 2), img); - p.setOpacity(1.0); - p.restore(); -} +// static void drawIconRotate(QPainter &p, const QPoint ¢er, const QPixmap &img, const QBrush &bg, float opacity, const int angle) { +// p.setRenderHint(QPainter::Antialiasing); +// p.setOpacity(1.0); // bg dictates opacity of ellipse +// p.setPen(Qt::NoPen); +// p.setBrush(bg); +// p.drawEllipse(center, btn_size / 2, btn_size / 2); +// p.save(); +// p.translate(center); +// p.rotate(-angle); +// p.setOpacity(opacity); +// p.drawPixmap(-QPoint(img.width() / 2, img.height() / 2), img); +// p.setOpacity(1.0); +// p.restore(); +// } OnroadWindow::OnroadWindow(QWidget *parent) : QWidget(parent), scene(uiState()->scene) { QVBoxLayout *main_layout = new QVBoxLayout(this); diff --git a/selfdrive/ui/qt/text.cc b/selfdrive/ui/qt/text.cc index 21ec5ee..82cd99e 100644 --- a/selfdrive/ui/qt/text.cc +++ b/selfdrive/ui/qt/text.cc @@ -31,11 +31,31 @@ int main(int argc, char *argv[]) { scroll->verticalScrollBar()->setValue(scroll->verticalScrollBar()->maximum()); }); + + QPushButton *btnupdate = new QPushButton(); +#ifdef __aarch64__ + btnupdate->setText(QObject::tr("Reboot")); + QObject::connect(btnupdate, &QPushButton::clicked, [=]() { + QProcess process; + // BBOTCRASH + // Todo git revert here, show that is what we are doing on the textbox + // Also, must hide both buttons when this is clicked to prevent double clicks + process.setWorkingDirectory("/data/openpilot/"); + process.start("/bin/sh", QStringList{"-c", "echo hello world"}); + process.waitForFinished(); + Hardware::reboot(); + }); +#else + btnupdate->setText(QObject::tr("Exit")); + QObject::connect(btnupdate, &QPushButton::clicked, &a, &QApplication::quit); +#endif + main_layout->addWidget(btnupdate, 0, 0, Qt::AlignLeft | Qt::AlignBottom); + QPushButton *btn = new QPushButton(); #ifdef __aarch64__ btn->setText(QObject::tr("Reboot")); QObject::connect(btn, &QPushButton::clicked, [=]() { - Hardware::reboot(); + Hardware::reboot(); // bbot this is the dreaded crash reboot button }); #else btn->setText(QObject::tr("Exit"));