5b186df888db5244e791081b4c5f46ae1f33e674
- Add automatic format detection (binary, ASCII hex dump, or text line) in StreamReader based on stream preambles. - Implement fallback to 115200 baudrate when 888888 ioctl fails (critical for macOS PTYs). - Parse binary streams (X family) with little-endian sequence/length headers and Modbus CRC-16 checks. - Discover and prioritize virtual serial ports (from running socat instances) in enumerate_ports using lsof. - Update FakeTransport to mock read() and readline() calls for unit test compatibility.
ISC QtQuick App
Small PySide6 + Qt Quick application scaffold for the ISenseCloud desktop UI shell.
Requirements
- Python 3.10+ (tested with Python 3.14 in this workspace)
- macOS, Linux, or Windows with GUI support
Setup
From the project root:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e . # install the `pygui` package (src/ layout) in editable mode
Run
source .venv/bin/activate
python -m pygui # or run the `isc` console script
This launches the Qt window and loads the ISC QML module from src/pygui/ISC/Main.qml.
Project Structure
The application lives under a src/ layout as the pygui package:
src/pygui/__main__.py: PySide6 bootstrap; creates the Qt app and loads QML moduleISC/Main. Entry point forpython -m pygui.src/pygui/backend/: Qt-facing models and controllers (device, settings, file browser, wafer parsing).src/pygui/serialcomm/: serial port, device service, and data-parser layer.src/pygui/ISC/: theISCQML module (UI).Main.qml: top-level window definition.HomePage.qml: main UI layout (left action rail, workspace panel, footer tabs).Theme.qml: shared theme constants and dark/light mode tokens.qmldir: QML module registration.
tests/: pytest suite.packaging/: PyInstaller spec (isc.spec) and app icons.
Window Configuration
Window dimensions and constraints are defined in src/pygui/ISC/Main.qml:
- Default size: 1400 × 820 pixels
- Minimum size: 1100 × 700 pixels
- Title bar: "ISenseCloud"
To adjust the window, edit the Window block in src/pygui/ISC/Main.qml:
Window {
width: 1400
height: 820
minimumWidth: 1100
minimumHeight: 700
visible: true
title: qsTr("ISenseCloud")
}
Customization
- Toggle dark/light mode in
src/pygui/ISC/Theme.qmlviaisDarkMode. - Update sidebar and footer labels in
src/pygui/ISC/HomePage.qmlthroughsideActionsandbottomTabs.
Troubleshooting
-
If the app does not start, verify the venv is active and dependencies are installed:
source .venv/bin/activate pip install -r requirements.txt -
If no window appears, ensure you are running in a desktop session with GUI access.
Description
Languages
Python
58.4%
QML
41.5%