feat: 新增 SerialMate 串口调试助手 v0.1.0

- 协议帧构成令牌序列可定制(包头/板ID/LEN口径/5种CRC x 3种覆盖), 默认兼容 DLPilot 光机协议
This commit is contained in:
2026-09-27 18:52:54 +08:00
parent d5566714ff
commit d133906d32
22 changed files with 4258 additions and 9 deletions
+43 -4
View File
@@ -16,11 +16,14 @@
publish_gitea(`GITEA_TOKEN` 用户级环境变量;实例 TLS 间歇抽风,实际请求加
`--insecure`,详见 `DLPilot/AGENTS.md` §5)。
- 结构约定:每个工具三区目录(**src/ 人写 / assets/ 可再生 / release/ 交付**)+ 双文档
(README 使用说明 / AGENTS.md 工程约束与进度)。三个工具独立开发、独立打标签发布,
(README 使用说明 / AGENTS.md 工程约束与进度)。各工具独立开发、独立打标签发布,
Release 列表按时间倒序混排于同一页面:
- **DLPilot**(原 HDMI-Tool)="3D 光固化光机调试台":HDMI 源端(EDID/分辨率/
测试图案投屏)+ 光机控制(RS485→GD32E230 网关→DLPC3421)+ 电源检查。
- **EDID-viewer**:Windows 显示器 EDID 只读查看器(Fluent UI)。
- **SerialMate**:RS485/串口调试助手,帧格式(包头/板ID/LEN/CRC)可定制,
默认兼容 DLPilot 光机协议;payload 字符串/HEX 显示、4 通道曲线、payload
自动包装发送。
- **I2C-Inject**:RP2040 固件 + PC GUI,demo 板 I2C 总线择机注入读写寄存器。
**2026-09-25 起暂停开发**,代码与固件保留备查。
- 镜像约定:`EDID-viewer` 主目录(`E:\Hulk-Coding\LT8619C_Debug_Tools\EDID-viewer`)
@@ -55,7 +58,31 @@
- 工程化:目录与发布流水线对齐 DLPilot(onefile exe 入库);标签
`EDID-Viewer-v0.1.0` 与 Release 附件(66,483,477 字节)已核对。
### 2.3 I2C-Inject — ⏸ 暂停开发(2026-09-25)
### 2.3 SerialMate — v0.1.0(2026-09-27,首版)
- **更名**:原名 SerialAssistant(目录/exe/文档/配置同步更名;旧配置
serial_assistant.json 首次启动自动迁移为 serial_mate.json;图标与名字
无绑定为波形+RS485 母题)。用户确认 "SerialMate 吧"(2026-09-27)。
- 协议:**帧构成令牌序列可定制**(`HDR ID LEN PAYLOAD CRC` + 十六进制字面量
同步头,收发共用布局仅包头分方向;支持字段换序/无板ID/多字节同步头,LEN
口径 payload 长度/到帧尾/整帧三种)、5 种 CRC 算法 × 3 种覆盖范围,默认与
DLPilot 光机 RS485 协议一致(D5/B5/01/SUM8/不含包头);增量解析前缀逐位
对齐 + CRC 失败逐字节重同步;自测 64 项全 PASS(DLPilot 实测帧向量 +
CRC 标准校验值 + 布局换序/LEN 口径向量 + 布局模糊往返)。
- 链路:串口参数热切换、半双工友好发送队列(未连接丢弃)、解析/透传双模式
热切、`loop://` 虚拟回环自检 13 项全 PASS(组帧→发送→接收→解析→曲线提取)。
- GUI(PySide6-Fluent-Widgets,用户指定沿用 Qt 方案):帧构成/LEN 口径可视化
编辑,payload 字符串/HEX 切换(半透明底色高亮)、原始帧 hex、时间戳、日志
保存;4 通道曲线(三种提取 + 倍率,**弹窗独立**:时间窗滑笔回看、纵轴刻度、
悬停读值、暂停渲染/自动Y/滚轮缩放/拖动 Y 轴);发送自动包装(输入 payload
自动组帧,`/` 分隔多条依次发)、HEX 直发、周期发送、组帧实时预览、历史
回溯、回车发送;主题跟随系统;标题栏版本号 + 关于弹窗 + 图标(波形 RS485)。
- 板型档案(2026-09-27 实机反馈追加):不同板子的"协议参数+命令预设表"存为
命名档案(board_profiles.json,不入库,首次运行生成默认 DLPilot 板型),
发送卡一键切换/新建/存为/删除/表格编辑/重载。
- 发布:SerialMate.exe 已入库(随帧构成功能重建),zip/Release 未发布
(待用户验收后走 package_release + publish_gitea)。
### 2.4 I2C-Inject — ⏸ 暂停开发(2026-09-25)
- 已完成:RP2040 注入器固件(MicroPython,内置 viper 总线嗅探)、PC 端 GUI、
demo 板寄存器语义实测(0x606E bit5=镜像 D[7:0]、0x606D 整组顺序,逻辑分析仪
双色交叉验证)。
@@ -92,10 +119,15 @@
- 实机验收缺口:HDMI 热插拔、多屏、跨屏 DPI、最大化/恢复与导入导出完整交互
(见 `EDID-viewer/VALIDATION.md`)。
### 3.3 I2C-Inject
### 3.3 SerialMate
- 【待真机】光机实机收发与温度曲线实测(M201 ×0.1 提取),当前仅回环验证。
- 【无图标】assets/serial-mate.ico 未生成(build_exe.py 已预留路径)。
- 发送批处理脚本化(延时/循环/等待应答);曲线数据导出 CSV。
### 3.4 I2C-Inject
- 暂停开发期间不列计划;恢复时以其 README 现状为准。
### 3.4 明确不做(决策,非待办)
### 3.5 明确不做(决策,非待办)
- **0x606E 的 0x40/0x80 位交换不再单独实测**(2026-09-25 用户确认:当前行为正常、
符合预期,bit5 实测基线已够用;原【待硬件】项关闭)。
- TI 原始 I2C 命令透传不做:GD32 网关固件只收 ASCII M 命令集(v0.2.0 显式决策)。
@@ -162,6 +194,13 @@ cd EDID-viewer/src
python -m unittest # 9 项解析测试(改 edid.py 后必跑)
python build_exe.py ; python package_release.py 0.1.0 # 打包 + 组装 zip
python publish_gitea.py ../release/EDID-Viewer-v0.1.0-win64.zip --insecure
# SerialMate(完整清单:SerialMate/AGENTS.md)
cd SerialMate/src
python selftest.py ; python selftest_loop.py # 协议回归 + 链路回环(改协议/链路后必跑)
python main.py --seconds 5 # GUI 冒烟
python build_exe.py ; python package_release.py 0.1.0 # 打包 + 组装 zip
python publish_gitea.py ../release/SerialMate-v0.1.0-win64.zip --insecure
```
上游协议/寄存器语义问题先查上游仓 `protocols.md` 与 `doc/architecture/`;