From d3229c7b648e41e6e11e745968686c64ba5ccde8 Mon Sep 17 00:00:00 2001 From: Dany Thinnes Date: Tue, 23 Jun 2026 23:19:06 +0200 Subject: [PATCH] =?UTF-8?q?-=20Auto-scroll=20standard=20aktiv=20-=20Tag-Fi?= =?UTF-8?q?lter=20wird=20gespeichert=20-=20Tag=20Monitor=20kann=20bei=20ei?= =?UTF-8?q?nem=20Tag=20jetzt=20pro=20Key=20mehrere=20Werte=20in=20einer=20?= =?UTF-8?q?Tabelle=20anzeigen=20-=20Bug=20f=C3=BCr=20Clear=20behoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 1 - README.md | 48 +++-- include/connectdialog.h | 3 +- include/mainwindow.h | 34 ++-- include/rawview.h | 13 +- include/serialworker.h | 44 ++--- include/tableview.h | 23 +-- include/tagpanel.h | 19 +- include/tagwidget.h | 4 +- include/v4l2worker.h | 6 +- include/videowidget.h | 27 +-- src/connectdialog.cpp | 10 - src/main.cpp | 10 +- src/mainwindow.cpp | 182 ++++++++---------- src/rawview.cpp | 28 +-- src/serialworker.cpp | 65 +++++-- src/tableview.cpp | 13 +- src/tagpanel.cpp | 81 ++++++-- src/tagwidget.cpp | 5 +- src/v4l2worker.cpp | 35 +--- src/videowidget.cpp | 49 ++--- uartscope-git/PKGBUILD | 2 +- uartscope-git/pkg/uartscope/.BUILDINFO | 8 +- uartscope-git/pkg/uartscope/.MTREE | Bin 380 -> 467 bytes uartscope-git/pkg/uartscope/.PKGINFO | 6 +- uartscope-git/pkg/uartscope/usr/bin/uartscope | Bin 209008 -> 323952 bytes .../usr/share/applications/uartscope.desktop | 2 +- uartscope-git/src/uartscope | 2 +- uartscope-git/uartscope/FETCH_HEAD | 2 +- 29 files changed, 342 insertions(+), 380 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0825b2a..22ca2cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,7 +58,6 @@ target_link_libraries(uartscope PRIVATE # Installation install(TARGETS uartscope DESTINATION bin) -# Optional: create a .desktop file for Linux app launchers configure_file( ${CMAKE_SOURCE_DIR}/uartscope.desktop.in ${CMAKE_BINARY_DIR}/uartscope.desktop diff --git a/README.md b/README.md index bd2799e..915a80d 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,21 @@ Ein moderner UART-Monitor für Linux mit Qt6-Oberfläche. Gebaut als vollwertige |---|---| | **Unbegrenzter Verlauf** | Kein Zeilenlimit – keine Daten gehen verloren, egal wie viel der Pi sendet | | **Timestamps** | Jede Zeile im Raw-View bekommt automatisch einen `hh:mm:ss.zzz`-Timestamp | +| **Auto-Scroll** | Standardmäßig aktiv – springt automatisch ans Ende neuer Ausgaben | | **H + V Scrolling** | Kein Zeilenumbruch, voller horizontaler Scrollbalken | | **Live-Logging** | Alle empfangenen Zeilen werden mit Timestamp in eine Datei geschrieben | | **Tag-Monitor** | Zeilen mit `[TAG]` werden in eigenen Panels angezeigt und aktualisiert | -| **Tag-Filter** | Tags können aus dem Raw-View ausgeblendet werden (nur im Tag-Monitor sichtbar) | +| **Listen-Werte** | `;`-getrennte Werte in einem Tag werden als mehrzeilige Liste dargestellt | +| **Tag-Filter** | Tags können aus dem Raw-View ausgeblendet werden – wird dauerhaft gespeichert | | **Tabellenansicht** | CSV-formatierte UART-Zeilen werden in einer Tabelle dargestellt | | **Suche** | Inkrementelle Volltextsuche im Raw-View | | **Auto-Reconnect** | Bei Verbindungsabbruch wird automatisch neu verbunden (Intervall einstellbar) | -| **ANSI Clear-Screen** | `\033[2J\033[H` aus der Firmware leert alle Views gleichzeitig | +| **ANSI Clear-Screen** | `\033[2J\033[H` aus der Firmware leert Raw-View, Tabelle, Tag-Monitor und Video-Vorschau gleichzeitig | | **Copy-Buttons** | Raw-View und jedes Tag-Panel haben einen „📋 Copy"-Button | | **V4L2 Live Video** | HDMI-Grabber direkt eingebunden – Live-Vorschau unter dem Tag-Monitor | | **Screenshot** | Aktuellen Frame des HDMI-Grabbers als PNG/JPG speichern | | **Format-Referenz** | Eingebauter Guide (mit Kopieren-Button) für KI-kompatible UART-Formatierung | -| **Fensterlayout** | Fenstergröße, Position und alle Splitter-Positionen werden beim Beenden gespeichert | +| **Fensterlayout** | Fenstergröße, Position, Splitter-Positionen und Tag-Filter werden beim Beenden gespeichert | --- @@ -86,34 +88,48 @@ v4l2-ctl -d /dev/video0 --list-formats-ext # unterstützte Formate & Auflösung Jede UART-Zeile erscheint im Raw-View mit Timestamp. Keine besondere Formatierung nötig. -**Screen leeren** – von der Firmware aus alle Views gleichzeitig leeren: +**Screen leeren** – von der Firmware aus Raw-View, Tabelle, Tag-Monitor und Video-Vorschau gleichzeitig leeren: ```c uart_printf("\033[2J\033[H"); ``` ### Tag-Monitor -Zeilen mit `[TAGNAME]` werden im Tag-Monitor-Panel angezeigt **und** im Raw-View hervorgehoben (cyan). Über „Tag filter…" in der Toolbar können Tags vollständig aus dem Raw-View ausgeblendet werden, sodass sie nur noch im Tag-Monitor erscheinen. +Zeilen mit `[TAGNAME]` werden im Tag-Monitor-Panel angezeigt **und** im Raw-View hervorgehoben (cyan), sofern der Tag nicht über den Tag-Filter ausgeblendet wurde. **Format:** `[TAGNAME] key1=value1 key2=value2 ...` -- Tag-Name: Buchstaben, Ziffern, Underscore – z.B. `WDG`, `VIDEO`, `I2C_BUS` +- Tag-Name: Buchstaben, Ziffern, Underscore – z.B. `WDG`, `VIDEO`, `KICKSTART` - Key=Value-Paare: Leerzeichen-getrennt, Werte ohne Leerzeichen - Ohne Key=Value-Paare wird der rohe String angezeigt +**Listen-Werte:** Ein Wert mit `;`-getrennten Einträgen wird als mehrzeilige Liste unter dem Key dargestellt: + +```c +uart_printf("[KICKSTART] Devs=trackdisk.device;input.device\n"); +``` + +Im Tag-Monitor erscheint das als: + +``` +Devs trackdisk.device + input.device +``` + +Jeder weitere Eintrag bekommt seine eigene Tabellenzeile, der Key wird nur einmal angezeigt. + **Beispiele:** ```c uart_printf("[WDG] uptime=%lu free_heap=%lu temp=%d\n", HAL_GetTick(), xPortGetFreeHeapSize(), core_temp); +uart_printf("[KICKSTART] Libs=graphics.library;intuition.library;dos.library\n"); + uart_printf("[VIDEO] line=%d hblank=%d vblank=%d copper=%d\n", scanline, hblank_ticks, vblank_ticks, copper_dma); - -uart_printf("[AUDIO] ch=%d buf=%d underruns=%lu\n", - active_channels, buffer_fill, underruns); ``` -Jeder einzigartige Tag bekommt automatisch ein eigenes Panel. Panels aktualisieren sich in-place – kein Scrollen nötig. +Jeder einzigartige Tag bekommt automatisch ein eigenes Panel. Panels aktualisieren sich in-place – kein Scrollen nötig. Listen-Längen können sich von Update zu Update ändern, die Tabelle passt sich automatisch an. ### Tabellenansicht @@ -129,6 +145,12 @@ Delimiter per Dropdown umschaltbar: `,` `;` `\t` `|` `Space` --- +## Tag-Filter + +Über „Tag filter…" in der Toolbar lassen sich Tags aus dem Raw-View ausblenden, sodass sie nur noch im Tag-Monitor erscheinen. Ein Tag pro Zeile, ohne Klammern (z.B. `WDG`). Groß-/Kleinschreibung spielt keine Rolle. Der Filter wird sofort beim Schließen des Dialogs gespeichert und beim nächsten Programmstart automatisch wiederhergestellt. + +--- + ## Einstellungen Beim Beenden werden folgende Einstellungen automatisch gespeichert und beim nächsten Start wiederhergestellt: @@ -148,14 +170,16 @@ Gespeichert unter `~/.config/ChicaDev/UARTScope.conf` (via `QSettings`). uartscope/ ├── CMakeLists.txt ├── README.md +├── resources.qrc +├── UartscopeLogo.png ├── uartscope.desktop.in ├── include/ │ ├── mainwindow.h ← Hauptfenster, koordiniert alle Komponenten -│ ├── serialworker.h ← UART-Empfang im eigenen QThread, Auto-Reconnect +│ ├── serialworker.h ← UART-Empfang im eigenen QThread, Auto-Reconnect, ANSI-Erkennung │ ├── rawview.h ← Unbegrenzter Log mit Timestamps, Suche, Copy │ ├── tableview.h ← CSV-Parser → QTableWidget │ ├── tagwidget.h ← Container für Tag-Panels -│ ├── tagpanel.h ← Ein Panel pro [TAG], Key=Value-Tabelle, Copy +│ ├── tagpanel.h ← Ein Panel pro [TAG], Key=Value-Tabelle mit Listen-Support, Copy │ ├── connectdialog.h ← Port-Konfiguration (Port, Baud, Log-Datei) │ ├── v4l2worker.h ← V4L2-Capture in std::thread, MJPEG/YUYV/NV12 │ └── videowidget.h ← Live-Vorschau, Freeze, Screenshot diff --git a/include/connectdialog.h b/include/connectdialog.h index 18ec6c6..14eba37 100644 --- a/include/connectdialog.h +++ b/include/connectdialog.h @@ -14,7 +14,7 @@ struct SerialConfig { QSerialPort::Parity parity = QSerialPort::NoParity; QSerialPort::StopBits stopBits = QSerialPort::OneStop; QSerialPort::FlowControl flowControl = QSerialPort::NoFlowControl; - QString logFilePath; // empty = no logging + QString logFilePath; }; class ConnectDialog : public QDialog @@ -23,7 +23,6 @@ class ConnectDialog : public QDialog public: explicit ConnectDialog(QWidget *parent = nullptr); - SerialConfig config() const; private slots: diff --git a/include/mainwindow.h b/include/mainwindow.h index 58d4df8..5a086db 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -5,13 +5,13 @@ #include #include #include -#include #include #include #include #include #include #include +#include #include "serialworker.h" #include "rawview.h" @@ -19,7 +19,6 @@ #include "tagwidget.h" #include "videowidget.h" #include "connectdialog.h" -#include class MainWindow : public QMainWindow { @@ -29,6 +28,9 @@ public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); +protected: + void closeEvent(QCloseEvent *event) override; + private slots: void onConnectClicked(); void onDisconnectClicked(); @@ -43,9 +45,6 @@ private slots: void configureTagFilter(); void showAbout(); -protected: - void closeEvent(QCloseEvent *event) override; - private: void setupUi(); void setupToolBar(); @@ -55,34 +54,29 @@ private: void saveSettings(); void restoreSettings(); - // Worker & thread QThread *m_thread = nullptr; SerialWorker *m_worker = nullptr; - // Views RawView *m_rawView = nullptr; TableView *m_tableView = nullptr; TagWidget *m_tagWidget = nullptr; VideoWidget *m_videoWidget= nullptr; - // Status bar widgets - QLabel *m_portLabel = nullptr; - QLabel *m_stateLabel = nullptr; - QLabel *m_reconnectLabel = nullptr; + QLabel *m_portLabel = nullptr; + QLabel *m_stateLabel = nullptr; + QLabel *m_reconnectLabel = nullptr; - // Toolbar widgets - QCheckBox *m_autoReconnectCb = nullptr; - QSpinBox *m_reconnectIntervalSb= nullptr; + QCheckBox *m_autoReconnectCb = nullptr; + QSpinBox *m_reconnectIntervalSb = nullptr; - // Actions QAction *m_connectAction = nullptr; QAction *m_disconnectAction = nullptr; // Splitters (saved/restored via QSettings) - QSplitter *m_mainSplitter = nullptr; - QSplitter *m_rightSplitter = nullptr; + QSplitter *m_mainSplitter = nullptr; + QSplitter *m_rightSplitter = nullptr; - SerialConfig m_lastConfig; - QSet m_suppressedTags; // tags hidden from Raw view - bool m_shutdownDone = false; + SerialConfig m_lastConfig; + QSet m_suppressedTags; // tags hidden from Raw view + bool m_shutdownDone = false; }; diff --git a/include/rawview.h b/include/rawview.h index 9795531..883048a 100644 --- a/include/rawview.h +++ b/include/rawview.h @@ -7,14 +7,12 @@ #include #include #include -#include +#include #include -// RawView shows the raw UART output in a QPlainTextEdit with: -// - Timestamp prefix on every line (hh:mm:ss.zzz) -// - Configurable tag suppression (lines whose tag is in the filter set are hidden) -// - Unlimited history, H+V scrolling, incremental search -// - Copy-to-clipboard and Clear buttons +// RawView shows the raw UART output with timestamps, search, tag suppression, +// unlimited history, H+V scrolling and a copy-to-clipboard button. +// Auto-scroll is ON by default. class RawView : public QWidget { Q_OBJECT @@ -23,7 +21,6 @@ public: explicit RawView(QWidget *parent = nullptr); public slots: - // suppressedTags: set of uppercase tag names whose lines should NOT appear here void appendLine(const QString &line, const QSet &suppressedTags = {}); void clear(); @@ -43,7 +40,7 @@ private: QPushButton *m_copyBtn = nullptr; QCheckBox *m_autoScrollCb = nullptr; QLabel *m_lineCountLbl = nullptr; - bool m_autoScroll = true; + bool m_autoScroll = true; // ON by default int m_lineCount = 0; static const QRegularExpression s_tagRe; diff --git a/include/serialworker.h b/include/serialworker.h index 58e6044..b46aaad 100644 --- a/include/serialworker.h +++ b/include/serialworker.h @@ -10,9 +10,9 @@ // SerialWorker lives in its own QThread and owns the QSerialPort. // It emits newLine() for every complete line received, // tagDetected() when a line contains a recognised tag like [WDG], -// and clearScreen() when the ANSI clear-screen sequence \033[2J is received. -// Auto-reconnect: if the port drops unexpectedly (e.g. USB cable pulled), -// the worker retries every reconnectIntervalMs until success or closePort(). +// and clearScreen() when an ANSI clear-screen sequence is received. +// Auto-reconnect: if the port drops unexpectedly, the worker retries +// every reconnectIntervalMs until success or closePort(). class SerialWorker : public QObject { Q_OBJECT @@ -21,9 +21,8 @@ public: explicit SerialWorker(QObject *parent = nullptr); ~SerialWorker(); - // Auto-reconnect configuration (call before openPort, or any time) - void setAutoReconnect(bool enabled) { m_autoReconnect = enabled; } - void setReconnectInterval(int ms) { m_reconnectIntervalMs = ms; } + void setAutoReconnect(bool enabled) { m_autoReconnect = enabled; } + void setReconnectInterval(int ms) { m_reconnectIntervalMs = ms; } public slots: void openPort(const QString &portName, qint32 baudRate, @@ -31,17 +30,17 @@ public slots: QSerialPort::Parity parity, QSerialPort::StopBits stopBits, QSerialPort::FlowControl flowControl); - void closePort(); // explicit user disconnect – stops reconnect + void closePort(); void setLogFile(const QString &path); void stopLogging(); signals: void newLine(const QString &line); void tagDetected(const QString &tag, const QString &value); - void clearScreen(); // emitted when \033[2J\033[H (or \033[2J alone) is received + void clearScreen(); void portOpened(); void portClosed(); - void reconnecting(int attempt); // fired each retry attempt + void reconnecting(int attempt); void errorOccurred(const QString &message); private slots: @@ -54,23 +53,22 @@ private: void processLine(const QString &line); void scheduleReconnect(); - QSerialPort *m_port = nullptr; - QFile *m_logFile = nullptr; + QSerialPort *m_port = nullptr; + QFile *m_logFile = nullptr; QTextStream *m_logStream = nullptr; QString m_buffer; + QByteArray m_scanTail; // carries partial ANSI sequences across reads - // Reconnect state - QTimer *m_reconnectTimer = nullptr; - bool m_autoReconnect = true; - bool m_userDisconnected = false; // true only after explicit closePort() - int m_reconnectIntervalMs = 2000; - int m_reconnectAttempt = 0; + QTimer *m_reconnectTimer = nullptr; + bool m_autoReconnect = true; + bool m_userDisconnected = false; + int m_reconnectIntervalMs = 2000; + int m_reconnectAttempt = 0; - // Saved config for reconnect QString m_portName; - qint32 m_baudRate = 115200; - QSerialPort::DataBits m_dataBits = QSerialPort::Data8; - QSerialPort::Parity m_parity = QSerialPort::NoParity; - QSerialPort::StopBits m_stopBits = QSerialPort::OneStop; - QSerialPort::FlowControl m_flowControl= QSerialPort::NoFlowControl; + qint32 m_baudRate = 115200; + QSerialPort::DataBits m_dataBits = QSerialPort::Data8; + QSerialPort::Parity m_parity = QSerialPort::NoParity; + QSerialPort::StopBits m_stopBits = QSerialPort::OneStop; + QSerialPort::FlowControl m_flowControl = QSerialPort::NoFlowControl; }; diff --git a/include/tableview.h b/include/tableview.h index 67a3221..01ec428 100644 --- a/include/tableview.h +++ b/include/tableview.h @@ -10,13 +10,6 @@ #include // TableView interprets UART lines as delimited data and shows them in a table. -// The first line that matches the column count is used as the header row if it -// starts with '#'. Otherwise column names are auto-generated (Col 1, Col 2, …). -// -// Supported delimiters: comma, semicolon, tab, pipe, space -// To use: send lines like: -// #time,temp,voltage,current -// 1234,23.5,3.3,0.42 class TableView : public QWidget { Q_OBJECT @@ -37,16 +30,16 @@ private: void parseHeaders(const QString &line); bool tryAppendRow(const QString &line); - QTableWidget *m_table = nullptr; - QComboBox *m_delimCombo = nullptr; - QLineEdit *m_maxRowsEdit = nullptr; - QPushButton *m_clearBtn = nullptr; - QCheckBox *m_autoScrollCb = nullptr; + QTableWidget *m_table = nullptr; + QComboBox *m_delimCombo = nullptr; + QLineEdit *m_maxRowsEdit = nullptr; + QPushButton *m_clearBtn = nullptr; + QCheckBox *m_autoScrollCb = nullptr; QStringList m_headers; - QList m_rows; // raw data for rebuild - int m_maxRows = 500; - char m_delimiter = ','; + QList m_rows; + int m_maxRows = 500; + char m_delimiter = ','; bool m_autoScroll = true; bool m_headersSet = false; }; diff --git a/include/tagpanel.h b/include/tagpanel.h index ccbd421..2a9d68d 100644 --- a/include/tagpanel.h +++ b/include/tagpanel.h @@ -6,11 +6,16 @@ #include #include #include +#include // TagPanel displays the most recent data for a single tag (e.g. [WDG]). // Key=value pairs are shown in a table that updates in-place. -// A "Copy" button copies the current values to the clipboard. -// No timestamp is shown here – timestamps belong in the Raw view. +// If a value contains ';', it is treated as a LIST: the key is shown once +// and each list element gets its own row below it (key cell left empty +// for the continuation rows, like a merged-cell look). +// Example: Devs=trackdisk.device;input.device +// Devs trackdisk.device +// input.device class TagPanel : public QGroupBox { Q_OBJECT @@ -29,10 +34,16 @@ private slots: private: void parseKeyValue(const QString &value); void showRaw(const QString &value); - void ensureRow(const QString &key); + // Replaces all rows belonging to `key` with one row per value in `values`. + void setKeyValues(const QString &key, const QStringList &values); QString m_tag; QTableWidget *m_table = nullptr; QLabel *m_rawLabel = nullptr; - QStringList m_keys; + + // Track which table rows belong to which key, so repeated updates can + // replace the previous rows instead of appending duplicates. + // Maps key -> (first row index, row count) + struct KeyRange { int firstRow; int count; }; + QMap m_keyRanges; }; diff --git a/include/tagwidget.h b/include/tagwidget.h index 0f6f368..bc50f96 100644 --- a/include/tagwidget.h +++ b/include/tagwidget.h @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include @@ -25,6 +25,6 @@ public slots: void removeTag(const QString &tag); private: - QVBoxLayout *m_panelLayout = nullptr; + QVBoxLayout *m_panelLayout = nullptr; QMap m_panels; }; diff --git a/include/v4l2worker.h b/include/v4l2worker.h index 1f9891d..6b190a5 100644 --- a/include/v4l2worker.h +++ b/include/v4l2worker.h @@ -24,8 +24,8 @@ signals: void errorOccurred(const QString &message); private: - void stop(); // joins m_captureThread, closes device – safe from any thread - void captureLoop(); // runs inside m_captureThread + void stop(); + void captureLoop(); bool openDevice(const QString &device, int width, int height); void closeDevice(); bool initMmap(); @@ -45,5 +45,5 @@ private: int m_nBuffers = 0; std::atomic m_running{false}; - std::thread m_captureThread; // dedicated capture thread – not the Qt event thread + std::thread m_captureThread; }; diff --git a/include/videowidget.h b/include/videowidget.h index 1c73d2e..3606caa 100644 --- a/include/videowidget.h +++ b/include/videowidget.h @@ -7,18 +7,9 @@ #include #include #include -#include #include "v4l2worker.h" -// VideoWidget shows a live preview of a V4L2 capture device. -// It lives in the right-side panel, below the Tag Monitor. -// Features: -// - Device selector (auto-enumerates /dev/video*) -// - Start / Stop capture -// - Freeze-frame toggle -// - Screenshot (saves current frame as PNG/JPG) -// - Frame is scaled to fit the widget while keeping aspect ratio class VideoWidget : public QWidget { Q_OBJECT @@ -28,12 +19,11 @@ public: ~VideoWidget(); public: - // Called by MainWindow::closeEvent to guarantee orderly shutdown before - // widget destruction. Safe to call multiple times. - void shutdown(); + void shutdown(); // safe to call multiple times, called from MainWindow::closeEvent public slots: void onNewFrame(const QImage &frame); + void clearFrame(); // blanks the preview (used on ANSI clear-screen) private slots: void onStartStop(); @@ -51,21 +41,18 @@ private: void stopCapture(); void updateScaled(); - // Worker QThread *m_thread = nullptr; V4l2Worker *m_worker = nullptr; - // Current frame QImage m_frame; QImage m_scaled; bool m_frozen = false; bool m_running = false; bool m_shutdownDone = false; - // UI - QComboBox *m_deviceCombo = nullptr; - QPushButton *m_startBtn = nullptr; - QPushButton *m_freezeBtn = nullptr; - QPushButton *m_screenshotBtn= nullptr; - QLabel *m_infoLabel = nullptr; + QComboBox *m_deviceCombo = nullptr; + QPushButton *m_startBtn = nullptr; + QPushButton *m_freezeBtn = nullptr; + QPushButton *m_screenshotBtn = nullptr; + QLabel *m_infoLabel = nullptr; }; diff --git a/src/connectdialog.cpp b/src/connectdialog.cpp index cc52c81..cf41d2c 100644 --- a/src/connectdialog.cpp +++ b/src/connectdialog.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include @@ -16,19 +15,16 @@ ConnectDialog::ConnectDialog(QWidget *parent) form->setRowWrapPolicy(QFormLayout::DontWrapRows); form->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - // ── Port ────────────────────────────────────────────────────────────────── auto *portRow = new QHBoxLayout(); m_portCombo = new QComboBox(this); m_portCombo->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); auto *refreshBtn = new QPushButton(tr("↻"), this); refreshBtn->setMaximumWidth(30); - refreshBtn->setToolTip(tr("Refresh port list")); connect(refreshBtn, &QPushButton::clicked, this, &ConnectDialog::refreshPorts); portRow->addWidget(m_portCombo, 1); portRow->addWidget(refreshBtn); form->addRow(tr("Port:"), portRow); - // ── Baud rate ───────────────────────────────────────────────────────────── m_baudCombo = new QComboBox(this); const QList bauds = {1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600}; @@ -37,7 +33,6 @@ ConnectDialog::ConnectDialog(QWidget *parent) m_baudCombo->setCurrentText("115200"); form->addRow(tr("Baud rate:"), m_baudCombo); - // ── Data bits ───────────────────────────────────────────────────────────── m_dataBitsCombo = new QComboBox(this); m_dataBitsCombo->addItem("5", QSerialPort::Data5); m_dataBitsCombo->addItem("6", QSerialPort::Data6); @@ -46,7 +41,6 @@ ConnectDialog::ConnectDialog(QWidget *parent) m_dataBitsCombo->setCurrentText("8"); form->addRow(tr("Data bits:"), m_dataBitsCombo); - // ── Parity ──────────────────────────────────────────────────────────────── m_parityCombo = new QComboBox(this); m_parityCombo->addItem(tr("None"), QSerialPort::NoParity); m_parityCombo->addItem(tr("Even"), QSerialPort::EvenParity); @@ -55,21 +49,18 @@ ConnectDialog::ConnectDialog(QWidget *parent) m_parityCombo->addItem(tr("Mark"), QSerialPort::MarkParity); form->addRow(tr("Parity:"), m_parityCombo); - // ── Stop bits ───────────────────────────────────────────────────────────── m_stopBitsCombo = new QComboBox(this); m_stopBitsCombo->addItem("1", QSerialPort::OneStop); m_stopBitsCombo->addItem("1.5", QSerialPort::OneAndHalfStop); m_stopBitsCombo->addItem("2", QSerialPort::TwoStop); form->addRow(tr("Stop bits:"), m_stopBitsCombo); - // ── Flow control ────────────────────────────────────────────────────────── m_flowCombo = new QComboBox(this); m_flowCombo->addItem(tr("None"), QSerialPort::NoFlowControl); m_flowCombo->addItem(tr("RTS/CTS"), QSerialPort::HardwareControl); m_flowCombo->addItem(tr("XON/XOFF"), QSerialPort::SoftwareControl); form->addRow(tr("Flow control:"), m_flowCombo); - // ── Log file ────────────────────────────────────────────────────────────── auto *logRow = new QHBoxLayout(); m_logPathEdit = new QLineEdit(this); m_logPathEdit->setPlaceholderText(tr("(optional) path/to/output.log")); @@ -80,7 +71,6 @@ ConnectDialog::ConnectDialog(QWidget *parent) logRow->addWidget(browseBtn); form->addRow(tr("Log file:"), logRow); - // ── Buttons ─────────────────────────────────────────────────────────────── auto *buttons = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept); diff --git a/src/main.cpp b/src/main.cpp index 47ed4f9..e96c677 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "mainwindow.h" int main(int argc, char *argv[]) @@ -9,10 +10,11 @@ int main(int argc, char *argv[]) app.setApplicationVersion("1.0.0"); app.setOrganizationName("ChicaDev"); - // Prefer Fusion style for consistent cross-distro look app.setStyle(QStyleFactory::create("Fusion")); - // Optional: dark palette (comment out if you prefer system theme) + const QIcon appIcon(":/icons/UartscopeLogo.png"); + app.setWindowIcon(appIcon); + QPalette darkPalette; darkPalette.setColor(QPalette::Window, QColor(0x2b, 0x2b, 0x2b)); darkPalette.setColor(QPalette::WindowText, QColor(0xdc, 0xdc, 0xdc)); @@ -29,10 +31,6 @@ int main(int argc, char *argv[]) darkPalette.setColor(QPalette::HighlightedText, Qt::white); app.setPalette(darkPalette); - // Set application icon (embedded via Qt resource) - const QIcon appIcon(":/icons/UartscopeLogo.png"); - app.setWindowIcon(appIcon); - MainWindow w; w.show(); return app.exec(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7f4a67a..c9e9b00 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,9 +1,9 @@ #include "mainwindow.h" -#include #include #include #include #include +#include #include #include #include @@ -14,6 +14,7 @@ #include #include #include +#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -26,7 +27,6 @@ MainWindow::MainWindow(QWidget *parent) setupStatusBar(); restoreSettings(); - // ── Worker thread ───────────────────────────────────────────────────────── m_thread = new QThread(this); m_worker = new SerialWorker(); m_worker->moveToThread(m_thread); @@ -46,9 +46,6 @@ MainWindow::MainWindow(QWidget *parent) MainWindow::~MainWindow() { - // All real cleanup happens in closeEvent(). The destructor only runs if - // the window was destroyed without a close event (e.g. programmatically), - // so we guard against double-cleanup with m_shutdownDone. doShutdown(); } @@ -66,11 +63,9 @@ void MainWindow::doShutdown() saveSettings(); - // 1. Stop V4L2 capture first (joins the internal std::thread) if (m_videoWidget) m_videoWidget->shutdown(); - // 2. Stop UART serial worker if (m_thread && m_thread->isRunning()) { QMetaObject::invokeMethod(m_worker, "closePort", Qt::BlockingQueuedConnection); m_thread->quit(); @@ -82,12 +77,10 @@ void MainWindow::doShutdown() void MainWindow::setupUi() { - // ── Outer horizontal splitter: (Raw+Table tabs) | right panel ──────────── m_mainSplitter = new QSplitter(Qt::Horizontal, this); + m_mainSplitter->setHandleWidth(5); auto *mainSplitter = m_mainSplitter; - mainSplitter->setHandleWidth(5); - // Left: tabs for Raw and Table views auto *tabs = new QTabWidget(mainSplitter); tabs->setTabPosition(QTabWidget::South); @@ -97,7 +90,6 @@ void MainWindow::setupUi() m_tableView = new TableView(tabs); tabs->addTab(m_tableView, tr("Table view")); - // Right: vertical splitter – Tag Monitor on top, Video below m_rightSplitter = new QSplitter(Qt::Vertical, mainSplitter); auto *rightSplitter = m_rightSplitter; rightSplitter->setHandleWidth(5); @@ -110,9 +102,8 @@ void MainWindow::setupUi() rightSplitter->addWidget(m_tagWidget); rightSplitter->addWidget(m_videoWidget); - // Initial split: ~30% tags, ~70% video – user can drag to taste rightSplitter->setStretchFactor(0, 1); - rightSplitter->setStretchFactor(1, 2); + rightSplitter->setStretchFactor(1, 1); rightSplitter->setSizes({330, 330}); mainSplitter->addWidget(tabs); @@ -143,7 +134,6 @@ void MainWindow::setupToolBar() tb->addSeparator(); - // ── Auto-reconnect controls ─────────────────────────────────────────────── m_autoReconnectCb = new QCheckBox(tr("Auto-reconnect"), tb); m_autoReconnectCb->setChecked(true); m_autoReconnectCb->setToolTip(tr("Automatically reconnect when the port drops")); @@ -161,7 +151,6 @@ void MainWindow::setupToolBar() m_reconnectIntervalSb->setSingleStep(500); m_reconnectIntervalSb->setValue(2000); m_reconnectIntervalSb->setSuffix(tr(" ms")); - m_reconnectIntervalSb->setToolTip(tr("Interval between reconnect attempts")); connect(m_reconnectIntervalSb, QOverload::of(&QSpinBox::valueChanged), this, [this](int ms) { QMetaObject::invokeMethod(m_worker, [this, ms] { @@ -172,21 +161,18 @@ void MainWindow::setupToolBar() tb->addSeparator(); - // ── Tag filter ──────────────────────────────────────────────────────────── auto *filterAction = tb->addAction(tr("Tag filter…")); filterAction->setToolTip(tr("Choose which tags are hidden from the Raw view")); connect(filterAction, &QAction::triggered, this, &MainWindow::configureTagFilter); tb->addSeparator(); - // ── Format reference ────────────────────────────────────────────────────── auto *helpAction = tb->addAction(tr("Format reference")); helpAction->setToolTip(tr("Show UARTScope output format guide (copy for AI)")); connect(helpAction, &QAction::triggered, this, &MainWindow::showFormatReference); tb->addSeparator(); - // ── About ───────────────────────────────────────────────────────────────── auto *aboutAction = tb->addAction(tr("Über UARTScope")); connect(aboutAction, &QAction::triggered, this, &MainWindow::showAbout); } @@ -197,7 +183,7 @@ void MainWindow::setupStatusBar() m_reconnectLabel = new QLabel(this); m_portLabel = new QLabel(this); - m_reconnectLabel->setStyleSheet("color: #e5a50a;"); // amber + m_reconnectLabel->setStyleSheet("color: #e5a50a;"); statusBar()->addWidget(m_stateLabel); statusBar()->addWidget(m_reconnectLabel); @@ -223,7 +209,6 @@ void MainWindow::onConnectClicked() Qt::QueuedConnection, Q_ARG(QString, m_lastConfig.logFilePath)); - // Push current reconnect settings to worker before opening const bool autoRec = m_autoReconnectCb->isChecked(); const int interval = m_reconnectIntervalSb->value(); QMetaObject::invokeMethod(m_worker, [this, autoRec, interval] { @@ -277,13 +262,13 @@ void MainWindow::onReconnecting(int attempt) void MainWindow::onClearScreen() { + // ANSI clear-screen received from the firmware: clear ALL three views + // (raw output, table, AND the tag monitor) plus the video preview frame. clearAllViews(); } void MainWindow::onError(const QString &message) { - // Only show a dialog for errors that arrive when we are NOT in reconnect - // mode – otherwise the amber status text is sufficient feedback. if (!m_autoReconnectCb->isChecked()) { QMessageBox::critical(this, tr("Serial error"), message); onPortClosed(); @@ -306,6 +291,8 @@ void MainWindow::clearAllViews() m_rawView->clear(); m_tableView->clear(); m_tagWidget->clearAll(); + if (m_videoWidget) + m_videoWidget->clearFrame(); } // ── Format reference dialog ──────────────────────────────────────────────── @@ -322,12 +309,11 @@ three parallel ways. You can use any combination. ──────────────────────────────────────────────────────────── 1. RAW OUTPUT (always active) ──────────────────────────────────────────────────────────── -Every line sent over UART is shown verbatim in the "Raw output" tab. -No special formatting needed. +Every line sent over UART is shown verbatim (with a timestamp) in the +"Raw output" tab. No special formatting needed. - uart_printf("Boot complete. Version 1.0\n"); - -ANSI clear-screen → clears ALL views simultaneously: +ANSI clear-screen → clears ALL views simultaneously (raw output, table, +tag monitor, and the video preview frame): uart_printf("\033[2J\033[H"); // standard VT100 clear-screen + cursor home @@ -336,17 +322,25 @@ ANSI clear-screen → clears ALL views simultaneously: ──────────────────────────────────────────────────────────── Any line that contains [TAGNAME] is intercepted and displayed in a dedicated panel in the Tag Monitor. The line is still shown in Raw output -(highlighted in cyan) so nothing is hidden. +(highlighted in cyan) unless the tag is added to the Tag Filter. TAG FORMAT: [TAGNAME] key1=value1 key2=value2 ... Rules: • Tag name: uppercase letters, digits, underscore. Examples: WDG, VIDEO, I2C_BUS - • Tag must start the meaningful content (leading whitespace is fine) • Key=value pairs are space-separated; values must not contain spaces • If no key=value pairs are present the raw string is shown as-is +LIST VALUES: separate multiple items in one value with ';' – they are +shown as a multi-line list under the same key in the Tag Monitor: + + uart_printf("[KICKSTART] Devs=trackdisk.device;input.device\n"); + + → Tag Monitor shows: + Devs trackdisk.device + input.device + Examples: uart_printf("[WDG] uptime=%lu free_heap=%lu temp=%d\n", uptime_ms, heap_free, cpu_temp); @@ -354,11 +348,7 @@ Examples: uart_printf("[VIDEO] line=%d hblank=%d vblank=%d dma_buf=%d\n", scanline, hblank_cycles, vblank_cycles, dma_remaining); - uart_printf("[AUDIO] buf=%d underruns=%lu vol=%d\n", - audio_buf_level, underrun_count, volume); - - uart_printf("[I2C] addr=0x%02X ack=%d err=%d\n", - i2c_addr, ack_received, error_code); + uart_printf("[KICKSTART] Libs=graphics.library;intuition.library;dos.library\n"); Each unique tag gets its own panel. Panels update in-place so repeated messages don't scroll past – perfect for periodic watchdog output. @@ -390,30 +380,25 @@ No special firmware changes needed. 5. COMPLETE EXAMPLE (Chica / Amiga hardware emulation) ──────────────────────────────────────────────────────────── void uart_status_update(void) { - // Watchdog heartbeat → Tag Monitor [WDG] uart_printf("[WDG] uptime=%lu free=%lu load=%d temp=%d\n", HAL_GetTick(), xPortGetFreeHeapSize(), cpu_load_percent, core_temp_c); - // Video timing → Tag Monitor [VIDEO] uart_printf("[VIDEO] line=%d hblank=%d vblank=%d copper=%d\n", current_scanline, hblank_ticks, vblank_ticks, copper_dma); - // Audio state → Tag Monitor [AUDIO] - uart_printf("[AUDIO] ch=%d buf=%d underruns=%lu\n", - active_channels, buffer_fill, total_underruns); + uart_printf("[KICKSTART] Devs=trackdisk.device;input.device;console.device\n"); + uart_printf("[KICKSTART] Libs=graphics.library;intuition.library\n"); // Structured CSV data → Table view uart_printf("%lu,%.1f,%d,%d\n", HAL_GetTick(), vcc_mv / 1000.0f, cpu_load_percent, core_temp_c); } -// Call from your main loop or a timer ISR, e.g. every 500 ms // Clear screen from firmware when you want a fresh start: // uart_printf("\033[2J\033[H"); )"; - // ── Dialog ──────────────────────────────────────────────────────────────── auto *dlg = new QDialog(this); dlg->setWindowTitle(tr("UARTScope – Format Reference")); dlg->resize(720, 620); @@ -475,7 +460,6 @@ void MainWindow::configureTagFilter() QFont mono("Monospace"); mono.setStyleHint(QFont::Monospace); edit->setFont(mono); - // Pre-populate with current filter QStringList current(m_suppressedTags.values()); current.sort(); edit->setPlainText(current.join('\n')); @@ -495,66 +479,12 @@ void MainWindow::configureTagFilter() if (!tag.isEmpty()) m_suppressedTags.insert(tag); } + // Persist immediately so the filter survives even an unexpected exit. + saveSettings(); } dlg->deleteLater(); } -// ── Settings: save / restore ─────────────────────────────────────────────── - -void MainWindow::saveSettings() -{ - QSettings s("ChicaDev", "UARTScope"); - - // Window geometry & state - s.setValue("window/geometry", saveGeometry()); - s.setValue("window/state", saveState()); - - // Splitter sizes - if (m_mainSplitter) - s.setValue("splitter/main", m_mainSplitter->saveState()); - if (m_rightSplitter) - s.setValue("splitter/right", m_rightSplitter->saveState()); - - // Toolbar settings - s.setValue("reconnect/enabled", m_autoReconnectCb->isChecked()); - s.setValue("reconnect/interval", m_reconnectIntervalSb->value()); - - // Tag filter - QStringList tags(m_suppressedTags.values()); - tags.sort(); - s.setValue("tagfilter/suppressed", tags); -} - -void MainWindow::restoreSettings() -{ - QSettings s("ChicaDev", "UARTScope"); - - // Window geometry & state - if (s.contains("window/geometry")) - restoreGeometry(s.value("window/geometry").toByteArray()); - if (s.contains("window/state")) - restoreState(s.value("window/state").toByteArray()); - - // Splitter sizes (only restore if we have saved data) - if (m_mainSplitter && s.contains("splitter/main")) - m_mainSplitter->restoreState(s.value("splitter/main").toByteArray()); - if (m_rightSplitter && s.contains("splitter/right")) - m_rightSplitter->restoreState(s.value("splitter/right").toByteArray()); - - // Toolbar settings - if (s.contains("reconnect/enabled")) - m_autoReconnectCb->setChecked(s.value("reconnect/enabled").toBool()); - if (s.contains("reconnect/interval")) - m_reconnectIntervalSb->setValue(s.value("reconnect/interval").toInt()); - - // Tag filter - const QStringList tags = s.value("tagfilter/suppressed").toStringList(); - m_suppressedTags.clear(); - for (const QString &t : tags) - if (!t.isEmpty()) - m_suppressedTags.insert(t); -} - // ── About dialog ────────────────────────────────────────────────────────── void MainWindow::showAbout() @@ -567,7 +497,6 @@ void MainWindow::showAbout() root->setContentsMargins(0, 0, 0, 0); root->setSpacing(0); - // ── Header block (dark accent) ──────────────────────────────────────────── auto *header = new QWidget(dlg); header->setFixedHeight(110); header->setStyleSheet("background-color: #1e1e1e;"); @@ -575,14 +504,12 @@ void MainWindow::showAbout() headerLayout->setContentsMargins(20, 14, 24, 14); headerLayout->setSpacing(16); - // Logo auto *logoLabel = new QLabel(header); const QPixmap logoPix(":/icons/UartscopeLogo.png"); logoLabel->setPixmap(logoPix.scaled(72, 72, Qt::KeepAspectRatio, Qt::SmoothTransformation)); logoLabel->setStyleSheet("background: transparent;"); logoLabel->setFixedSize(72, 72); - // Title + subtitle auto *titleBlock = new QVBoxLayout(); titleBlock->setSpacing(4); auto *titleLabel = new QLabel("UARTScope", header); @@ -598,7 +525,6 @@ void MainWindow::showAbout() headerLayout->addLayout(titleBlock); root->addWidget(header); - // ── Info grid ───────────────────────────────────────────────────────────── auto *body = new QWidget(dlg); body->setStyleSheet("background-color: #252526;"); auto *grid = new QGridLayout(body); @@ -628,7 +554,6 @@ void MainWindow::showAbout() root->addWidget(body, 1); - // ── Footer with close button ────────────────────────────────────────────── auto *footer = new QWidget(dlg); footer->setStyleSheet("background-color: #252526; border-top: 1px solid #3c3c3c;"); auto *footerLayout = new QHBoxLayout(footer); @@ -646,3 +571,54 @@ void MainWindow::showAbout() dlg->exec(); dlg->deleteLater(); } + +// ── Settings: save / restore ─────────────────────────────────────────────── + +void MainWindow::saveSettings() +{ + QSettings s("ChicaDev", "UARTScope"); + + s.setValue("window/geometry", saveGeometry()); + s.setValue("window/state", saveState()); + + if (m_mainSplitter) + s.setValue("splitter/main", m_mainSplitter->saveState()); + if (m_rightSplitter) + s.setValue("splitter/right", m_rightSplitter->saveState()); + + s.setValue("reconnect/enabled", m_autoReconnectCb->isChecked()); + s.setValue("reconnect/interval", m_reconnectIntervalSb->value()); + + QStringList tags(m_suppressedTags.values()); + tags.sort(); + s.setValue("tagfilter/suppressed", tags); + + s.sync(); // flush to disk immediately (important since we also call + // this mid-session from configureTagFilter()) +} + +void MainWindow::restoreSettings() +{ + QSettings s("ChicaDev", "UARTScope"); + + if (s.contains("window/geometry")) + restoreGeometry(s.value("window/geometry").toByteArray()); + if (s.contains("window/state")) + restoreState(s.value("window/state").toByteArray()); + + if (m_mainSplitter && s.contains("splitter/main")) + m_mainSplitter->restoreState(s.value("splitter/main").toByteArray()); + if (m_rightSplitter && s.contains("splitter/right")) + m_rightSplitter->restoreState(s.value("splitter/right").toByteArray()); + + if (s.contains("reconnect/enabled")) + m_autoReconnectCb->setChecked(s.value("reconnect/enabled").toBool()); + if (s.contains("reconnect/interval")) + m_reconnectIntervalSb->setValue(s.value("reconnect/interval").toInt()); + + const QStringList tags = s.value("tagfilter/suppressed").toStringList(); + m_suppressedTags.clear(); + for (const QString &t : tags) + if (!t.isEmpty()) + m_suppressedTags.insert(t); +} diff --git a/src/rawview.cpp b/src/rawview.cpp index bdb9996..f3f7c44 100644 --- a/src/rawview.cpp +++ b/src/rawview.cpp @@ -24,7 +24,6 @@ void RawView::setupUi() mainLayout->setContentsMargins(4, 4, 4, 4); mainLayout->setSpacing(4); - // ── Toolbar ────────────────────────────────────────────────────────────── auto *toolbar = new QHBoxLayout(); m_searchEdit = new QLineEdit(this); @@ -33,7 +32,7 @@ void RawView::setupUi() connect(m_searchEdit, &QLineEdit::textChanged, this, &RawView::onSearch); m_autoScrollCb = new QCheckBox(tr("Auto-scroll"), this); - m_autoScrollCb->setChecked(true); + m_autoScrollCb->setChecked(true); // default ON connect(m_autoScrollCb, &QCheckBox::toggled, this, &RawView::onAutoScrollToggled); m_lineCountLbl = new QLabel(tr("Lines: 0"), this); @@ -54,11 +53,10 @@ void RawView::setupUi() toolbar->addWidget(m_clearBtn); mainLayout->addLayout(toolbar); - // ── Text area ───────────────────────────────────────────────────────────── m_textEdit = new QPlainTextEdit(this); m_textEdit->setReadOnly(true); m_textEdit->setLineWrapMode(QPlainTextEdit::NoWrap); - m_textEdit->setMaximumBlockCount(0); // unlimited + m_textEdit->setMaximumBlockCount(0); QFont monoFont("Monospace"); monoFont.setStyleHint(QFont::Monospace); @@ -84,39 +82,27 @@ void RawView::applyColorScheme() void RawView::appendLine(const QString &line, const QSet &suppressedTags) { - // Check whether this line belongs to a suppressed tag if (!suppressedTags.isEmpty()) { const auto match = s_tagRe.match(line); - if (match.hasMatch()) { - if (suppressedTags.contains(match.captured(1).toUpper())) - return; // silently drop – it goes to the Tag Monitor only - } + if (match.hasMatch() && suppressedTags.contains(match.captured(1).toUpper())) + return; } ++m_lineCount; m_lineCountLbl->setText(tr("Lines: %1").arg(m_lineCount)); - // Prepend timestamp const QString ts = QDateTime::currentDateTime().toString("hh:mm:ss.zzz"); - const QString displayLine = QStringLiteral("[%1] %2").arg(ts, line); - - // Colour tag lines cyan, everything else default const bool hasTag = s_tagRe.match(line).hasMatch(); QTextCursor cursor(m_textEdit->document()); cursor.movePosition(QTextCursor::End); - QTextCharFormat fmt; - if (hasTag) - fmt.setForeground(QColor(0x56, 0xb6, 0xc2)); // cyan - else - fmt.setForeground(QColor(0xd4, 0xd4, 0xd4)); // default - - // Dim the timestamp portion QTextCharFormat tsFmt; tsFmt.setForeground(QColor(0x60, 0x60, 0x60)); - cursor.insertText(QStringLiteral("[%1] ").arg(ts), tsFmt); + + QTextCharFormat fmt; + fmt.setForeground(hasTag ? QColor(0x56, 0xb6, 0xc2) : QColor(0xd4, 0xd4, 0xd4)); cursor.insertText(line + '\n', fmt); if (m_autoScroll) diff --git a/src/serialworker.cpp b/src/serialworker.cpp index 7dc0a6e..a81b6e1 100644 --- a/src/serialworker.cpp +++ b/src/serialworker.cpp @@ -10,8 +10,8 @@ SerialWorker::SerialWorker(QObject *parent) m_reconnectTimer->setSingleShot(true); connect(m_reconnectTimer, &QTimer::timeout, this, &SerialWorker::tryReconnect); - connect(m_port, &QSerialPort::readyRead, this, &SerialWorker::onReadyRead); - connect(m_port, &QSerialPort::errorOccurred, this, &SerialWorker::onPortError); + connect(m_port, &QSerialPort::readyRead, this, &SerialWorker::onReadyRead); + connect(m_port, &QSerialPort::errorOccurred, this, &SerialWorker::onPortError); } SerialWorker::~SerialWorker() @@ -20,7 +20,7 @@ SerialWorker::~SerialWorker() closePort(); } -// ── Public slots ──────────────────────────────────────────────────────────── +// ── public slots ────────────────────────────────────────────────────────────── void SerialWorker::openPort(const QString &portName, qint32 baudRate, QSerialPort::DataBits dataBits, @@ -28,7 +28,6 @@ void SerialWorker::openPort(const QString &portName, qint32 baudRate, QSerialPort::StopBits stopBits, QSerialPort::FlowControl flowControl) { - // Save config for auto-reconnect m_portName = portName; m_baudRate = baudRate; m_dataBits = dataBits; @@ -55,6 +54,7 @@ void SerialWorker::openPort(const QString &portName, qint32 baudRate, return; } m_buffer.clear(); + m_scanTail.clear(); m_reconnectAttempt = 0; emit portOpened(); } @@ -107,7 +107,7 @@ void SerialWorker::stopLogging() } } -// ── Private slots ─────────────────────────────────────────────────────────── +// ── private slots ─────────────────────────────────────────────────────────── void SerialWorker::onReadyRead() { @@ -119,7 +119,6 @@ void SerialWorker::onPortError(QSerialPort::SerialPortError err) if (err == QSerialPort::NoError) return; - // ResourceError = device physically disconnected (USB pull, power loss) const bool fatal = (err == QSerialPort::ResourceError || err == QSerialPort::DeviceNotFoundError); @@ -132,8 +131,6 @@ void SerialWorker::onPortError(QSerialPort::SerialPortError err) emit errorOccurred(m_port->errorString()); } } - // Non-fatal errors (framing, parity, etc.) are silently ignored to avoid - // spamming the user during noisy serial sessions. } void SerialWorker::tryReconnect() @@ -153,6 +150,7 @@ void SerialWorker::tryReconnect() if (m_port->open(QIODevice::ReadOnly)) { m_buffer.clear(); + m_scanTail.clear(); m_reconnectAttempt = 0; emit portOpened(); } else { @@ -160,7 +158,7 @@ void SerialWorker::tryReconnect() } } -// ── Private helpers ───────────────────────────────────────────────────────── +// ── private helpers ───────────────────────────────────────────────────────── void SerialWorker::scheduleReconnect() { @@ -170,23 +168,48 @@ void SerialWorker::scheduleReconnect() void SerialWorker::processRawData(const QByteArray &data) { - // Scan raw bytes for ANSI clear-screen BEFORE UTF-8 conversion so we - // never miss a sequence that straddles a read boundary. - // We look for ESC[2J (optionally followed by ESC[H or ESC[1;1H) - // ESC = 0x1B - const QByteArray esc2j("\x1b[2J"); - if (data.contains(esc2j)) { - emit clearScreen(); - // Strip all ANSI escape sequences from the data before further processing - // so they don't clutter the raw view. + // ── ANSI clear-screen detection ──────────────────────────────────────── + // We scan a buffer that includes a small tail from the PREVIOUS chunk so + // that a sequence split across two readyRead() calls (e.g. "...\x1b" + + // "[2J\x1b[H...") is still detected reliably. The clear sequence itself + // is also stripped from what reaches processLine()/the line buffer. + QByteArray combined = m_scanTail + data; + bool sawClear = false; + + // Look for ESC[2J (the actual screen-clear command). ESC[H / ESC[1;1H + // (cursor-home) commonly follows but isn't required for us to clear. + const QByteArray clearSeq("\x1b[2J"); + int clearPos = combined.indexOf(clearSeq); + while (clearPos != -1) { + sawClear = true; + // Remove the matched sequence so it doesn't leak into the text stream + combined.remove(clearPos, clearSeq.size()); + clearPos = combined.indexOf(clearSeq, clearPos); } - // Strip all ANSI escape sequences for display - // Sequence: ESC [ + // Keep the last few bytes as the new tail (in case a sequence is cut off + // at the very end of this chunk); only forward the rest. + constexpr int kTailLen = 8; // longer than any escape sequence we match + QByteArray toProcess; + if (combined.size() > kTailLen) { + toProcess = combined.left(combined.size() - kTailLen); + m_scanTail = combined.right(kTailLen); + } else { + // Not enough data yet to safely flush – hold everything as tail. + m_scanTail = combined; + } + + if (sawClear) + emit clearScreen(); + + if (toProcess.isEmpty()) + return; + + // Strip remaining (non-clear) ANSI escape sequences for clean display. static const QRegularExpression ansiRe( "\x1b(?:[@-Z\\\\-_]|\\[[0-?]*[ -/]*[@-~])"); - QString text = QString::fromUtf8(data); + QString text = QString::fromUtf8(toProcess); text.remove(ansiRe); m_buffer += text; diff --git a/src/tableview.cpp b/src/tableview.cpp index 7479357..4846dc3 100644 --- a/src/tableview.cpp +++ b/src/tableview.cpp @@ -10,7 +10,6 @@ TableView::TableView(QWidget *parent) mainLayout->setContentsMargins(4, 4, 4, 4); mainLayout->setSpacing(4); - // ── Toolbar ────────────────────────────────────────────────────────────── auto *toolbar = new QHBoxLayout(); m_delimCombo = new QComboBox(this); @@ -44,7 +43,6 @@ TableView::TableView(QWidget *parent) toolbar->addWidget(m_clearBtn); mainLayout->addLayout(toolbar); - // ── Table ───────────────────────────────────────────────────────────────── m_table = new QTableWidget(this); m_table->setEditTriggers(QAbstractItemView::NoEditTriggers); m_table->setSelectionBehavior(QAbstractItemView::SelectRows); @@ -66,7 +64,6 @@ void TableView::onDelimiterChanged(int index) void TableView::onMaxRowsChanged() { m_maxRows = m_maxRowsEdit->text().toInt(); - // Trim excess rows while (m_rows.size() > m_maxRows) m_rows.removeFirst(); rebuildTable(); @@ -87,14 +84,13 @@ void TableView::appendLine(const QString &line) if (line.isEmpty()) return; - // Header row starts with '#' if (!m_headersSet && line.startsWith('#')) { - parseHeaders(line.mid(1)); // strip leading '#' + parseHeaders(line.mid(1)); return; } if (!tryAppendRow(line)) - return; // didn't match expected column count + return; if (m_autoScroll) m_table->scrollToBottom(); @@ -114,7 +110,6 @@ bool TableView::tryAppendRow(const QString &line) { const QStringList cells = line.split(m_delimiter); - // Auto-detect column count on the first data row if no header was given if (!m_headersSet) { m_headers.clear(); for (int i = 0; i < cells.size(); ++i) @@ -125,9 +120,8 @@ bool TableView::tryAppendRow(const QString &line) } if (cells.size() != m_headers.size()) - return false; // column mismatch – skip row + return false; - // Enforce max rows m_rows.append(cells); if (m_rows.size() > m_maxRows) m_rows.removeFirst(); @@ -140,7 +134,6 @@ bool TableView::tryAppendRow(const QString &line) m_table->setItem(row, col, item); } - // Remove oldest visual row if over limit if (m_table->rowCount() > m_maxRows) m_table->removeRow(0); diff --git a/src/tagpanel.cpp b/src/tagpanel.cpp index 72bc747..8653814 100644 --- a/src/tagpanel.cpp +++ b/src/tagpanel.cpp @@ -12,25 +12,22 @@ TagPanel::TagPanel(const QString &tag, QWidget *parent) layout->setContentsMargins(6, 14, 6, 6); layout->setSpacing(4); - // ── Table for key=value pairs ───────────────────────────────────────────── m_table = new QTableWidget(0, 2, this); m_table->setHorizontalHeaderLabels({tr("Key"), tr("Value")}); m_table->horizontalHeader()->setStretchLastSection(true); m_table->verticalHeader()->hide(); m_table->setEditTriggers(QAbstractItemView::NoEditTriggers); m_table->setAlternatingRowColors(true); - m_table->setMaximumHeight(200); + m_table->setMaximumHeight(220); m_table->verticalHeader()->setDefaultSectionSize(22); layout->addWidget(m_table); - // ── Fallback label for non-kv data ──────────────────────────────────────── m_rawLabel = new QLabel(this); m_rawLabel->setWordWrap(true); m_rawLabel->setStyleSheet("font-family: monospace;"); m_rawLabel->hide(); layout->addWidget(m_rawLabel); - // ── Copy button ─────────────────────────────────────────────────────────── auto *btnRow = new QHBoxLayout(); btnRow->addStretch(); auto *copyBtn = new QPushButton(tr("📋 Copy"), this); @@ -61,10 +58,59 @@ void TagPanel::parseKeyValue(const QString &value) auto it = kvRe.globalMatch(value); while (it.hasNext()) { const auto match = it.next(); - ensureRow(match.captured(1)); - const int row = m_keys.indexOf(match.captured(1)); - m_table->item(row, 1)->setText(match.captured(2)); - m_table->item(row, 1)->setBackground(QColor(0x2d, 0x5a, 0x2d)); // flash green + const QString key = match.captured(1); + const QString raw = match.captured(2); + + // Split on ';' -> list of values. A plain (non-list) value yields + // a QStringList with exactly one element, which still goes through + // the same code path for consistency. + QStringList values = raw.split(';', Qt::SkipEmptyParts); + if (values.isEmpty()) + values << raw; // preserve even an empty/odd value as-is + + setKeyValues(key, values); + } +} + +void TagPanel::setKeyValues(const QString &key, const QStringList &values) +{ + const int newCount = values.size(); + + if (m_keyRanges.contains(key)) { + // Key already exists – remove its current rows, then re-insert at + // the same starting position with the new row count. + const KeyRange old = m_keyRanges[key]; + for (int i = 0; i < old.count; ++i) + m_table->removeRow(old.firstRow); + + // Shift all OTHER key ranges that started after this one + for (auto it = m_keyRanges.begin(); it != m_keyRanges.end(); ++it) { + if (it.key() != key && it->firstRow > old.firstRow) + it->firstRow += (newCount - old.count); + } + + int insertAt = old.firstRow; + for (int i = 0; i < newCount; ++i) { + m_table->insertRow(insertAt + i); + auto *keyItem = new QTableWidgetItem(i == 0 ? key : QString()); + auto *valItem = new QTableWidgetItem(values[i]); + valItem->setBackground(QColor(0x2d, 0x5a, 0x2d)); // flash green on update + m_table->setItem(insertAt + i, 0, keyItem); + m_table->setItem(insertAt + i, 1, valItem); + } + m_keyRanges[key] = {insertAt, newCount}; + } else { + // New key – append at the bottom + const int insertAt = m_table->rowCount(); + for (int i = 0; i < newCount; ++i) { + m_table->insertRow(insertAt + i); + auto *keyItem = new QTableWidgetItem(i == 0 ? key : QString()); + auto *valItem = new QTableWidgetItem(values[i]); + valItem->setBackground(QColor(0x2d, 0x5a, 0x2d)); + m_table->setItem(insertAt + i, 0, keyItem); + m_table->setItem(insertAt + i, 1, valItem); + } + m_keyRanges[key] = {insertAt, newCount}; } } @@ -73,27 +119,22 @@ void TagPanel::showRaw(const QString &value) m_rawLabel->setText(value); } -void TagPanel::ensureRow(const QString &key) -{ - if (m_keys.contains(key)) - return; - m_keys.append(key); - const int row = m_table->rowCount(); - m_table->insertRow(row); - m_table->setItem(row, 0, new QTableWidgetItem(key)); - m_table->setItem(row, 1, new QTableWidgetItem(QString())); -} - void TagPanel::copyToClipboard() { QStringList lines; lines << QStringLiteral("[%1]").arg(m_tag); if (m_table->isVisible()) { + QString lastKey; for (int r = 0; r < m_table->rowCount(); ++r) { const QString key = m_table->item(r, 0)->text(); const QString val = m_table->item(r, 1)->text(); - lines << QStringLiteral(" %1 = %2").arg(key, val); + if (!key.isEmpty()) { + lines << QStringLiteral(" %1 = %2").arg(key, val); + lastKey = key; + } else { + lines << QStringLiteral(" %1").arg(val); // continuation row + } } } else { lines << QStringLiteral(" %1").arg(m_rawLabel->text()); diff --git a/src/tagwidget.cpp b/src/tagwidget.cpp index ac1b2ba..49f6b5a 100644 --- a/src/tagwidget.cpp +++ b/src/tagwidget.cpp @@ -7,7 +7,6 @@ TagWidget::TagWidget(QWidget *parent) outerLayout->setContentsMargins(4, 4, 4, 4); outerLayout->setSpacing(4); - // Header row auto *headerLayout = new QHBoxLayout(); auto *titleLabel = new QLabel(tr("Tag Monitor"), this); auto *clearBtn = new QPushButton(tr("Clear all"), this); @@ -18,7 +17,6 @@ TagWidget::TagWidget(QWidget *parent) headerLayout->addWidget(clearBtn); outerLayout->addLayout(headerLayout); - // Scrollable panel area auto *scrollArea = new QScrollArea(this); scrollArea->setWidgetResizable(true); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); @@ -26,7 +24,7 @@ TagWidget::TagWidget(QWidget *parent) m_panelLayout = new QVBoxLayout(container); m_panelLayout->setContentsMargins(0, 0, 0, 0); m_panelLayout->setSpacing(6); - m_panelLayout->addStretch(); // pushes panels to the top + m_panelLayout->addStretch(); scrollArea->setWidget(container); outerLayout->addWidget(scrollArea, 1); } @@ -36,7 +34,6 @@ void TagWidget::handleTag(const QString &tag, const QString &value) if (!m_panels.contains(tag)) { auto *panel = new TagPanel(tag, this); m_panels.insert(tag, panel); - // Insert before the stretch at the end m_panelLayout->insertWidget(m_panelLayout->count() - 1, panel); } m_panels[tag]->update(value); diff --git a/src/v4l2worker.cpp b/src/v4l2worker.cpp index 9c38061..a3349a4 100644 --- a/src/v4l2worker.cpp +++ b/src/v4l2worker.cpp @@ -10,7 +10,6 @@ #include #include -#include static int xioctl(int fd, unsigned long req, void *arg) { @@ -19,16 +18,9 @@ static int xioctl(int fd, unsigned long req, void *arg) return r; } -V4l2Worker::V4l2Worker(QObject *parent) - : QObject(parent) -{} +V4l2Worker::V4l2Worker(QObject *parent) : QObject(parent) {} -V4l2Worker::~V4l2Worker() -{ - stop(); -} - -// ── public slots ────────────────────────────────────────────────────────────── +V4l2Worker::~V4l2Worker() { stop(); } void V4l2Worker::startCapture(const QString &device, int width, int height) { @@ -39,29 +31,19 @@ void V4l2Worker::startCapture(const QString &device, int width, int height) return; m_running.store(true); - - // Run the blocking capture loop in a plain std::thread so the Qt event - // loop of this worker object stays responsive to stopCapture() signals. m_captureThread = std::thread([this] { captureLoop(); }); } -void V4l2Worker::stopCapture() -{ - stop(); -} - -// ── internal stop (safe to call from any thread) ────────────────────────────── +void V4l2Worker::stopCapture() { stop(); } void V4l2Worker::stop() { m_running.store(false); if (m_captureThread.joinable()) - m_captureThread.join(); // wait for captureLoop() to exit + m_captureThread.join(); closeDevice(); } -// ── capture loop (runs in m_captureThread) ──────────────────────────────────── - void V4l2Worker::captureLoop() { v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; @@ -75,7 +57,7 @@ void V4l2Worker::captureLoop() fd_set fds; FD_ZERO(&fds); FD_SET(m_fd, &fds); - timeval tv{0, 100000}; // 100 ms timeout → checks m_running 10x/sec + timeval tv{0, 100000}; const int r = ::select(m_fd + 1, &fds, nullptr, nullptr, &tv); if (r == 0) continue; if (r == -1) { @@ -108,8 +90,6 @@ void V4l2Worker::captureLoop() emit captureStopped(); } -// ── device open / close ─────────────────────────────────────────────────────── - bool V4l2Worker::openDevice(const QString &device, int width, int height) { m_width = width; @@ -134,10 +114,7 @@ bool V4l2Worker::openDevice(const QString &device, int width, int height) } const uint32_t preferred[] = { - V4L2_PIX_FMT_MJPEG, - V4L2_PIX_FMT_YUYV, - V4L2_PIX_FMT_NV12, - 0 + V4L2_PIX_FMT_MJPEG, V4L2_PIX_FMT_YUYV, V4L2_PIX_FMT_NV12, 0 }; m_pixFmt = 0; diff --git a/src/videowidget.cpp b/src/videowidget.cpp index 79a3a61..e308b01 100644 --- a/src/videowidget.cpp +++ b/src/videowidget.cpp @@ -8,7 +8,6 @@ #include #include -// Enumerate /dev/video* entries static QStringList enumerateVideoDevices() { QStringList devices; @@ -19,8 +18,6 @@ static QStringList enumerateVideoDevices() return devices; } -// ── ctor / dtor ─────────────────────────────────────────────────────────────── - VideoWidget::VideoWidget(QWidget *parent) : QWidget(parent) { @@ -32,20 +29,20 @@ VideoWidget::VideoWidget(QWidget *parent) connect(m_thread, &QThread::finished, m_worker, &QObject::deleteLater); - connect(m_worker, &V4l2Worker::newFrame, this, &VideoWidget::onNewFrame, + connect(m_worker, &V4l2Worker::newFrame, this, &VideoWidget::onNewFrame, Qt::QueuedConnection); - connect(m_worker, &V4l2Worker::captureStarted, this, [this](const QString &dev, int w, int h, const QString &fmt) { + connect(m_worker, &V4l2Worker::captureStarted, this, [this](const QString &dev, int w, int h, const QString &fmt) { m_infoLabel->setText(tr("%1 %2×%3 %4").arg(dev).arg(w).arg(h).arg(fmt)); m_running = true; m_startBtn->setText(tr("■ Stop")); }); - connect(m_worker, &V4l2Worker::captureStopped, this, [this] { + connect(m_worker, &V4l2Worker::captureStopped, this, [this] { m_running = false; m_startBtn->setText(tr("▶ Start")); m_infoLabel->setText(tr("Stopped")); update(); }); - connect(m_worker, &V4l2Worker::errorOccurred, this, [this](const QString &msg) { + connect(m_worker, &V4l2Worker::errorOccurred, this, [this](const QString &msg) { m_infoLabel->setText(tr("Error: %1").arg(msg)); m_running = false; m_startBtn->setText(tr("▶ Start")); @@ -60,8 +57,6 @@ void VideoWidget::shutdown() return; m_shutdownDone = true; - // stopCapture() sets m_running=false and joins the std::thread internally. - // Must happen before we quit the Qt event thread. m_worker->stopCapture(); if (m_thread && m_thread->isRunning()) { @@ -77,8 +72,6 @@ VideoWidget::~VideoWidget() shutdown(); } -// ── UI setup ───────────────────────────────────────────────────────────────── - void VideoWidget::setupUi() { setMinimumHeight(140); @@ -87,7 +80,6 @@ void VideoWidget::setupUi() layout->setContentsMargins(2, 2, 2, 2); layout->setSpacing(3); - // ── Controls row ────────────────────────────────────────────────────────── auto *ctrlRow = new QHBoxLayout(); ctrlRow->setSpacing(4); @@ -97,7 +89,6 @@ void VideoWidget::setupUi() auto *refreshBtn = new QPushButton("↻", this); refreshBtn->setMaximumWidth(26); - refreshBtn->setToolTip(tr("Refresh device list")); connect(refreshBtn, &QPushButton::clicked, this, &VideoWidget::refreshDeviceList); m_startBtn = new QPushButton(tr("▶ Start"), this); @@ -111,7 +102,6 @@ void VideoWidget::setupUi() m_screenshotBtn = new QPushButton(tr("📷"), this); m_screenshotBtn->setMaximumWidth(32); - m_screenshotBtn->setToolTip(tr("Save screenshot (PNG/JPG)")); connect(m_screenshotBtn, &QPushButton::clicked, this, &VideoWidget::onScreenshot); ctrlRow->addWidget(m_deviceCombo, 1); @@ -121,24 +111,17 @@ void VideoWidget::setupUi() ctrlRow->addWidget(m_screenshotBtn); layout->addLayout(ctrlRow); - // ── Info label ──────────────────────────────────────────────────────────── m_infoLabel = new QLabel(tr("No device started"), this); m_infoLabel->setStyleSheet("color: gray; font-size: 9px;"); layout->addWidget(m_infoLabel); - // The video frame is drawn directly in paintEvent – no QLabel needed. - // We leave stretch space for it. layout->addStretch(1); } -// ── Slots ───────────────────────────────────────────────────────────────────── - void VideoWidget::onStartStop() { - if (m_running) - stopCapture(); - else - startCapture(); + if (m_running) stopCapture(); + else startCapture(); } void VideoWidget::onFreeze(bool frozen) @@ -172,7 +155,14 @@ void VideoWidget::onNewFrame(const QImage &frame) return; m_frame = frame; updateScaled(); - update(); // trigger paintEvent + update(); +} + +void VideoWidget::clearFrame() +{ + m_frame = QImage(); + m_scaled = QImage(); + update(); } void VideoWidget::refreshDeviceList() @@ -182,14 +172,11 @@ void VideoWidget::refreshDeviceList() const auto devices = enumerateVideoDevices(); for (const auto &d : devices) m_deviceCombo->addItem(d); - // Restore previous selection if still present const int idx = m_deviceCombo->findText(current); if (idx >= 0) m_deviceCombo->setCurrentIndex(idx); } -// ── Capture start/stop ──────────────────────────────────────────────────────── - void VideoWidget::startCapture() { const QString dev = m_deviceCombo->currentText(); @@ -197,7 +184,6 @@ void VideoWidget::startCapture() return; m_frame = QImage(); m_scaled = QImage(); - // startCapture blocks in the worker thread until stopCapture() is called QMetaObject::invokeMethod(m_worker, "startCapture", Qt::QueuedConnection, Q_ARG(QString, dev), @@ -210,11 +196,8 @@ void VideoWidget::stopCapture() QMetaObject::invokeMethod(m_worker, "stopCapture", Qt::QueuedConnection); } -// ── Paint ───────────────────────────────────────────────────────────────────── - void VideoWidget::updateScaled() { - // Video area = widget height minus the two control rows (~55 px) const QRect videoRect(0, 55, width(), height() - 55); if (videoRect.width() < 10 || videoRect.height() < 10 || m_frame.isNull()) return; @@ -226,8 +209,6 @@ void VideoWidget::updateScaled() void VideoWidget::paintEvent(QPaintEvent *) { QPainter p(this); - - // Background p.fillRect(rect(), QColor(0x10, 0x10, 0x10)); if (m_scaled.isNull()) { @@ -237,14 +218,12 @@ void VideoWidget::paintEvent(QPaintEvent *) return; } - // Centre the scaled frame in the video area const QRect videoRect(0, 55, width(), height() - 55); const QPoint origin( videoRect.left() + (videoRect.width() - m_scaled.width()) / 2, videoRect.top() + (videoRect.height() - m_scaled.height()) / 2); p.drawImage(origin, m_scaled); - // Frozen overlay if (m_frozen) { p.setPen(QColor(0xff, 0xcc, 0x00)); p.setFont(QFont("Sans", 9, QFont::Bold)); diff --git a/uartscope-git/PKGBUILD b/uartscope-git/PKGBUILD index 0595ee7..54b6e76 100644 --- a/uartscope-git/PKGBUILD +++ b/uartscope-git/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: diabolus pkgname=uartscope -pkgver=1.0.0.r1.g2181f25 +pkgver=1.0.0.r2.g92168ee pkgrel=1 pkgdesc="Qt6-based UART serial monitor with tag monitoring, table view and auto-reconnect" arch=('x86_64' 'aarch64') diff --git a/uartscope-git/pkg/uartscope/.BUILDINFO b/uartscope-git/pkg/uartscope/.BUILDINFO index a5eff86..d613a38 100644 --- a/uartscope-git/pkg/uartscope/.BUILDINFO +++ b/uartscope-git/pkg/uartscope/.BUILDINFO @@ -1,11 +1,11 @@ format = 2 pkgname = uartscope pkgbase = uartscope -pkgver = 1.0.0.r1.g2181f25-1 +pkgver = 1.0.0.r2.g92168ee-1 pkgarch = x86_64 -pkgbuild_sha256sum = 367d5f02c03027788d532bdeda7084f79008b9dcf902393b209ad7f2ae43859c +pkgbuild_sha256sum = ec7fe9ddf4a5966cba66edc3f38e169bdaeeffd2a0b4206e481794ce35a30737 packager = Unknown Packager -builddate = 1780988717 +builddate = 1781039770 builddir = /home/diabolus/Arbeit/Projekt-Hirnfrei/uartscope/uartscope-git startdir = /home/diabolus/Arbeit/Projekt-Hirnfrei/uartscope/uartscope-git buildtool = makepkg @@ -2790,7 +2790,7 @@ installed = ttf-ubuntu-font-family-1:0.83-2-any installed = tumbler-4.20.1-1-x86_64 installed = twolame-0.4.0-4-x86_64 installed = tzdata-2026b-1-x86_64 -installed = uartscope-1.0.0.r0.gcc102c9-1-x86_64 +installed = uartscope-1.0.0.r1.g2181f25-1-x86_64 installed = uchardet-0.0.8-4-x86_64 installed = udisks2-2.11.1-2-x86_64 installed = unifdef-2.12-4-x86_64 diff --git a/uartscope-git/pkg/uartscope/.MTREE b/uartscope-git/pkg/uartscope/.MTREE index 1d33d2fc137450ee52483271ddfaa3f9f4c6f090..8c4e3e1902f424ca98fd5f7745046706316530aa 100644 GIT binary patch literal 467 zcmV;^0WAI>iwFP!000001Eo{jjuSBqeeYL{#Cs=poH%~y3qqh32zcQGa&fvNdKq=5 z67cn;-9^x+`wY7hQRx#j;<% z{B-y3)!qBoAG&$i>Iyi3vBGSYrkjRu?FJ2T=%)LK&X-}W)4Zw`#cQg8P4=9Koh#K5 zILc80t1aZ96kAg$SabE(MM?~e838e$fIq%{^CwsbaEa-v$<<;>!iIAaqs&5-Bthba zfE0?2t^yN*k~7vuF##eZRju}+A!q50Zewtq4mZHh9V^4(A)rsg?ny!YF&^eA???Te zAd6NUUTO-)85eWT6&$wJ-XpUwUW_TNbA9pIO?|10^_(dTi#sPKyy z<8J*|A6$DHS1(zl6vsxC$p)$5Nn*Q0X=B!mh#(=wP_vO>5JRo(i;o~001z6>8}6) literal 380 zcmV-?0fYV@iwFP!000001D#UKjubHryw6v(#C_V2JP&NafOPCD6qufutk35MHCJRC)*;M{IM?q7eo z`S9lE{PVG45el=kFaMa4`+*T_GQ2zSVV`oG|91&Kd;jHwxvJoTnZL z4M;L`>?d=F3J7@c1{x?htH?izKfizXH(HPQoU`VT6=JYZ8!NQPTA7Qaf=KF=y>n1Q z73T!2A!H~Ky&ADeZt!TxMSAqUcW_>pE94i)WL_Q<#yUUzQ_^@Y%eJ=TN&h5>dPDHS zM`&WXaOIegJu|jYiZgW)5{O~9PJJ>C$rD1gRzd{LHI!I$PV~gzYcAJ#U$l8i8_Vf* zKew{Y$A|TQ{`^+D7hS(@$J3Q6zc%b?g#ta-otg`5DM+Q%BpWypjAV#bOK8%ET02Tq aD1`)#ON!w7Al3DkV!Iz@i(y{m0ssK`bFoYS diff --git a/uartscope-git/pkg/uartscope/.PKGINFO b/uartscope-git/pkg/uartscope/.PKGINFO index e91017d..e25dff6 100644 --- a/uartscope-git/pkg/uartscope/.PKGINFO +++ b/uartscope-git/pkg/uartscope/.PKGINFO @@ -3,12 +3,12 @@ pkgname = uartscope pkgbase = uartscope xdata = pkgtype=pkg -pkgver = 1.0.0.r1.g2181f25-1 +pkgver = 1.0.0.r2.g92168ee-1 pkgdesc = Qt6-based UART serial monitor with tag monitoring, table view and auto-reconnect url = https://git.projekt-hirnfrei.de/diabolus/uartscope -builddate = 1780988717 +builddate = 1781039770 packager = Unknown Packager -size = 209170 +size = 381553 arch = x86_64 license = MIT conflict = uartscope diff --git a/uartscope-git/pkg/uartscope/usr/bin/uartscope b/uartscope-git/pkg/uartscope/usr/bin/uartscope index b21e59b0443916ddb05f52e5bded271be74c2027..ec364e9e6afbaee94806bf83e92f5b5a71b86746 100755 GIT binary patch literal 323952 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

S_yZJUMs(IJ; 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�I6UueK5!! zBdoXu^aIc8iRs&tIBUePY=+9(jvKiCJU)t}M%#;NRs=~0bn`yb8P>`you*;JI8P6v zsJrc<^(zArf8(utOeeG4)g9Kw2M<&XwI#L#L0MLao!8=8C& z>8=dJ9n`J<&uTKi1?4!cyJ4YY%5@3ruIJ+SJAFPB|wy!ZJb{@Fkf0%cO=j)VQvwPZG%1q$Me`-q^5lmt+c+K&Z3o_H{3MRJ=XHh zO;WS^COj|UX5c${t&0(9c}?T_vmMWedX0Y7P?YwrtOD;adgfT z#K^77$hA7Ou;V4C94JW(7QM#0Mud&L)f9TzR-OIn$j1^bznO*H4l&><-PNI(!Qmc4 z_o3L{RP8H6FWs7+F54{adkWO3PT}b}WKOfu7m+ZvDH`7PIvvrLHm;e)3z4Ptgg9=K z3a2LTFY{u$wWnF?o5^jRg$os;gm9THht}mXwNI;{bgoFuw=#y+qE=9I1d=!y++Fac z#4k9duLRM-Qi_k?&v8BRi8d_Xnj+R>l#Q=*aIN@B)~XbV>T>XPDYVVYIWDE9anev0 zl9E6s#EZo*!P&yaR=C*I3TsKfbD&0gv#pG1TLlRfn%`|bAGHy6J_;w!0k?kKx2N_A26 z+B2rY)U>wRN|v$`fy|u*Zgg1$Q)x1^)L8htVJbY=y+_l3M0EN+4Rv+D1DV!q=%t}} zjqy!P(lF%w@I7?2P}geJ)gIWxn-&2#y@jtDCfFy%q-h9N@4j9hqz`F~_ziT3^?KUt z>GCDfsOX`s_=+HbajD=tV|2rkP0=viq`Sl=GSb~6#PhawduQV%5qaqAJwj4d7U7Kuq^ zVBMt`FNmlJbyh4?WwNiZs95?HubMFlsaK@tU6g$!I>OZ2$7nW<7i4ull0t5b;;yDu z)3QE7yrJeg`Qj^Tbi&1Dx|#>Q&Zf)kbvykc#xhdwO~m5a%dohW7sKGCrCAN*QrT5! z#^?@G)~mT7zNPn;m8kR^h|1g+i3}lGG)zFu>VnlSL2h9v-lQH~pxDK=>GqJpzV_d@ zq~f{oH7tKm6NoGs+$N zljgislGTJl+MJ;rNUNsX)S*qrXL%_a5$pF2 z)GF;GC1O7!Gc8NX8?@|ioSapEsxRAHIO(k;e$i!;{P0N}!=;X@Oep15FY%o3pP$9p zzC7-v$W+h3U43Ig|1))v+Q>e5WR8Tc{n@+Mx}t$;@1o^C0K*aPN6*PXia4M?jAz+0 zc)LVSZ-3z$|EIPT{9ONlkh?7V2QmQc?&J4w7%r3ue?q~L6SyrU0rV<}P35?@&DEE` zcdwavQt}U8TxSm0WG25@8)V;B)R1`2(eEBWb0<&2LurSrRk9FkyN|(F-n>-y=_Dpk z+c0>>#OYH=b3ANJyVRu7s>AdhaaGtO7KdK0M4dqv2i<6L`PL3yrm02s%YzDf<{XNA+r}C8Fzm_8+O3ovkm>s`bl4E}4F1*CsmIoZ21O zxw-tJs|b6M{d@WE>YiU{()7toQNSzE25RUOEg~vqJi`PSoW|ZSIaSk!h_CBadsQ@{-gjiz9G*RL$bHdP&ydvf8MWK?>kN0r7 z?jo2^Q-^t$!3?s?rxu*;W{;;2xRZ>3&R6OuEpv{_FQ&_ohx9rHm*h~eLZ7GmJP=oi zvu4B(Z!8*q;H>KTrTwB=P|1N5W^GLUov0J{=m&9(INye&^((H+NV36Om^+CU4b#J& zN~8IkIjqkb_LGO0L0@*KnNCJQ2VDuV%E@B)OS8nQT)qk%>RixdkSH6Yhp6yoh|B~b z0w=cT&p*(#?rdOe^8g*va4?BhNQ-NMY_FBaSHosPE_Ck56*)Y$jk)BZbd+AyF(?FBAyVmE>n>+IFk7HX0vugHtznx8HFGBLni4NQ< zUY)no^hRKXt?tlWb5V*b1~c?EgT^#P4Gig9c=f=nyj9c5iEDF8b9Ff)Pp>#~rckX7 zVU&$2*Nw3hD4vH@Bp<78KQh~k>d+v#@~#U0ftZ4#^EH%jbg~Y~4U>-4_k6j`JYUO{ ziX7tJG|-N4K=o@(F8;8Jtgn|pQ#EzmXisp108dK3$QbJf56uOdN*Op+)$6}z&gOi3 zU{5^QL@0N34WZE*O9=UlRwz<&K%eDG7UxonG{9eBhLYE=v|LjyGo0t^83aw}tEd$j z_e`>QDtryu_#;@)UJY0GAa;Qk`G4I0P|^ZcIq?pP**7DD$UM`?XaTyd>q>yNr)ZNj*gnb(1Ej#EMP!? z{(c49%r^RS@!TZJeH%=~*z?<_b+*vJJbwqr1D;!RO}x4o>Sipxr{&sL*4H$ju=4eU zghApW1xk^R3nw2fsTT&XOSoW_t|RO6Gv#inJv&O-fS@2h%UfD6 zf(RF9$~JDH8fFu3R<@F^iO#ZbLu^E_>T^g^Y^$*UTj5rO1R@VP%R(Sa3~z4{J2o;i z>*>{skF-8^It}lk?PuPAg#LU(U>@FeJ4t5Er6G>2@`Ez#60<2@0_3#oW|7l^Pl+ix%KGe#(lx=JD2x-5outq%1 zk>VS>)UsYDz(4d-Sw&0MB2~}H;=={-D`k1t8a8TXyZ-VROavTE?fwnK#!|{JP>C!?O#e*BnDH5E4>J9bI*&kkhe9{FI;%+bQyVbOTr zD19ep&iiMz;y;IZzLL#7G_ELIFkU0cXX@yW%5Sh|Jz&K;ka;DE35fkSzSuBcqnnJ! zz$+EyWRP*G7V~yz_B*|xDR{El=-k=*2O9a(M`4h#;iVs3g zd2!t$6PELNG-*^vLZp1t8muvyn~W6L5_&ZRa=N~hrmSmZ%}1$9c2+S2*WWP@=6D+O2bl^Iv>+{lbJS8L9^eV%lamKlqJ z*%CQ~6OeAz^n0)!>Le6IV_5=x)@0!o23kLmzXQ0rK7}lQbe$BI4#s&=&dlKM2=VF*IOs8bHEfzOGUloW9(OF4%^@FPq(K ztsKi}0{#GFEJy!9Pu4`VF2iA6tb842A1TNhk2n=94srC~27xDfj~JbL7rm^UaHPYp z70foVN<E1UI5w=IW20NW7#4SG`?QK5r3l#S!zs7Sq?*2 z_DRRB7g(Sh86l~^@K*Gez7e8#-L}csoeWet_sKVxXzO|KlP<1_SClXC&5frmo7L@A z#62<*G*6If5u+B0{A`DN%ID&V2WNe^O8^Y~uyw_lmKla)K2*8P9;!R(G4j`tYapKJ zon^nS&L~CagJmlc6-FBc@Jd^MHk@2$IEgNHKL|s>Ybz+5Wg+MfzE{d*VEqIQ*P>cy zT?kaXGQVGRQxu{_4_i!W%)k6*a<5JI*Q!(8=h*-Cr;2_-Uz!-jjI7Hs*p41cwLVhs zCTsX2)XuQ;@yd~XXzmwuH_dVPhq&B_?o-No7LM-)_3bTL>`M^oOHCy zYM53P9Yr>~QTlsbi)`-*qnkppUn2I0en(}myuPy)RC^rG&(Yf|xI${bUoShHR)1sr z;Cbxf%C7K3Zgk4X&7G)$LeDT~aZ1G)W$AHUr%!&4d9JR2IZiyD|C4mk^lN&ITgpE% z6fa&77dek(-pkH?*yKYeCwK$exxp+sW%@Mu=+CLpgnWV1v`7hFQjf|dus7CfxAf{bY6Xnya%*N&~Om0=kE6NVvQups~ES^-1oY}{z z**bP{53y>p6KPBOn_~@TlGy-OCIYuLFr^S3wiJ-RWfrOMVk7 zY^?TUI4!vUd|5^BB%)iyRwWbX*`m%B%MF(&rd` zBy=-*_^|CCMgMC3Gg{@F@mTFKFRxgEF341B713V)Uc-!6+lL!MyutLX5`AM~ruT>o zG>$1*ZAj;*h@OK$#04#L%@mhWklt^u=xTjv6E^P`zDu`QveD$a0I3gTz3VgVA7*hQ zx}|b`rnDplnxiwZSF! zVDBh!##g5#wmv6}Bqf(n9>v}LOlNQnD}QJBQhh+6R#^_|%&z&j`Y$ta#-(CNiQIVz z!zt<<6F8jCTAk>zo&TxpiG-G{Sdc-h{^#G$uxQ0FblYL0NU>&02kxP$UU-2j+xd0W zM1=vJ=43q?sU4%N0IrTnpi;CVPm*PCY1WsxXxit6cl?zy7c}J9mN1MrLn} z4xU*w_h*@{dz7!}J5Q!wk(1MAM5%H5NKaxwB)*^39P5RR*e>NYf(7CWKb+^58orW(}?{LK6 ztvZOzs;H4#7y$;jfK3ibpIRdEfCkfh10w>Xx2_WLc8uKRP-p>IqwwH8-|6f2+QoIt z;+ZQ|KZ<_xRBuXF;w65eYrhst$d|eFg{#7YDCyUOSbt14=ynGFa+EJ1)8LY~2*>$P zT3RwL8(Ilz8>?8PJ|vY3x6)jkr;kX(Y~c}O=zkg^v*-6x_oablKIZdsW7NoRC^U)2%W=0)BrN%*Ns29$VPr&7v< zI7fVe8hre-qYqJoAfD{(KzNrsnAYOY12c5CoEo+MjFtx`L_O(^zjK1eA)h0~9m$6T zMfz8Larua$#Wv;cGR9_Qqv>I!HsVah?`(bDG8qg|`01&6+^-d~-m@so<_3=E;)?<8 zU;GGWXsN?uneD#7KEYb{&6>PD;Ie+M7@B{6jJXp>&COjU2iqKgSy*;8uH)bF(9!X)-Q<@#A?_owQmL4xGu~{fLTnQRiU7J~0v97VQrAn3G&PMsSbRCeX<~i-sryL zX=1ElLab-RAPM&yT8z5Ao~#1bhz()r#ONb8o?-{djfdbTu#UPl7mlY^2KQrO$2qTSW$437OF|nw1Dsg2OTA08P#5Z->?o`zLJv*0&_v+A2J6B z?C`4R!{_UC!i-s?Fs&){oJ?PJBFeEf4(}@>M;vz7NLTBqYHuW2RZKOc%DjylOuiFK z5N=(7H92^Cw{yohO`-X(mud&}7{&H!Z@PI>15oFL-+a%M6xA-Y4+EdQw@dTkj-Z9A zkryzDacMzv6MmvgBvw%pHHCF|iyHdmC$#SGuSt%Tk|7RsySI9lU_V zlAOe;nlN(gH5%`+aq4Si=7K#qNEhNRUr~KK_%5MjDv;(AmCGHNwodr>QRN|DQhnG! z1wWQA;sCHB_r1abD(8yjLvMrZmIk4(_RA?WzD#|KNfyb1l$ZK_^Vu&&bqe5>`sJDI zvivJbus?=kh%>`G=RvPz)opxN%@Ivec71*FNnQQ2n(UyDpGk@OEJYreCr^1B%X9U3 z4?2#|&|-6FV;39e%;S~vok^BJ6~5t{KC@TRv+PkzL;|fZJTuohO)&6W9ov~dF#J^5 zf0nT%CNMeYhm6QoBEvlLgO!=K6tKp;V0ntF;8saSag8?}a|{xb<&%mI-=K)b>l|&3 zIF~8D9PZwQWK~G4)8sfFRM@g%+OuWpn!8nGF_F3oX>l_53xAx1XmxQ)3^ZQhS98~N zM#5V^Dbp!?QwpAR`#04{f86h_nc(dhWak#e_20eU;VI8nZnH_%$bT8HHeGR=ghWgi4zd5x zza8{|sG(rxY%)1&Oh!S&SRxPgkviL{SIEaVTWNWBRK*1B0y$G|snU%bc`8Wx55994 zx}W6#KL3mTsU*$WbEn2GZ$YQ+JSyEQLf@_qJudD(=tME z7?mqY?$Mu)!dBBt^x4W*D>0hW;p6E^?JIg4#Jn{GTG6IRFS354P>pm?Mz6Q5r^}0O z%iOhay0wgIn29a(_3!46v=Wum-v)mgW;VwL?h!UpXyRAZ+M}pHXIDWJbJdj{G%MpR0R1} zb|35a3RXrK#OGtk0%^u-dRnHEtC)}=-+&c|{9g2ja{X^M7LKPKn*I0eggfzpaD>Q_ zg_(Sq>v!_&zJt#9|7I4gl_C3NwV7ViqllGXcR)w0wJbD-p1lWM$a{mOqA zE+(gWLP;xa^&RG`n)5|l0$=dH-I1Kk-(-5PKyfasl5O$hc4I zU$sKIz;R0*4`ITheAT86UxXgj_(+UK?(21G$6a|BzPB;n&AYt*&H027xwK!EkI`ZY1)>a#=7_SrPS$c$HL-7)JZ^394KWCoKffbcW;xkZ&(y)!2iuabKfamaXdhq>lPAguuB&kI3i3JZFU@-*Sw0d(N;#1~nS3m< zMiUm|xSZ(1=lfMjNBM(q@6ozoX9|ZUAIu)d9w@V&^f(-x8)sbkgITMk+d*IV14H+@ zHAYF4y!Ad#>VI7=k97{kXwzu~$FPcClK7-S5q zC??r2WZMo|mjwMBMN8Q}twyJQ3-XG*{X!M0>;G{UM)3Vx@=x9cdP7x}7XebAI}XSah2{k|8cQMqq5V>k>XDw`znx@K=Zi zxtR0#ZQLq`sQ(iBS%-0?lfA)>NsBcl+RiU@wsvwhvb+C6t+> zqLEx%&Z`M1?^^k@glWM>x;dc+LX$_s=EP|FbStwjU?Fo86gv#*pPZ7&5tc&xI_WP( zE?%$<#qE{VkZ0nW>!>0s$@#^ckAiu7RVLm(`}-y0fL4Xis-wy|9^=8Mmn*|R8!g!B zR8t>Ue#WQLRIH`T7f?q=o}s1!o&i{7R484{w?& zdA(n;LUuOBXE?;T$6KM&ANjuZJGS(QZ9uE(cRX!-PfGDgoJp7j;#{_&`b~bvcU;X* z$JLKfah$c`YKa_7uIcAZUGU91O@(qTp|xh-#O)K+S9vg3lQ2Y&#-&3SAHDNi|9mmo z)Nq?xxQ!+Ud`eS4Mmr~eVez)ei4uFG`Pq@R%2gQa?diAdxNX;^a&DLFygt^60fkv74CaStOt?jWR+V|EMC z4$LSsz%Q?qt9y6m*FAtMWqJlZ=szO$`E{$`G66yvtuT2$yA)5bF#oVdFL{DmB9GBM6ngkvD4{<4@hnfR>^SY0I6pM^P5$A zVH~{Yyr2|@Ca<^zRND5q5FvXCUPDHHPA(V}sxrzhFzYv{NA-=+mi%qEbFRe>S zpRHX-&!8ccPs2*fUP6LwnNh*?{rksl_i(5Im<8s`(#tewy^Xp|H&=jf$eQn~fUS5| zM%QaHAdmQn@2mO>Fr?FbruByY7!_k`#__iAEOzn8=Tz&0R|A$)7;47aVPtTWoXsR+ z!MpvZd3;W(DZL{^ma8_%ta^+3bamdX>1Xs_X#>ZCmrzqDoi0)|=te<^oXcWg+flU- zX%s(`_Ytc=)+RE9*29pw^c~5xwzX+$ow8a2MWb+*wZe+-fEWII;hy6aGzc+!zIxCf_vVVUyc#QZZvW<~Jx&WWVrfXEl` z^HVOfY%aA|JQbgQI4uW_UmdQI={MrQ(=4u^CVQk*8hj_UBxqcjyMLV}Ha&NpAec+( zu%KfDk8`rK>O*YVhM3eAZaKd;cCOD0lcpC2QZYI)q$I z3Q5=XXw52&M_9HwNE6B1?MJxkBxmh?DXoo_m*cy#-1gNxUjGxXij&!2L3Su0P-2*7 zlW!Vf6yHF(TSqodepTf;#Dj+c>mqt{7E2DXT`~={OF;wc;rS|67JOY;Wdc?+2|W#z z7{1^19dbxV3BEJmpvoa2HA@=lq@bb^=B*IQC|$HAl&w0wR*HU%i{Xq9U5ch~sKD;3 zdl8>HQSUe{oM#-z?mWGxdlAUObvl9g`ltFO_Cqw=xx~=uyTpsAr8gb8UKxuq567Dw zNq@m7yTe?{9x;lmu5O>-=P2fRzU6|ZdX=sbf7R@AD217MIzea@)5~aBIjLAKNs8W_ zNH}s{tj$vBn#>X?;q1xjeYcvXDr(b^&&tN}3i!Bd&@4&#)t;5TJS#23%igYcgEs-G zc0{XV>t9o2$hy9?w{2VE5^;%JH3|SE*W=^H|JrHHGKriz6F?MiIrab-^aEf=Dwzi)mv_hzjd<> zE(eEoQov%-@f(`KPYWc0K~BFVe%>g{p?UMM+J@L~>Qu4a!ocNVu8neXSQ@(Zo#1dJdCpu$A$M*B>N4kD*k zCR`OnFc3HXET5Il|2RM{)J}stQWw29i-%Y|G5JOD z?bvdp-A5~a{ZL83qrxv>DPV@TUBs_Do_JK7trW|O1Y|yu29&q(s@jyQs=dv~ZC%@p zxPY&XdY&Z?doFzuX#47^-T57;(H1NFG&SWO&*UDfd{+qVYE}1DB{uUfI7YA_)6-%X zS7AIrk;i6Bwg|t%s%LJ3($UAz#kLntj@&;j$04(Px@vDpNcq~+ zceOg5c@nBdr}XW+UpwO9G7A}``BZviJ}cd42>U-0#5?ZN7$eE^c9Xwi3<~~0YG$~!IB1hIePsujtmeZv! zvw^+erBweB5nhc3IK5%v*5dFOCX#U1pmvZR4-BK7!CZAGtaD`}o`9-`0YLI%O) zB3skX@jq_ziEaPf6nA|iX0F$1co9J<{b-}v*X1@M5tt6q(iVM{qF$d_#n3MQo%Cm8 zY{3Pbwb$6j1McX>Yju)z1Wm9ytF3{S5Y)PjnkZ>~A~M)7dI0G`@Yuh|~Mi3;|CkvZEI z?A34t?N}8bX%^N7h`Y3wlySxzLefizAw@;04}2IZZg2az2|9H??BZTmZof!(+?Lq^ zCwvs|XMfv-{dk-E!EvG|xm)bP{VUvZiPDsy`Q(!gqbje{>nAqESGTRb@~`c}EHWxt zHQyp>_v<*DajYe<4xPb&471+Up<4Jm5 zB)DK<3)+D$GN z$Z5A&l?6i-_plzUg0EOv9=`7@u4at?jNyX!iQH}K3>28Bv40*nvNVvaJw3J~zk*X7 zcHEf#w%wyOxvoSxj<40|*T-h{L+r#aUNkW3^R@8hOQY!BC}ax^>ecI;q?Kztck)5> z$XPg0r&;k-%!V_Pk!s6*g15S0rI!|6WnJ05>*uD@X0%QKBj#z)Bs@frnb5+IzQlz~ zi35~27FHiNJq=GZ^zt2E^k&9Wx7j!}YW+5&jv{cldCfV}j)&jgywo7lwV?hNc&Kgn z^_X4x_h{l5$^g}A%#3Nm0hh7z;e{3^daum^$D^pPns30mE(k_36jo*PD);svMupk; za>9k?%zT%FQKG*}QU9Sqs_vXCG2cmUVlUy7-Dl=7L;fi+g?GGn?r<}qp^Rs+D z9~@ekI10h9HOz>B%%WMgqvPpsJrKm2d!^%M>UpA+&py=5x^c_^iL1B79<8RoZ_j?P zz|Aq9A83KOEt%HqHyjtsA=K=51*6Z?ZT#9A_nUK1+CR$|QZ_cf--#m@udw87RPAx4 z_t1u|Wsl^9zz@qaAn<#!wEgyAX=&|9>DyM1)?`Qh!r7}krs--jb5s%sd_0 zZAvbs$)o`wiGtA?K~}q??p_wkvRrY;+_T?mIXx-kP5Sv&(>_-k^*Y<@Iw`9srw3M9 zdL%PFM}%#DG|a_z3%hDPvilF9hyaFscU(}~8#tNsD&FBVh#?^oJIQfjHK)%{n=Msl zS^tp4W?lMSH-7c^$%^GP3JZZ9RmO^H|1XFj>)mD+3adq*u)HqAZJwU-f*-Cv`#E+ zkbos9NRbPi527Ghs2`Xs?(s~Y9_ zMkS5$$s@95hd^#xz~!r-Y0?;eqzBP8ea+^HTn1@3cn_``)KvK;u1>mDu zDySQ|puF8Lx%s@fr_+jWlo!+XkPFU{FH6lR(GsKiJ;4}q)xaWf`@k}z_#FMBbqh|7qxRzSnKwIRWX}{mxGt|qudt~>LD7VY)KxKt>7GMe;Jurd zsISCnieO+_Y9(i2hNBUJUKeGnB>HoZh}f!+DYw+|M2bLLzNQr)4~8 zC2@%^_X-w-c%^H!4ZtT+$Ben4SGB#kaBJ|aMXtr2ax|PTD0JzX^pmFDQ6}$_-V2UH zx1SA^0xfvLX?SprjLUM`L#jXdp{aDxb^KCWrhKmJsb*a7uX6`zP(WW_X&{7@JdaY_ z(2y+>K2#nw0_edjzR+3}`1;JH72X`%-a7MHCU}NOlBB@U)6NY6i)DLym3EKxObML6 z`XPvKI2gF&e93}r8*`}JbxPdPhhmfR6h;%i)hYD23bHPDYe70gfu0ExBF=JKAkfH< z!kgyyR$g+@Yt0(MF3OPKkH#x?JZ4wEyc;hDA?4HYNZ@^et21Ti<#y>p7u0{o;m00Z zI7fNpDx{tB6)Yx1wlCpp_BiR*cDTg#i#IiLw{oGZ+2779D%u75$Ku=b3lg~B#A=HR{ktK!(eh^)Gqy(*>wIu_6do0o%KlhJkrU*qPc@oze0`n z#SVS@(Q#X264lE~F9SaQvO=PJwgy7>%<>-@aO~_nYLejM(#vGBOSJ-yG<|O}Z``aL zU+wNMoREhO!qMHLSqFys+!4xyGvBXIfpinj>gFSEA-#n4XSoc26kSOhYcuJL2|?cM z;j!dWEc>RHaX$O5?BD2(Q<9r+RsQDd0BTaT_?2SOi8G&f8jPKi`4oAZ8{ux(t#MlW z*A90!-I2w*WtH=TB1L=sv0q*~Th@C4i|OxZxw70cWgyEV37xe;MpA93%%1VXY=cRQ z!Vn0BIO}=boQ_`s_~d%fRjNn7!jyCdF7lH6hbes$y~CFDgvnpZyrE}ScD}6ZM}yf? ziTtwK$ni-5gjPK;VG!YKlp4CveiS$9=WP{u>}(zNa6tzdx)i2VzH(0Y-VM}x@K3gQ zIe6@5gFC|;OMGQl9a9uTfW1%6S%n+D#6HeZdE9yKYmDjAbDpc1*?reQvHG8ZdNFYcL0DDf zYaE_@j82NPZg7@W#1$slH&hhSG{t_C{Op!CP6M;&xtp=mAN=c|41*FO)_LO0hLewh zc21N_6TWmOCO*jQ)sG}2{rvbu)~ZqJlj=j+9e!K5|_9+d8_@Z7Atm7 zVablo@yZFFXQ$a+fc4>kh-96y++pdU3<+Pi_P+M^s(PaNAjTmZ8>C|k^P?I$tS53Yg}iUG1J@^Tk9vX`2)x&3iUitwq)y=~O)G`LSE)0@Ak(*+%@I(nb-zJ*MD_V$2?E zkysTUCnd!>aQ)0QNpb3AQ2Tt?MBTPDYg3UI(`T7Z50PJGU=Fj5rr1O(JEVU+c-{%s zH4VZ4xNY|ZyVY2r#Fq0oAD(N`Z`R<8Cl3ZaF}m9tEvMjP_&E1B`zquKT~Wn)2`_j- zaMNhlX+0Z&aK&5@zY;-sXR$r+ zG3ZOI7NXE*alnRTs8tDru!iVA{LJ4hI>khmsy?eD&UG)EDN=sx!r_cF z2GdhlRmc^jl9?{2a)2s88`+MGSrQ5jAnH5ggInowisM8BA$#;6FF2rif8j9UT3qMu zbESNS6oU#h2S|ET2PYN#6jdNT4Mzf3n5#GL{YQM{^{==?FpeaPZCZw7#1zir@4FGj zObsOOe#3P2lH-Vj8}!iRb+IViTSZ9gMUt>YaN58O<%1Sez6J_(GLycwPI}ogH#3Kh zm=rFd4p9ScuP9%wagp)J%NVWk80}6u#_?6zs@;R6Xorn;o{6-4sTC@BlI>XHt&m_oG-?{+ODz>J9<#8fLzxYz0_TM>8%^mHaACezRac z0DJGQN@FTNY+vFxi=b|O$2^aOGl8Z~`s5781UO%QbGK(8{8Z4o)G8ZHoLN3@U#?nY z{&hAOi)`J>_ep_M16RIza{miDVcgU1Kv#$_$LcWbl)I-p$X-S>?6JvOoV_6P?^f-(Y=F`U!29Una^u?jX`zHH8Fwr{?GiC2jSFjH0)lBa=j!y`q=xM>#J<4 zU#YPp+&#!{Hr7CD{#Q78SXp3^DuKUPu-vug=gl|$HY(NI4=!{1u;|fle*|8uj^D*W ze7;c(wEUGm>5vxDi0HCf-p8*20phb?O3iK0M-x;2#!5N*vi%?q-;aRIYBjO^qT0bf z!)_OkCc|EkKn@L^Pq=zh2uf>Oq$8T9u6wa452@KhV>+(ls}^w+y;#m8wg0@~E_TP| z*2EGboz|HVWSNRe=3yag_Zx!MMXhC4NIfBTr)9=*7c)swjW8e0eT-S`joBq87r0QC z((a^3gJ`CE=u0%G9L2=gE7 zibuWtme^zGe;{Lt!Wmsn85``SJZ8j&k=nT5-_dT&r3<1G9A^RqoH$}KS0(i@o%u$H z^a#FxT~f1*OGPiNujAlYdMa>}$gO6(r6nt%MrE-u%cSy9E12BB$T}a0vH5_mHu*gV z%13>8Ks2VRcPJ4b8)CpX6c z^R7fm)6ZFDmebc2V%S*)f#8=Y>`bAk+=b9$Eo(g1#Rt2f+^Ov^GfT)u^!vqQu<_o! zH^=X2<0FZgAkKL|8QQD|m|S~hIOaB%4+&LL=<710ciJPWnHpsT`|W4N(1J>Ck&}hw zOR$*wnfg3+zA{BE-80vfE&RsyEsrxrGA|pv^zyr{-1$Vx4Mvb+uB(QLB57HzYTtkE zoRmRE#Mxfc1_h*}PdQT4^nX!#p+X`@`nU$wTJ1H*VxI#2L$8c?hgnJi52^3I=U5>({wEG=S~04e=7%a_X?_jRn1b#RzIa%GRZ* z4DVI^L-da0`{CYRzHD~~R#e0|Nw1va;RUwSwRk~3Moi&W(nXWxx(4V%#8KgB0+{#29w5Scqo{BFxFDeK&LIfGLVu(18U%`p{9KP& z-z!0PF5!p@LZ>L&HUr_FOPobTIQN1ghS9O*@%ny6Ms^EO1PFYZ{;5oN9nC{_ooH&1 z(&Sd7T`w|vag4Is^EY>>A0Bt8e~XhPluRcj{?K-UyJ^Eu{N`$lKrE5s!I!$LEcU14 zjpj=T&;fyMp;f$2O{#qy-lZ5XAj)?+Nbw|7zehy#&uS%S4YKmJ0BuO2CJ4b_aHwq% z;V%(Wm%be~Ab2YdXqhN2#v@J;gK7D+8-xO1;=e=OX))fn zeN=s2s$C_X8i#a5ycnvCeAieTs`o-Vrt%6sm9N9FfTx<{nvU`33`YG?ytH8w{;66z z%iU0`H`?bELw321JlG|!4&pVFy}*=f!a<68R4xRMzSc@YV{}dXA^JX*WFQ3l=M`Ul zO%s0S*xq;C(E9Z7+HrLMK`k!u`5>^GF^Yr1iQ)C^`)8W3>H){vkIwf$WJ@@ed@Kco zP0z2Ce(ygj`vkcKTQ*D{ee`?jRblwaaIJc(aY^M`EH*tIVb<%lMccDglWJp-+x8>k zgg8-&Kcna6z^@o38Z%*oT0N~=%@xQ;aqJ%Mh|42itd}^lA`R=8pI2RuI<<@-Gvh3e zHc1{5{jlmGZLg5VeQoY&4#&O2EyT0WS0J<7Nm+q2v;3FBPxPvG8y6a?U(*mA{m>os z3hc{s5%%oJuS{XaI7al$WvbDAKe&5CuAbVGLd(!jyXXWUoz`F`0mTY|Gnpq1w^z?H;=fWRn3 z>@8kkq!zAptYnB*Kmixn%Sro@@7A{zUP8UM5pF*0iLPucm(#ce_zBZ-?We zF(x2ht^BP!U(8+FY+q_V1P*5c`qwLt$&47^Gn^Fwt z&X$f~I$SXyq(>V?s5>Z&gO*va4kdp!?Hd;88Hf=JEs=0lo=|{cyGR04TMEy{0U1jwUdb){1kVCJWQvgGb*-w@1#?9bD%Fg8G__|F(I z^UpyZ3sFYoIyNRfz(-50&@D^0h z=6h{mD5Tk6Wsj_(%D0I49;$Xi6X=mCUev4t|{%O6IU|;IV`w z|22QEFr|h4_`}M1DBatyD`MZgS8hL)H|ZlAWe-ZlB1WZbssl2*zaHftJsrQO;xXj> zY|U!tOH^KQWSWGV_Qfd3!9TjNiicd1@(_xh=DH-2URf;^j=p)Tf+Eq_DL#d`Yb|Uf zFllXb-ywLK4;x)@_tZ`sR}ppnpP;OJZ*+07c!8o{zx?~ksiF}3_=8#X(ru8g;DE#8R|{U=ojp?i~$iN z9z6}k)1k?U+aWr`hxuHB;0mF17W8nqS+Cm`zGZG+KtYa|)y%X<){*Mv*PQk22{?R8 ztw%|REuTR|GqLuIAlB)7?`JtF%kh=0^AaL}kJ|q8A_%wxXz14$7sc>Z^Pj{kC4-ai z#u|SKf3zccqE@xqof<+Xsu{FB5UlFPwj#YO-D4N(;fmiQNnH3+_mY;{YT>6+h^?or zq_{-Qf|lOUPprEB67nc~oq9l=DcbUg;vw_n?TdRrFrz9S}Y?u|zK@ zY9*Rjs;?L8-x}!uw_$+X%k@EyARCZ7$PMHTBEgET9RV4FtUz8MA7KAK@g5*MkS4&l zK;Q%R+<;gA?}iHOp!`ojDflGEneyMn{~HVNe`AUNoARIk1-Ac<1zuzRPs)Ge|KC6L z=pfJ=91y6N6a)%q1yVGCkO71pAoK$#ibew-{9%DW#DpLe8Z_w?d=MxVh;A-@`d0%S zQ-gT=w@3~GEdb=80fDf}p8kaZ&EeP}u;2VGy0BZow0K}&Qf$jj>0;DN_ z`j-w+9v}}r2&4)y1fUy0S_Tm4Gr(|wLKRQ{0vLhvR6hOt2~ZKB1QQ4p0x%ljCBRvL zOvtByEX*Jf1YkHojw&D?pe{gK77)lEU_HP+fE+-%@v5KxB?1%zcn;7MpaC0jO#rq7 ztOO{*4&+z+^e+pb8^CUWe4n2FrEr2k2X#;X9C$&X_WGxP7W_cI%}@VU1wo(yfG0vA z&;~$xVGszt1;}3%$OoVYz<7YG02=^`h=D+>08;>hT7ma34&>AR^v?%iE5KfWUjbrE z0Ojv^`ey=g4C@%#9$#nte1=!sE^luN~CO{Es;ClA} z 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 literal 209008 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 LOAD&Z1d{$2fui4m diff --git a/uartscope-git/pkg/uartscope/usr/share/applications/uartscope.desktop b/uartscope-git/pkg/uartscope/usr/share/applications/uartscope.desktop index 5c42a21..d66b061 100644 --- a/uartscope-git/pkg/uartscope/usr/share/applications/uartscope.desktop +++ b/uartscope-git/pkg/uartscope/usr/share/applications/uartscope.desktop @@ -2,7 +2,7 @@ Name=UARTScope Comment=UART Serial Monitor Exec=uartscope -Icon=utilities-terminal +Icon=uartscope Terminal=false Type=Application Categories=Development;Utility; diff --git a/uartscope-git/src/uartscope b/uartscope-git/src/uartscope index 2181f25..92168ee 160000 --- a/uartscope-git/src/uartscope +++ b/uartscope-git/src/uartscope @@ -1 +1 @@ -Subproject commit 2181f254d29960cffe3b1f6158a97b3c65fb0d15 +Subproject commit 92168ee5dc7cfe0e6711207e314b6bd3acb8f291 diff --git a/uartscope-git/uartscope/FETCH_HEAD b/uartscope-git/uartscope/FETCH_HEAD index fcc6eb0..6c494a9 100644 --- a/uartscope-git/uartscope/FETCH_HEAD +++ b/uartscope-git/uartscope/FETCH_HEAD @@ -1,2 +1,2 @@ -2181f254d29960cffe3b1f6158a97b3c65fb0d15 not-for-merge branch 'main' of https://git.projekt-hirnfrei.de/diabolus/uartscope +92168ee5dc7cfe0e6711207e314b6bd3acb8f291 not-for-merge branch 'main' of https://git.projekt-hirnfrei.de/diabolus/uartscope cc102c93eb17f7b910d8e74c3505f198bed77f10 not-for-merge tag 'v1.0.0' of https://git.projekt-hirnfrei.de/diabolus/uartscope