8e91e661f105634134aab053a3af8a9623f17aac
背景: 用户接非 DLPilot 协议设备(COM25)开解析模式接收区一片空白——_dispatch_rx 在解析模式只上抛完整合法帧, 不成帧字节(纯文本日志/别的协议/波特率不符乱码)被 FrameParser 重同步时静默丢弃。用户明确定位: 首先是基础串口调试工具, 自定义协议解析是附加项, 附加能力不得影响本体功能。 修复: protocol.py FrameParser 丢弃字节累积进 garbage(新增 drain_garbage(), feed() 返回值不变); link.py 新增 on_garbage(data, ts) 回调, 每批无条件 drain(未接回调也不累积); main.py 把 on_garbage 并入 raw 事件与透传行同格式显示, 解析协议帧开关补 tooltip, 版本 0.1.2。半帧前缀扣留语义有意保留(可能补全成真帧, 至多扣一个前缀长度)。 自检: selftest 8b +10 项(纯文本全透出/噪声+帧+尾字节/坏CRC帧字节全透出/半帧头扣留补全), loop 3b +3 项, gui 5b +2 项; 全量 67+21+68 项 PASS; exe 已重建。README/AGENTS.md(不变量 5a) 同步。
HW-Debug-Tools
硬件调试上位机工具集,起家于 LT8619C(HDMI→RGB888)→ DLPC3421 投影转接板调试配套,
现收纳全部调试工具;原名 LT8619C_Debug_Tools,2026-09-28 更名(Gitea 旧地址自动重定向)。
上游主仓库(固件):LT8619C_DLPC3421_HDMI。
工具一览
| 图标 | 工具 | 用途 | 获取 |
|---|---|---|---|
![]() |
DLPilot | HDMI 源端(EDID 查看/逐字节解析、分辨率切换、纯色与测试图案全屏投屏)+ 光机控制(RS485→GD32 网关→DLPC3421:开关光机/设光强/查温度电流) | 到 Releases 下 DLPilot-vX.Y.Z-win64.zip,解压即用;详见 DLPilot/README.md |
![]() |
EDID-viewer | Windows 显示器 EDID 只读查看器:活动设备或离线文件的厂家/序列号/分辨率时序、CTA/HDMI/音频/HDR 能力、校验诊断;BIN/HEX 导入,BIN/JSON 报告导出 | 到 Releases 下 EDID-Viewer-vX.Y.Z-win64.zip,解压即用;详见 EDID-viewer/README.md |
![]() |
SerialMate | RS485/串口调试助手:收发 + 协议包解析(帧构成令牌序列/包头/板ID/LEN口径/CRC 全可定制,默认兼容 DLPilot 光机协议)、板型档案一键切换协议参数与命令预设、payload 字符串/HEX 显示、4 通道曲线(弹窗独立、时间窗滑笔回看、悬停读值、暂停渲染)、发送框输入 payload 自动包装组帧(/ 分隔多条)、HEX 直发与周期发送 |
到 Releases 下 SerialMate-vX.Y.Z-win64.zip,解压即用;详见 SerialMate/README.md |
![]() |
I2C-Lab | I2C 总线监控调试台:RP2040 probe 固件纯被动监听(PIO 硬件捕获 + 实时解码,不加上拉不驱动),PC 端实时事务流(地址/RW/ACK/数据/收尾)、地址过滤、CSV 导出、逻辑分析仪式波形快照(滚轮缩放/事务注记);主机读写与从机模拟在路线图上(前身 I2C-Inject 的注入职能将并入) | 到 Releases 下 I2C-Lab-vX.Y.Z-win64.zip(含 probe 固件 UF2),解压即用;详见 I2C-Lab/README.md |
![]() |
I2C-Inject | ⏸ 暂停开发(留档备查):LT8619C 寄存器在线读写(RP2040 注入器在 demo 板 I2C 总线上择机注入,避让主控轮询,写后自动读回校验)。后续开发并入 I2C-Lab(监控已就绪,注入将在其主机阶段复活) | 暂不提供发布;状态与原理详见 I2C-Inject/README.md |
![]() |
gd32e230f8_firmware_merge_tool | 🔗 子模块(独立仓库独立管理):GD32E230 固件工具——APP/BL 合成补齐(_UPDATE.bin/_BL.bin)+ DAPLink Flash GUI 烧录(自带 OpenOCD 工具链) |
本仓目录即快捷入口;版本更新与发布在其原仓库(Releases 下 zip 解压即用);详见 README |
环境要求
- 发布版 zip 开箱即用(Windows 10/11 x64,无需安装 Python)
- 源码运行:Python ≥3.10;DLPilot 命令行/EDID 纯标准库,GUI 需
py -m pip install PySide6-Fluent-Widgets(自定义图片 JPG/BMP 可选 Pillow、光机控制可选 pyserial); EDID-viewer GUI 需py -m pip install -r EDID-viewer/requirements.txt(PySide6 + PySide6-Fluent-Widgets); SerialMate GUI 需py -m pip install PySide6 PySide6-Fluent-Widgets pyserial; I2C-Lab GUI 同上;重新构建 probe 固件需 pico-sdk 2.x + Arm GNU 交叉工具链 (见 I2C-Lab/AGENTS.md) - 重新打包:
DLPilot/src/build_exe.py、EDID-viewer/src/build_exe.py与SerialMate/src/build_exe.py、I2C-Lab/src/build_exe.py(均自动安装 PyInstaller); I2C-Inject 目录内python build_exe.py
目录结构
每个工具内统一三区:src/ 源代码(人写) → assets/ 生成资产(可再生成) →
release/ 打包与发布产物(机器生成);README.md 面向使用者,AGENTS.md 记录工程约束与开发进度,
仓库整体的开发需求与进度管理见根目录 agent.md。
HW-Debug-Tools/
├── DLPilot/
│ ├── src/ # 源码 + 打包/发布脚本 + 图标源
│ ├── assets/ # 生成的测试图案 PNG(gen_*.py 产物)
│ ├── release/ # 交付物(exe/zip 不入库,本地保留;只上传 Gitea Release 附件)
│ ├── README.md # 使用说明
│ └── AGENTS.md # 工程档案
├── EDID-viewer/
│ ├── src/ # 界面/解析/WMI 读取 + 打包/发布脚本
│ ├── assets/ # 图标与生成脚本
│ ├── release/ # 交付物(exe/zip 不入库,本地保留;只上传 Gitea Release 附件)
│ ├── README.md # 使用说明
│ └── AGENTS.md # 工程档案
├── SerialMate/
│ ├── src/ # 协议/串口线程/曲线控件/GUI + 自检 + 打包/发布脚本
│ ├── release/ # 交付物(exe/zip 不入库,本地保留;只上传 Gitea Release 附件)
│ ├── README.md # 使用说明
│ └── AGENTS.md # 工程档案
├── I2C-Lab/
│ ├── src/ # 解码/固件链路/波形控件/GUI + 自检 + 打包/发布脚本
│ ├── firmware/ # probe 固件(pico-sdk C + PIO + make_uf2.py)
│ ├── assets/ # 图标(I2C 橙色母题)
│ ├── release/ # I2C-Lab.exe + firmware/i2c_lab.uf2(交付物本地保留,不入库;发布时走流水线)
│ ├── README.md # 使用说明
│ └── AGENTS.md # 工程档案
├── I2C-Inject/ # ⏸ 暂停开发留档(PC GUI + MicroPython 固件 + 打包 exe + 图标 + README)
├── gd32e230f8_firmware_merge_tool/ # 🔗 git 子模块 → GD32E230 固件工具(独立仓库,见下方备注)
├── icons/ # 图标家族唯一权威:风格与内容约定(README.md)+ 统一生成器(make_icon.py)
├── LICENSE
└── README.md
发布流程(DLPilot / EDID-Viewer / SerialMate / I2C-Lab 同一套流水线)
cd DLPilot/src # 或 EDID-viewer/src、SerialMate/src、I2C-Lab/src
python build_exe.py # 打包 → ../release/<工具>.exe
python package_release.py <版本> # → ../release/<工具>-v<版本>-win64.zip
python publish_gitea.py <工具>-v<版本>-win64.zip --insecure # 上传 Gitea Release(需 GITEA_TOKEN)
每个工具独立打标签发布(DLPilot-v* / EDID-Viewer-v* / SerialMate-v* /
I2C-Lab-v*),Release 列表按时间倒序混排于同一页面。
备注
- 源码与运行配置入库;exe/zip 等交付物不入库(本地保留),发布只上传 Gitea Release 附件
gd32e230f8_firmware_merge_tool/是 git 子模块(独立仓库, 代码与发布均在其仓内管理,本仓只锁定指针): 新克隆后需git submodule update --init拉取内容; 跟进其最新版用git submodule update --remote gd32e230f8_firmware_merge_tool,随本仓提交新指针- 两件工具的寄存器语义(0x606E 位交换 / 0x606D 整组顺序)均经 demo 板逻辑分析仪
双色交叉实测,过程数据与规程存于上游主仓库
doc/architecture/ - 全部工具图标(logo 家族:黑底 + 工具色圆角块 + 两行字)的约定与再生成见
icons/README.md,统一生成器
icons/make_icon.py - 更新:2026-10-10
Releases
8
SerialMate v0.1.2
Latest
Languages
Python
92.9%
PowerShell
3.5%
C
2.4%
CMake
1.1%





