Files
HW-Debug-Tools/HDMI-Tool
..

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)

  1. 双击 HDMI-Tool.exe(或 python hdmi_gui.py,需 Python ≥3.10 + pyserial 不需要,纯标准库;自定义图片 JPG/BMP 需 Pillow)
  2. 顶部显示器下拉选择目标屏(多屏时注意别选成主屏),"刷新"重新枚举
  3. 切分辨率:第二行选模式 → 点"应用";测完点"恢复"
  4. 投测试图:
    • 先在图案按钮行右侧选测试卡区域(640x360 / 800x600 / full)
    • 点图案按钮即全屏投放;按 ESC 退出
    • R/G/B 三行纯色按钮(55/AA/FF)用于位交换类测试:55 与 AA 互为字节镜像对,FF 为全高基准
    • 自定义图片:点"⚙"配置名称与图片文件(图片会复制到本目录),点栏位名投放
  5. 区域与自定义栏位配置自动保存在本目录 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 会自动处理)