Compare commits
63
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27b06e4515 | ||
|
|
9d292cbf65 | ||
|
|
7bd99436d8 | ||
|
|
76b28066f2 | ||
|
|
62b325cd9d | ||
|
|
5bf7f02609 | ||
|
|
e902503807 | ||
|
|
108ff64624 | ||
|
|
9810809fd9 | ||
|
|
d133906d32 | ||
|
|
d5566714ff | ||
|
|
f90ac0d8e9 | ||
|
|
7d15d31d74 | ||
|
|
4dddcd00c9 | ||
|
|
51b560d840 | ||
|
|
68d70497d4 | ||
|
|
74b64dcfd5 | ||
|
|
cf61916a9a | ||
|
|
e3544239af | ||
|
|
6c56fac5dc | ||
|
|
9b29b6afd6 | ||
|
|
30bc224710 | ||
|
|
3f36ead3fe | ||
|
|
e87bf14aaa | ||
|
|
c8ea5be031 | ||
|
|
2b7d103312 | ||
|
|
9585fae947 | ||
|
|
8e6107b490 | ||
|
|
9772a2bf83 | ||
|
|
cd14ed2ca4 | ||
|
|
4cc418f863 | ||
|
|
040b628d54 | ||
|
|
51e2f1c51c | ||
|
|
8497b1979a | ||
|
|
05e4f3ae92 | ||
|
|
059ce6a540 | ||
|
|
b167ce3401 | ||
|
|
a6721415a6 | ||
|
|
f0f8073afc | ||
|
|
3f35ad2c21 | ||
|
|
c1a5712f76 | ||
|
|
8e8811a4a0 | ||
|
|
b70cf102fd | ||
|
|
b36dd3911f | ||
|
|
cda1e72f17 | ||
|
|
744fbfd298 | ||
|
|
90433064ec | ||
|
|
68c7909922 | ||
|
|
e131646156 | ||
|
|
96df14caea | ||
|
|
d92156e0cd | ||
|
|
f549ddf48b | ||
|
|
84838e3e74 | ||
|
|
1a9927d9bb | ||
|
|
22d0969569 | ||
|
|
d9ecff4e49 | ||
|
|
2459b33162 | ||
|
|
efaf4d658f | ||
|
|
a14e3e7621 | ||
|
|
a1f6fdd34a | ||
|
|
0977b275ee | ||
|
|
736b43efe4 | ||
|
|
d0cefeebf3 |
@@ -0,0 +1,3 @@
|
||||
[submodule "gd32e230f8_firmware_merge_tool"]
|
||||
path = gd32e230f8_firmware_merge_tool
|
||||
url = https://gitea.hulk.wang/hulk/gd32e230f8_firmware_merge_tool.git
|
||||
+21
-2
@@ -162,6 +162,9 @@ python publish_gitea.py ../release/DLPilot-v<版本>-win64.zip --replace --insec
|
||||
- GUI 与 hdmi_source.ps1 各自独立实现显示器枚举,行为可能微差(GUI 与 `-List` 序号一致,
|
||||
但与"设置"面板序号无保证);多屏操作前先确认序号;
|
||||
- `pattern_slots.json` 兼容两种历史格式,写出只写新格式(详见 §3.11);
|
||||
- `--seconds` 冒烟在已有 DLPilot 实例(含用户开着的 exe)运行时会"挂起":run_gui
|
||||
检测到单实例互斥后弹模态框等点击。无头验证改用直启 `App(5)` 的等效脚本,或先关实例;
|
||||
重打包同理——build_exe.py 会 taskkill 同名进程,等于替用户关掉开着的实例;
|
||||
- 旧版 `app_gui.py` 仅保留作历史对照,当前入口使用 `app_fluent.py`;新增或修改界面时
|
||||
应遵循 PySide6-Fluent-Widgets 的控件和 Qt 布局,不要把旧版 CustomTkinter 依赖带回入口。
|
||||
|
||||
@@ -203,8 +206,11 @@ python publish_gitea.py ../release/DLPilot-v<版本>-win64.zip --replace --insec
|
||||
release/DLPilot.exe(67.1 MB,exe `--seconds 5` 定时退出冒烟 exit 0),按 §8 约定
|
||||
临时还原预置 pattern_slots.json 后 `package_release.py 0.4.1` 生成
|
||||
`DLPilot-v0.4.1-win64.zip`(66.8 MB,zip 内为预置 COM15 配置,本机 COM5 运行态
|
||||
已还原未入库)。**Gitea Release 尚未发布**,上传命令:
|
||||
`python publish_gitea.py ../release/DLPilot-v0.4.1-win64.zip --replace --insecure`。
|
||||
已还原未入库)。Gitea Release 已发布:tag `DLPilot-v0.4.1` 指向提交 `62b325c`
|
||||
(源码+exe+文档同一提交),资产 `DLPilot-v0.4.1-win64.zip`(66.8 MB),
|
||||
https://gitea.hulk.wang/hulk/HW-Debug-Tools/releases/tag/DLPilot-v0.4.1 。
|
||||
发布说明用 --notes-file 传入(内置 DEFAULT_NOTES 模板还是 v0.1.0 旧内容,下次
|
||||
发布记得先写说明文件)。
|
||||
- 2026-09-28 第二修:"串口未选/选错点连接后窗口被拉长、刷新按钮够不到"。根因:
|
||||
pyserial 原始异常串(`could not open port '': FileNotFoundError...`)整段塞进
|
||||
状态 BodyLabel,QLabel 不换行时最小宽度=整行文本宽,把右列参数行最小宽度撑爆。
|
||||
@@ -215,3 +221,16 @@ python publish_gitea.py ../release/DLPilot-v<版本>-win64.zip --replace --insec
|
||||
验证:compileall / selftest_rs485 ALL PASS / 离屏断言(空串口提示、长文本下标签
|
||||
最小宽度<300 可换行)/ GUI 冒烟 / 新 exe `--seconds 5` exit 0;v0.4.1 exe(15:05)
|
||||
与 zip 均已用该修复重打。
|
||||
- 2026-09-28 v0.4.2 两处 UI 小修:①"串口数据 · 收发日志"卡的"清空"按钮原本自占
|
||||
一行(_card 的标题行是独立 row,按钮行加在其下),与标题错位且多占一行高度——
|
||||
`_card()` 增加 `trailing` 参数把按钮并入标题行右端;②v0.4.0 fluent 重写把旧版
|
||||
app_gui.py 光机命令卡首行的快捷按钮排(开光机/关光机/查版本/软件重启/开TEC/
|
||||
关TEC/TEC33.0°C)整行丢失,开/关光机只能走预设下拉——本次按旧版排布原样恢复,
|
||||
位于电流行与预设行之间(命令直发 `_dlpc_send`,无新增协议逻辑)。
|
||||
验证:compileall / selftest_rs485 / selftest_theme ALL PASS;离屏渲染断言"清空"
|
||||
与标题垂直中心差 0px、7 个快捷按钮齐全;真实桌面冒烟 exit 0。APP_VERSION → 0.4.2
|
||||
并重打包。v0.4.2 已发布:tag `DLPilot-v0.4.2` 指向提交 `7bd9943`(源码+exe+文档
|
||||
同一提交),资产 `DLPilot-v0.4.2-win64.zip`(66.8 MB,zip 内为预置 COM15 配置,
|
||||
本机 COM5 运行态已还原未入库),
|
||||
https://gitea.hulk.wang/hulk/HW-Debug-Tools/releases/tag/DLPilot-v0.4.2 。
|
||||
本次发布说明已用 --notes-file 传入(临时文件,未入库)。
|
||||
|
||||
Binary file not shown.
@@ -63,7 +63,7 @@ import edid_parse
|
||||
import patterns
|
||||
|
||||
APP_NAME = "DLPilot"
|
||||
APP_VERSION = "0.4.1"
|
||||
APP_VERSION = "0.4.2"
|
||||
REPO_URL = "https://gitea.hulk.wang/hulk/HW-Debug-Tools"
|
||||
MONO = QFont("Consolas", 10)
|
||||
CHIP_IDLE = "#666666"
|
||||
@@ -210,7 +210,7 @@ class App(QMainWindow):
|
||||
button.clicked.connect(callback)
|
||||
return button
|
||||
|
||||
def _card(self, title, parent):
|
||||
def _card(self, title, parent, trailing=None):
|
||||
card = CardWidget(parent)
|
||||
layout = QVBoxLayout(card)
|
||||
layout.setContentsMargins(14, 12, 14, 14)
|
||||
@@ -218,6 +218,8 @@ class App(QMainWindow):
|
||||
row = QHBoxLayout()
|
||||
row.addWidget(StrongBodyLabel(title, card))
|
||||
row.addStretch(1)
|
||||
if trailing is not None:
|
||||
row.addWidget(trailing)
|
||||
layout.addLayout(row)
|
||||
return card, layout
|
||||
|
||||
@@ -434,11 +436,8 @@ class App(QMainWindow):
|
||||
body.addLayout(params)
|
||||
layout.addWidget(card)
|
||||
|
||||
card, body = self._card("串口数据 · 收发日志(译码 + 原始 hex)", self)
|
||||
row = QHBoxLayout()
|
||||
row.addStretch(1)
|
||||
row.addWidget(self._button("清空", self._dlpc_clear))
|
||||
body.addLayout(row)
|
||||
card, body = self._card("串口数据 · 收发日志(译码 + 原始 hex)", self,
|
||||
trailing=self._button("清空", self._dlpc_clear))
|
||||
self.txt_dlpc = self._text()
|
||||
self.txt_dlpc.setMinimumHeight(230)
|
||||
body.addWidget(self.txt_dlpc)
|
||||
@@ -472,6 +471,14 @@ class App(QMainWindow):
|
||||
row.addStretch(1)
|
||||
row.addWidget(self._button("查电流", self._query_current))
|
||||
body.addLayout(row)
|
||||
# 快捷命令行: v0.4.0 重写时从旧版 app_gui.py 丢失, 开关光机等一发命令
|
||||
# 不应只能走预设下拉
|
||||
quick = QHBoxLayout()
|
||||
for name, cmd in (("开光机", "M730S0"), ("关光机", "M730S1"), ("查版本", "M999"),
|
||||
("软件重启", "M888"), ("开TEC", "M7S0"), ("关TEC", "M7S1"),
|
||||
("TEC33.0°C", "M8S330")):
|
||||
quick.addWidget(self._button(name, lambda checked=False, c=cmd: self._dlpc_send(c)))
|
||||
body.addLayout(quick)
|
||||
preset_row = QHBoxLayout()
|
||||
self._dlpc_presets = [(n, cmd) for n, cmd, _ in dlpc_rs485.PRESETS]
|
||||
self.cbo_dlpc_cmd = ComboBox(card)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -12,6 +12,7 @@
|
||||
| <img src="EDID-viewer/assets/edid-viewer.png" width="64" alt="EDID-Viewer 图标"/> | [EDID-viewer](EDID-viewer/) | Windows 显示器 EDID 只读查看器:活动设备或离线文件的厂家/序列号/分辨率时序、CTA/HDMI/音频/HDR 能力、校验诊断;BIN/HEX 导入,BIN/JSON 报告导出 | 到 [Releases](https://gitea.hulk.wang/hulk/HW-Debug-Tools/releases) 下 `EDID-Viewer-vX.Y.Z-win64.zip`,解压即用;详见 [EDID-viewer/README.md](EDID-viewer/README.md) |
|
||||
| <img src="SerialMate/assets/serial-mate.png" width="64" alt="SerialMate 图标"/> | [SerialMate](SerialMate/) | RS485/串口调试助手:收发 + 协议包解析(帧构成令牌序列/包头/板ID/LEN口径/CRC 全可定制,默认兼容 DLPilot 光机协议)、板型档案一键切换协议参数与命令预设、payload 字符串/HEX 显示、4 通道曲线(弹窗独立、时间窗滑笔回看、悬停读值、暂停渲染)、发送框输入 payload 自动包装组帧(`/` 分隔多条)、HEX 直发与周期发送 | 到 [Releases](https://gitea.hulk.wang/hulk/HW-Debug-Tools/releases) 下 `SerialMate-vX.Y.Z-win64.zip`,解压即用;详见 [SerialMate/README.md](SerialMate/README.md) |
|
||||
| <img src="I2C-Inject/logos/logo_i2c_orange.png" width="64" alt="I2C-Inject 图标"/> | [I2C-Inject](I2C-Inject/) | ⏸ **暂停开发**:LT8619C 寄存器在线读写(RP2040 注入器在 demo 板 I2C 总线上择机注入,避让主控轮询,写后自动读回校验)。代码与固件保留备查 | 暂不提供发布;状态与原理详见 [I2C-Inject/README.md](I2C-Inject/README.md) |
|
||||
| <img src="gd32e230f8_firmware_merge_tool/FlashTool/src/logos/logo_flash.png" width="64" alt="GD32 固件工具图标"/> | [gd32e230f8_firmware_merge_tool](gd32e230f8_firmware_merge_tool/) | 🔗 **子模块**(独立仓库独立管理):GD32E230 固件工具——APP/BL 合成补齐(`_UPDATE.bin`/`_BL.bin`)+ DAPLink Flash GUI 烧录(自带 OpenOCD 工具链) | 本仓目录即快捷入口;版本更新与发布在其[原仓库](https://gitea.hulk.wang/hulk/gd32e230f8_firmware_merge_tool)(Releases 下 zip 解压即用);详见 [README](gd32e230f8_firmware_merge_tool/README.md) |
|
||||
|
||||
## 环境要求
|
||||
|
||||
@@ -50,6 +51,7 @@ HW-Debug-Tools/
|
||||
│ ├── README.md # 使用说明
|
||||
│ └── AGENTS.md # 工程档案
|
||||
├── I2C-Inject/ # PC 端 GUI + RP2040 固件 + 打包 exe + 图标 + README
|
||||
├── gd32e230f8_firmware_merge_tool/ # 🔗 git 子模块 → GD32E230 固件工具(独立仓库,见下方备注)
|
||||
├── LICENSE
|
||||
└── README.md
|
||||
```
|
||||
@@ -68,6 +70,10 @@ python publish_gitea.py <工具>-v<版本>-win64.zip --insecure # 上传 Gite
|
||||
## 备注
|
||||
|
||||
- 源码与打包产物(exe、pattern_slots.json)均入库;发布 zip 不入库,只上传 Gitea Release
|
||||
- `gd32e230f8_firmware_merge_tool/` 是 git 子模块([独立仓库](https://gitea.hulk.wang/hulk/gd32e230f8_firmware_merge_tool),
|
||||
代码与发布均在其仓内管理,本仓只锁定指针):
|
||||
新克隆后需 `git submodule update --init` 拉取内容;
|
||||
跟进其最新版用 `git submodule update --remote gd32e230f8_firmware_merge_tool`,随本仓提交新指针
|
||||
- 两件工具的寄存器语义(0x606E 位交换 / 0x606D 整组顺序)均经 demo 板逻辑分析仪
|
||||
双色交叉实测,过程数据与规程存于上游主仓库 `doc/architecture/`
|
||||
- 更新:2026-09-28
|
||||
- 更新:2026-09-30
|
||||
|
||||
Binary file not shown.
@@ -29,6 +29,11 @@
|
||||
自动包装发送。
|
||||
- **I2C-Inject**:RP2040 固件 + PC GUI,demo 板 I2C 总线择机注入读写寄存器。
|
||||
**2026-09-25 起暂停开发**,代码与固件保留备查。
|
||||
- 子模块引用:`gd32e230f8_firmware_merge_tool/`(2026-09-30 接入,git submodule 指向
|
||||
`hulk/gd32e230f8_firmware_merge_tool`)——GD32E230 APP/BL 合成补齐
|
||||
(`_UPDATE.bin`/`_BL.bin`)+ DAPLink Flash GUI 烧录。代码、版本与发布均在原仓库
|
||||
独立管理,本仓只锁指针;新克隆 `git submodule update --init` 拉取,跟进上游
|
||||
`git submodule update --remote gd32e230f8_firmware_merge_tool` 后随本仓提交新指针。
|
||||
- 镜像约定:`EDID-viewer` 主目录(`E:\Hulk-Coding\HW-Debug-Tools\EDID-viewer`)
|
||||
改动后需 robocopy /MIR 同步到 `E:\Hulk-Coding\LT8619C\_Debug\_Tools\EDID-viewer`
|
||||
(排除 .venv/build/__pycache__/.git,zip 不同步)。
|
||||
|
||||
Submodule
+1
Submodule gd32e230f8_firmware_merge_tool added at d776979a5a
Reference in New Issue
Block a user