fix(V4B): V4.25 黄灯预判改锁存语义 — 触发后回摆保持常亮, 环境空闲稳定5s才灭
原(V4.25首个提交): 黄灯条件 wait_cnt>=5s, 回摆(wait清零)即灭 — 用户反馈应锁存: 一旦5s黄灯常亮, 高位回摆/目标靠近也保持常亮; 只有"新的没有变化的环境" 超过5s 确认恢复, 黄灯才灭。 改动: - 新增 g_env_warn 预判锁存标志(只增不清): dev>+4dlt 高位累计满 ENV_WARN_WAIT=500tick(~5s) → g_env_warn=1, 黄灯常亮 - 新增 g_env_recover_cnt 恢复确认: 环境回窗口内且 dev 未进进入线(>-dlt) 连续 ENV_RECOVER_WAIT=500tick(~5s) → 解除锁存, 黄灯灭 - 目标进确认区(dev<-dlt)/深压(dev<-4dlt) → 恢复计时清零 - 高位重现 → 恢复计时清零, 黄灯保持 - abort/apply 均不清 g_env_warn (替换后也需恢复确认5s才灭) - 黄灯模式4条件 = g_env_resync || g_env_warn tests 5 场景: 回摆保持常亮→稳定5s灭→高位重现再锁存; 学习打断/放弃后锁存保持 docs: devlog V2.23 + spec V2.4 + 手册 V2.8 同步锁存语义
This commit is contained in:
+11
-9
@@ -15,21 +15,23 @@ V4.24 环境重校准的黄灯常亮只在**进入学习后**(dev>+4dlt 高位
|
||||
|
||||
### 改动
|
||||
|
||||
- 黄灯模式4 条件放宽为两段(poll_yellow_led):
|
||||
`g_env_resync || g_env_wait_cnt >= ENV_WARN_WAIT`
|
||||
- 新增 `ENV_WARN_WAIT = 500 tick(~5 s)`(TaskLoop.h 文件级宏):
|
||||
- 高位(dev>+4dlt)持续 **5 s** 未回摆 → 黄灯**预判常亮**(提示"环境已重大变化,将进入重校准学习")
|
||||
- 累计满 **60 s** 才真正进入学习(学习期间黄灯保持常亮,学完替换 Origin 后灭)
|
||||
- 预判 ≠ 学习:回摆/目标靠近(wait 清零)→ 黄灯立即灭,不触发学习
|
||||
- 黄灯模式4 条件(poll_yellow_led):`g_env_resync || g_env_warn`
|
||||
- 新增 `ENV_WARN_WAIT = 500 tick(~5 s)` + `ENV_RECOVER_WAIT = 500 tick(~5 s)`(TaskLoop.h 文件级宏)
|
||||
- **预判锁存状态机(g_env_warn)**:
|
||||
- 高位(dev>+4dlt)连续 **5 s** → `g_env_warn=1`,黄灯**预判常亮**(提示"环境已重大变化")
|
||||
- **锁存**:回摆/目标靠近(wait 清零)**不灭灯**——只有环境回到正常空闲(dev 未进进入线)**连续 5 s**(恢复确认)才解除、黄灯灭
|
||||
- 累计满 **60 s** 才真正进入重校准学习(学习期间黄灯保持常亮,学完替换 Origin 后仍需恢复确认 5 s 才灭)
|
||||
- 高位重现 → 恢复确认计时清零,黄灯继续常亮
|
||||
- 预判 ≠ 学习:短时瞬态(60 s 内回摆)只亮黄灯、不触发学习
|
||||
|
||||
### 验证
|
||||
|
||||
- tests/test_env_resync.c 扩展:黄灯预判点亮时刻 = 500 tick;瞬态高位 4000 tick 预判亮但未学习;打断回摆后预判灭
|
||||
- tests/test_env_resync.c 扩展:预判点亮时刻 = 500 tick;回摆后黄灯**保持常亮**;稳定 5 s 后解除;高位重现再锁存;打断/放弃后锁存保持
|
||||
- 5 场景 ALL PASS;gcc `-fsyntax-only` 0 error
|
||||
|
||||
### 待现场验证
|
||||
|
||||
A 拿走场景:约 5 s 后黄灯常亮 → 60 s 后自动重学(黄灯保持常亮数秒)→ 替换完成黄灯灭、检测高度恢复。
|
||||
A 拿走场景:约 5 s 黄灯常亮(此后回摆也不灭)→ ~60 s 自动重学 → 替换完成 → 环境稳定再 5 s 黄灯灭、检测高度恢复。
|
||||
|
||||
---
|
||||
|
||||
@@ -1063,7 +1065,7 @@ if (dev >= dlt_ORG × 4) {
|
||||
|
||||
| 版本 | 时间 | 说明 |
|
||||
|------|------|------|
|
||||
| V2.23 | 2026-09-02 | V4.25 环境异常黄灯预判:dev>+4dlt 高位连续 5s(ENV_WARN_WAIT=500tick)即黄灯常亮预判,60s 才真正学习;预判≠学习,回摆即灭 |
|
||||
| V2.23 | 2026-09-02 | V4.25 环境异常黄灯预判(锁存):dev>+4dlt 高位连续 5s 触发 g_env_warn 锁存常亮;回摆/目标靠近保持,环境空闲稳定 5s(ENV_RECOVER_WAIT)才解除;60s 才真正学习 |
|
||||
| V2.20 | 2026-09-02 | V4.22 DEBUG 改编译器 -DDEBUG 控制(cmcng.h DEBUG_ENABLE 删除) |
|
||||
| V2.19 | 2026-09-02 | V4.20 负variation铁块锁死修复:基线跟踪双向对称保护(±4×dlt 对称窗口) |
|
||||
| V2.18 | 2026-09-02 | V4.20 Debug 串口打印重组:频率/采样/基准全量输出(DBG/EVT 前缀) |
|
||||
|
||||
Reference in New Issue
Block a user