HDMI-Tool — HDMI 源端测试工具(LT8619C/DLPC3421 转接板调试)
更新:2026-09-04。单文件 Python GUI(
hdmi_gui.py),另附命令行分辨率/图案工具hdmi_source.bat。已打包版直接双击HDMI-Tool.exe,无需安装 Python。
1. 功能总览
| 功能 | 说明 |
|---|---|
| EDID 查看 | 枚举各显示输出口,从注册表读取 EDID 原始数据,按 EDID 1.4/CEA-861 解算:厂商/型号/尺寸/支持模式(DTD/已建立/标准/CEA-VIC)/首选时序完整参数/校验和 |
| EDID 逐字节解析 | "EDID 原始数据"框右上"逐字节解析"按钮:按偏移逐字段展开基础块(同步头/厂商/产品/序列/版本/输入类型/尺寸/Gamma/特性位/色度/已建立+标准时序/4×描述符/扩展块数/校验和)与 CTA-861 扩展块(tag/版本/DTD 偏移/标志位/数据块链/扩展 DTD 区/校验和),每字段附原始字节 hex,自动换行;命令行等价 --edid-fields |
| 分辨率切换 | 第二行"分辨率"下拉列出显卡按该屏 EDID 提供的全部模式;应用=临时切换(不写注册表,重启还原),恢复=回到本次会话切改前的模式 |
| 测试图案 | 全屏投到所选显示器,测试卡区域可选 640x360 / 800x600 / full 铺满;内置 纯红/纯绿/纯蓝/棋盘格/网格线 + R/G/B 三行纯色值按钮(55/AA/FF,与 dist 下 solid_*.png 对应)+ 3 个自定义图片栏位 |
| 命令行模式 | 自动化测试脚本可直接调用(见 §4) |
2. 快速上手(GUI)
- 双击
HDMI-Tool.exe(或python hdmi_gui.py,需 Python ≥3.10 + pyserial 不需要,纯标准库;自定义图片 JPG/BMP 需 Pillow) - 顶部显示器下拉选择目标屏(多屏时注意别选成主屏),"刷新"重新枚举
- 切分辨率:第二行选模式 → 点"应用";测完点"恢复"
- 投测试图:
- 先在图案按钮行右侧选测试卡区域(640x360 / 800x600 / full)
- 点图案按钮即全屏投放;按 ESC 退出
- R/G/B 三行纯色按钮(55/AA/FF)用于位交换类测试:55 与 AA 互为字节镜像对,FF 为全高基准
- 自定义图片:点"⚙"配置名称与图片文件(图片会复制到本目录),点栏位名投放
- 区域与自定义栏位配置自动保存在本目录
pattern_slots.json
3. 典型场景(LT8619C demo 板测试)
1. HDMI 接 demo 板 → 启动 HDMI-Tool → 刷新 → 选中 demo 板显示器
2. 分辨率切 800x600@60(demo 板 shadow EDID 首选)→ 测试卡区域选 800x600
3. 点 R/G/B 行的纯色按钮投图 → 配合逻辑分析仪/万用表测 RGB 输出
4. 测完"恢复"分辨率
4. 命令行模式
python hdmi_gui.py --dump 控制台输出 EDID 解算(exe 版不支持)
python hdmi_gui.py --edid-fields 控制台输出 EDID 逐字节字段解析表(exe 版不支持)
python hdmi_gui.py --test-pattern Blue --area 800x600 --seconds 5
出图 5 秒自动退出
python hdmi_gui.py --test-pattern Custom1 投自定义栏位 1
--area {640x360,800x600,full} --monitor N --seconds S
hdmi_source.bat(PowerShell 源端工具,功能与 GUI 互补):
tools\hdmi_source.bat -List 枚举显示器与支持分辨率(验证 EDID)
tools\hdmi_source.bat -Monitor 1 -Mode 800x600 切模式
tools\hdmi_source.bat -Mode 800x600 -Pattern -Restore
切模式→出图案→退出后自动恢复
5. 目录内容
| 文件 | 用途 |
|---|---|
HDMI-Tool.exe |
打包好的单文件版(--noconsole;--dump 请用源码方式跑) |
hdmi_gui.py |
主程序源码 |
build_exe.py |
打包脚本(python build_exe.py,自动装 PyInstaller;--debug 额外出带控制台版) |
hdmi_source.ps1 / .bat |
源端分辨率/图案命令行工具 |
gen_bw_patterns.py / gen_solid_colors.py |
测试图生成脚本(bw 黑白系列 640x360 / solid 纯色系列 800x600) |
solid_*.png |
9 张 800x600 纯色图(R/G/B 各 55/AA/FF,供自定义栏位或脚本使用) |
bw_*.png |
5 张 640x360 黑白测试图(西门子星/频率条纹/渐变棋盘/波带/综合卡) |
logos/ |
图标源文件与 make_ico.py(改 logo 后重跑再打包) |
pattern_slots.json |
自定义栏位 + 测试卡区域配置(运行后自动生成/更新) |
6. 注意事项
- 测试卡区域与自定义栏位配置按 exe/脚本所在目录各自保存,两份安装互不影响
- 重打包后 Windows 图标缓存可能仍显示旧图标:
ie4uinit -show或改名即可 - 多屏环境切分辨率前先确认显示器序号(下拉框中名称与
-List输出一致) - 修改源码后重新打包前,先结束残留的 HDMI-Tool 进程(build_exe.py 会自动处理)