Add PA11 power-hold output (PMOS self-latch keep-alive)

This commit is contained in:
2026-10-10 09:51:51 +08:00
parent 9c7aafb78c
commit 6246a87c3c
16 changed files with 2573 additions and 3 deletions
+27 -3
View File
@@ -28,7 +28,9 @@
- `LD/` —— 链接脚本(默认 xE 512K);
- `Inc/`+`Src/` —— 应用层,板级引脚/开关集中在 `Inc/board_config.h`;
- `OpenOCD/` —— 工程内会话配置(GD-LINK/CMSIS-DAP + stm32f4x);
- `doc/` —— 芯片文档(数据手册/用户手册/固件库指南/AN,已齐备)。
- `doc/` —— 芯片文档(数据手册/用户手册/固件库指南/AN,已齐备);
- `GUI/` —— 温控上位机(PySide6-Fluent,详见其 `README.md`,运行态
`filmforge_gui.json`/`logs/`/`build/`/`release/` 由 `GUI/.gitignore` 挡)。
- **编译方法**:
```bash
cmake --preset Debug && cmake --build Build/Debug
@@ -70,7 +72,27 @@
- M3/M4 为**预留**:仅维护软件状态(ack+可回读),真实加热硬件执行体待接入
(`command.c` 的 `heater_apply()` 桩);GUI 可先行全量联调协议
- 协议要点:全幂等(ack 丢可重发)、响应超时建议 300ms×3 次、温度一律 ASCII
- 上位机工具:用户另行开发 FilmForge 专用 GUI(协议按 protocols.md)
- **专用 GUI 上位机 v0.1.0 完成**(`GUI/`,参照 DLPilot 分层:协议模块纯标准库 +
PySide6-Fluent 界面 + 自检 + PyInstaller):
- 文件角色:`filmforge_rs485.py`(帧/解析/串口线程 FF485)、`app_fluent.py`
(双栏仪表盘 + **自绘温度曲线**,未引第三方图表库)、`config.py`(设置记忆
filmforge_gui.json)、`filmforge_gui.py`(入口+CLI `--port/--cmd/--seconds-report`)、
`selftest_rs485.py`/`selftest_gui.py`(协议向量 / 离屏渲染+派发回归)、
`build_exe.py` → `release/FilmForge.exe`+发布 zip、`publish_gitea.py`
(tag `FilmForge-GUI-vX.Y.Z`)
- 功能:实测温度曲线+目标温度阶梯线同图(闭环监视)、M2 上报帧直采 / 上报关闭时
上位机自动轮询 M1 补点、NTC OPEN/SHRT 断口+故障标记、时间窗/暂停/窗口统计、
目标(M4S 0~200)/加热(M3S1 确认)/上报(M2S 100~60000)控制、连接自动同步
版本/上报/加热/目标、M888/M9999 二次确认+复位后重查、收发日志、CSV 记录
- **COM5 真机全链路验证通过**:M999=v41.0.0.1、M1/M2/M3/M4 查询、M2S500 上报
3s 收 6 帧、M2S0 停止;GUI 端到端(串口线程→队列→派发→曲线/状态芯片)实测通过
- 关键教训(勿重蹈,详见 `GUI/README.md`):①应答派发必须是 **FIFO 队列**(半双工
应答按发送序返回;单 pending 槽在连接序列 150ms 连发下被乱序击穿,实测 M2 的
OFF 被 M3 槽吃掉、M4 目标值混入曲线);②时间戳在串口线程读取点打(SerialMate
教训);③M4 目标应答路由窗口取条目生命周期 1.2s(适配器换向延迟实测可 >0.5s,
上报开启时才收紧 0.5s);④Fluent 控件样式走 setCustomStyleSheet(DLPilot 同款坑)
- 发布策略:GUI 产物(release/)暂不入库,本地 `python build_exe.py` 生成;发布走
`publish_gitea.py` 上传 zip(tag `FilmForge-GUI-vX.Y.Z`,与固件 tag 区分)
- **SerialMate 串口工具问题已定位**(见
`E:\Hulk-Coding\HW-Debug-Tools\SerialMate\ISSUE_rx_timestamp_and_lag.md`):
时间戳在 GUI 消费时打导致失真 + 接收日志无限增长致卡顿;待该工具修复后
@@ -87,7 +109,9 @@
- [ ] **适配器更换**:换可靠的 USB-RS485 适配器(当前自动方向切换间歇丢响应)。
- [ ] **加热驱动**:加热功率器件驱动与控制(MOS/PWM/继电器方案待定),
接入 `command.c` 的 `heater_apply()` 桩;随后控温闭环(PID)。
- [ ] **专用 GUI 上位机**:用户开发中,协议按 `protocols.md`。
- [x] **专用 GUI 上位机 v0.1.0**:`GUI/` 已完成并通过 COM5 真机全链路验证
(协议按 `protocols.md`;遗留见其 README"已知事项":应用图标、加热硬件
接入后的闭环联调、固件 M3/M4 硬件执行体实现)。
- [ ] **LED 引脚确认**:FilmForge 自制板 LED 引脚未定(当前沿用模板默认 PA15,
仅为构建占位),按原理图修改。
- [ ] **delay_10us 校准**:M4@168MHz 系数为估算值(/300000),需实测修正。