# SequenceX **Repository Path**: max-uuc/SequenceX ## Basic Information - **Project Name**: SequenceX - **Description**: SequenceX-Studio:一款现代化的工业自动化控制终端。利用 QML 构建响应式 UI,后端基于 Modern C++ 构建。支持串口协议栈,内置高性能绘图模块,旨在为嵌入式开发者提供高效、可靠的上位机控制方案。 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SequenceX-Studio SequenceX-Studio is an industrial host application for automated hardware test and lab control. It drives an RS485 bus (1-to-4: 16-ch relay board + 3 programmable supplies), with a QML UI, scriptable sequence engine, waveform view, local SQLite traceability, and optional OpenOCD flashing. ## Features - Automation engine with hardware reset, WaitInput, pause/resume, and ACK-backed UI state - Manual control for relays and power channels - Visual sequence editor (JSON scripts) - Data center: test history, system logs, CSV export - Optional MCU flash via OpenOCD (see [docs/tools-setup.md](docs/tools-setup.md)) ## Tech stack - Qt 6.8+ (Quick, SerialPort, Charts/Graphs, Sql, Test) - C++17 - SQLite ## Build Configure with your Qt kit prefix (do **not** hardcode machine paths in CMake): ```bash cmake -S SequenceX-Studio -B SequenceX-Studio/build ^ -DCMAKE_PREFIX_PATH="C:/Qt/6.9.1/mingw_64" ^ -DSEQUENCEX_BUILD_TESTS=ON cmake --build SequenceX-Studio/build ``` Disable tests: `-DSEQUENCEX_BUILD_TESTS=OFF`. Run unit tests: ```bash ctest --test-dir SequenceX-Studio/build --output-on-failure ``` Or run the individual targets `tst_ProtocolManager`, `tst_ModbusScheduler`, `tst_SequenceEngine`. ## Hardware topology | Slave ID | Device | |----------|--------| | 1 | 16-ch relay board | | 2 | Power CH1 | | 3 | Power CH2 | | 4 | Power CH3 | Use daisy-chain RS485 with 120 Ω termination. Prefer baud ≥ 38400 when polling often. ## External tools Vendor binaries (OpenOCD, oscilloscope SDKs) are **not** stored in Git. Place them under local `tools/` (see [tools/README.md](tools/README.md) and [docs/tools-setup.md](docs/tools-setup.md)). ## Documentation | Doc | Description | |-----|-------------| | [docs/architecture.md](docs/architecture.md) | Layering, Controller facade, timers | | [docs/protocol.md](docs/protocol.md) | Modbus RTU framing and register map | | [docs/release-checklist.md](docs/release-checklist.md) | Ship / smoke-test checklist | | [docs/tools-setup.md](docs/tools-setup.md) | OpenOCD layout and deploy notes |