# 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 会自动处理)