Rename project from xserial to pipeview

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-12 22:17:40 +08:00
parent fd680858f6
commit 8caf7d6d62
64 changed files with 314 additions and 314 deletions

View File

@@ -1,4 +1,4 @@
# xserial
# pipeview
**跨平台串口 / TCP / UDP 数据观测工具** — 可配置分帧、协议解码、多会话管理、实时波形绘图,单二进制零依赖。
@@ -89,8 +89,8 @@
- **自定义分帧器** — 实现 `feed(bytes)``flush()``reset()``pending_len()` 四个函数
- **自定义解码器** — 实现 `decode(frame)` 函数,返回 text/hex/plot/binary 四种类型
- **会话 API** — `xserial.open()` 创建 Session、`session:on_data()` 事件回调、`session:send()` 发送数据
- **工具函数** — `xserial.list_ports()``xserial.sleep(ms)``xserial.poll(limit)``xserial.log(msg)`
- **会话 API** — `pipeview.open()` 创建 Session、`session:on_data()` 事件回调、`session:send()` 发送数据
- **工具函数** — `pipeview.list_ports()``pipeview.sleep(ms)``pipeview.poll(limit)``pipeview.log(msg)`
### 快捷键
@@ -125,11 +125,11 @@
```bash
# 克隆项目
git clone https://github.com/your-org/xserial.git
cd xserial
git clone https://github.com/your-org/pipeview.git
cd pipeview
# 编译运行
cargo run -p xserial-gui
cargo run -p pipeview-gui
# 运行测试
cargo test --workspace # ~308 个测试
@@ -139,9 +139,9 @@ cargo clippy --workspace --all-targets -- -D warnings
### 发布构建
```bash
cargo build -p xserial-gui --release
# 二进制位于 target/release/xserial-gui (Linux/macOS)
# 或 target/release/xserial-gui.exe (Windows)
cargo build -p pipeview-gui --release
# 二进制位于 target/release/pipeview-gui (Linux/macOS)
# 或 target/release/pipeview-gui.exe (Windows)
```
---
@@ -168,7 +168,7 @@ Listening on 127.0.0.1:8091, waiting for connections...
### 步骤 2配置 Session
xserial-gui 中创建 Session
pipeview-gui 中创建 Session
| 配置项 | 值 |
|--------|-----|
@@ -277,23 +277,23 @@ return {
```
┌──────────────────────────────────────────────────┐
xserial-gui (egui) xserial-tui (ratatui) │
pipeview-gui (egui) pipeview-tui (ratatui) │
├──────────────────────────────────────────────────┤
xserial-client │
pipeview-client │
│ SessionManager · Session · Config · History │
│ Lua Runtime (mlua / LuaJIT) │
├──────────────────────────────────────────────────┤
xserial-core │
pipeview-core │
│ Transport ──▶ Frame ──▶ Protocol ──▶ Pipeline │
└──────────────────────────────────────────────────┘
```
| Crate | 类型 | 职责 |
|-------|------|------|
| `xserial-core` | library | 传输层Serial/TCP/UDP、分帧器Line/Fixed/Length/COBS/Mixed/Lua、协议解码器Text/Hex/Plot、MultiPipeline |
| `xserial-client` | library | Session 生命周期管理、SessionManager、事件广播tokio broadcast、RingBuffer 历史、Lua 运行时及会话 API |
| `xserial-gui` | binary | egui 桌面应用,包含 sidebar/config/console/text/hex/plot 面板、键盘快捷键、字体管理、性能分析 |
| `xserial-tui` | binary | ratatui 终端应用(功能未对齐 GUI仍在开发中 |
| `pipeview-core` | library | 传输层Serial/TCP/UDP、分帧器Line/Fixed/Length/COBS/Mixed/Lua、协议解码器Text/Hex/Plot、MultiPipeline |
| `pipeview-client` | library | Session 生命周期管理、SessionManager、事件广播tokio broadcast、RingBuffer 历史、Lua 运行时及会话 API |
| `pipeview-gui` | binary | egui 桌面应用,包含 sidebar/config/console/text/hex/plot 面板、键盘快捷键、字体管理、性能分析 |
| `pipeview-tui` | binary | ratatui 终端应用(功能未对齐 GUI仍在开发中 |
**依赖方向:** `core ← client ← {gui, tui}`
@@ -316,9 +316,9 @@ GUI 状态自动保存,路径遵循各平台规范:
| 平台 | 路径 |
|------|------|
| Linux | `$XDG_CONFIG_HOME/xserial/gui-state.json``~/.config/xserial/gui-state.json` |
| macOS | `~/Library/Application Support/xserial/gui-state.json` |
| Windows | `%APPDATA%\xserial\gui-state.json` |
| Linux | `$XDG_CONFIG_HOME/pipeview/gui-state.json``~/.config/pipeview/gui-state.json` |
| macOS | `~/Library/Application Support/pipeview/gui-state.json` |
| Windows | `%APPDATA%\pipeview\gui-state.json` |
持久化的内容包括Session 配置(传输参数、管线设置)、日志开关及路径、活动标签页、显示选项。
@@ -343,8 +343,8 @@ python tools/test_drone.py --rate 10 --port 8092
### 性能分析
```bash
RUST_LOG=xserial_gui::perf=info XSERIAL_GUI_PROFILE=1 cargo run -p xserial-gui
XSERIAL_GUI_PROFILE_INTERVAL_MS=500 cargo run -p xserial-gui
RUST_LOG=pipeview_gui::perf=info XSERIAL_GUI_PROFILE=1 cargo run -p pipeview-gui
XSERIAL_GUI_PROFILE_INTERVAL_MS=500 cargo run -p pipeview-gui
```
输出每帧的耗时、事件 drain 耗时、text/hex/plot 渲染耗时、plot 点数统计。
@@ -352,8 +352,8 @@ XSERIAL_GUI_PROFILE_INTERVAL_MS=500 cargo run -p xserial-gui
### 日志
```bash
RUST_LOG=info cargo run -p xserial-gui # 应用日志
RUST_LOG=xserial_gui=debug cargo run -p xserial-gui # 详细日志
RUST_LOG=info cargo run -p pipeview-gui # 应用日志
RUST_LOG=pipeview_gui=debug cargo run -p pipeview-gui # 详细日志
```
使用 `tracing-subscriber` + `RUST_LOG` 环境变量控制。
@@ -362,10 +362,10 @@ RUST_LOG=xserial_gui=debug cargo run -p xserial-gui # 详细日志
```
crates/
xserial-core/ # 传输、分帧、协议
xserial-client/ # 会话管理、Lua 运行时
xserial-gui/ # egui 桌面应用
xserial-tui/ # ratatui 终端应用
pipeview-core/ # 传输、分帧、协议
pipeview-client/ # 会话管理、Lua 运行时
pipeview-gui/ # egui 桌面应用
pipeview-tui/ # ratatui 终端应用
examples/ # Lua 脚本示例
drone_plot.lua # 飞控遥测波形解码器
drone_text.lua # 飞控遥测文本解码器