fix(V4B): V4.36.14 — 重连确认窗漏网路径修复 (主循环拍级上升沿)

现场 21µH: 三段重连仅无窗段跳 (无 reconnect/blank 打印直接 Car_In)
根因: 上升沿用 ISR LOOP_OK0(5ms), 断开时主循环 150ms 慢 tick,
插头抖动可致 LOOP_OK0 卡 1 → 恢复漏触发确认窗 → CAPVD 不重置直接判定
→ 插回瞬态假有车. 干净断开重连走窗则被抑制(验证 2/3 段无跳)
改动: loop_task while 顶部 g_prev_ok 主循环拍级(10ms)上升沿检测,
任何 0→1 恢复强制进确认窗+blank; 抖动免疫保留; LOOP_OK0 仅供安全复位
语法0 error, 4测试全绿; spec V2.30 / devlog V2.48
This commit is contained in:
wangfq
2026-09-04 14:00:32 +08:00
parent 66f4aaffc6
commit 75b1ee8acb
4 changed files with 57 additions and 9 deletions
+38
View File
@@ -4,6 +4,43 @@
---
## 2026-09-03 — 重连确认窗漏网路径修复(固件 V4.36.14)
> **固件版本:V4.36.14**cmcng.hFIRMWARE_VER="4.36.14"REV=14)。devlog 修订 V2.48。
### 现场复现(用户 21µH/164kHz 线圈, 临时改 LO 抑制 3000ms 测试)
日志三段重连仅第一段跳:disconnect(cnt=1) → 4s 后 enter_try/Car_In/Car_OFF(1.96s)
**前后无 reconnect confirmed / reconn_blank 打印** → 假车没走抑制窗。
### 根因:确认窗漏网路径(LOOP_OK0 拍级竞态)
重连上升沿用 ISR(5ms) 维护的 `loop1_LOOP_OK0`,而主循环断开时 150ms 慢 tick
插头抖动(断开↔恢复数拍)可使 LOOP_OK0 停在 1 → 恢复时 `!LOOP_OK0` 不触发
→ 跳过 candidate/确认窗/blank → CAPVD 不重置、直接正常判定 → 插回瞬态
(CAPVD 大跌 700+ counts) 判假车跳输出。干净断开→干净重连则走窗被抑制(②③无跳)。
### 改动
loop_task while 顶部**主循环拍级(10ms)自身上升沿检测**:
```c
if (loop1_LOOP_OK && !g_prev_ok) { g_prev_ok = 1; candidate=1; cnt=0; }
else if (!loop1_LOOP_OK) g_prev_ok = 0;
```
任何 0→1 恢复(无论 LOOP_OK0 状态)都强制进确认窗 + blank 抑制;
确认窗内掉线仍取消候选(抖动免疫保留)。ISR LOOP_OK0 维护保留(供安全复位路径,不再驱动候选)。
### 验证
- 语法 0 error;4 组单测全 PASS(重连在主循环,无单测耦合;待板级验证)
### 待板级验证
1. 21µH(或 46µH) 快速抖动拔插:每次恢复都应看到 `loop_reconnect confirmed` + `reconn_blank`
无直接 Car_In 跳输出(尤其"断开几拍又恢复"的抖动场景)
2. 正常拔插重连:行为同 V4.36.13(100ms 确认 + 分档抑制)
3. 抑制窗值:git 基线 LO=1500ms(用户临时 3000 是否转正待定)
## 2026-09-03 — 一长一短 灭 100→300ms(固件 V4.36.13
> **固件版本:V4.36.13**cmcng.hFIRMWARE_VER="4.36.13"REV=13)。devlog 修订 V2.47。
@@ -1747,6 +1784,7 @@ if (dev >= dlt_ORG × 4) {
| 版本 | 时间 | 说明 |
|------|------|------|
| V2.48 | 2026-09-03 | V4.36.14 重连确认窗漏网路径修复: 主循环拍级上升沿检测替代 ISR LOOP_OK0 |
| V2.47 | 2026-09-03 | V4.36.13 一长一短 灭 100→300ms (dur 180/60/20/140, 周期2.0s) |
| V2.46 | 2026-09-03 | V4.36.12 一长一短长亮 300→900ms (dur 180/20/20/140, 周期1.8s) |
| V2.45 | 2026-09-03 | V4.36.11 低Q 重连抑制窗 400→1500ms (分档 200/300/1500ms) |