Files
yhf c8bfef090a chore: 发布V1.1.26版本,修复Sink角色切换初始化残留问题
1. 更新所有文件版本号至V1.1.26,同步固件版本寄存器值
2. 修复Sink角色往返时初始化上下文残留问题,切换回Sink时重新执行完整初始化
3. 优化Sink配置生效逻辑,同角色仅复制PC可写配置,保留运行状态
4. 增加初始化阶段入队标记,避免沿用旧成功结果跳过未执行命令
5. 停止入队失败时由北向轮询重试,不依赖On_work或通道使能
6. 新增Sink初始化回归测试套件,覆盖14种场景验证流程正确性
2026-09-17 12:01:50 +08:00

29 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sink 初始化回归验证
## 主机测试
在仓库根目录执行(需要 Node.js 和本机 GCC):
```powershell
node tests/sink_init/run.cjs C:/Qt/Tools/mingw1310_64/bin/gcc.exe
```
测试编译真实 `chrg_sink.c`、从 COM 提取的配置生效函数和北向状态调度片段;只模拟时钟、南向批次、继电器及无关外设。每个场景独立进程,临时产物自动清理。
14 个用例覆盖:旧影子配置保留实时状态、重复退出 Short、初始化中配置变化返回忙、重复 INIT 恢复、初始化中停止、首批/后续阶段入队失败、批次失败重试、完整初始化后再次退出 Short、重复/拒绝请求不改变配置版本、停止入队失败后台重试、Sink 初始化中切换角色后重新初始化。
主机测试不能验证实际串口回码匹配、线程竞争、继电器时序或功率板执行结果。
## 硬件验收(尚未执行)
使用现有 PC 指令和安全负载,先单通道,再四通道同时重复以下场景:
1. 普通 5V/1A 启停、Short 进入/退出各循环至少 100 次;退出期间重复发送同一参数生效请求。预期退出初始化持续推进,最终可恢复带载。
2. 初始化期间修改配置并生效。预期返回 Modbus 忙(异常码 `0x06`),PC 在初始化完成后重试;旧事务参数及北向回码推进不被覆盖。
3. 在各初始化阶段发送停止;短时断开南向通信后恢复。预期停止优先、未完成阶段重试,不以旧成功结果提前进入 WAIT。
4. 初始化未完成时切 Source,再切回 Sink。预期重新清短路、配置继电器和负载参数,不复用旧初始化阶段。
用 Keil Watch 观察 `sink.work_mode`、`sink.On_work`、`sink.test.test_mode_old`、`g_sink_init_in_progress`、`g_sink_init_stage`、`g_sink_init_stage_submitted`、`sub` 和 `config_version`;避免高频打印。结合南向回码及实测电流确认执行,不能仅以入队成功作为验收依据。
本次应用版本为 **V1.1.26**,对外固件版本寄存器 `0x0300` 为 `0x012A`;Bootloader 不变。