chore: 发布V1.1.26版本,修复Sink角色切换初始化残留问题
1. 更新所有文件版本号至V1.1.26,同步固件版本寄存器值 2. 修复Sink角色往返时初始化上下文残留问题,切换回Sink时重新执行完整初始化 3. 优化Sink配置生效逻辑,同角色仅复制PC可写配置,保留运行状态 4. 增加初始化阶段入队标记,避免沿用旧成功结果跳过未执行命令 5. 停止入队失败时由北向轮询重试,不依赖On_work或通道使能 6. 新增Sink初始化回归测试套件,覆盖14种场景验证流程正确性
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# 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 不变。
|
||||
Reference in New Issue
Block a user