diff --git a/docs/devlog.md b/docs/devlog.md index f33bdf8..3524ff0 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -106,8 +106,75 @@ AT32F421 的 TIM3 有内置输入分频器,配合 120MHz 主频: --- +## 2026-06-23 — 指示灯行为规范化 + +### LED 硬件对应 + +| 硬件 | 引脚 | 宏 | 行为 | +|------|------|-----|------| +| 红灯 | PB1 | *(无宏, TMR14 PWM)* | 始终呼吸,不干预 | +| 绿灯 (LEDA) | PA9 | `LEDA_ON`/`LEDA_OFF` | 自检慢闪 / 有车亮 / 无车灭 | +| 黄灯 (LEDC) | PA10 | `LED_YELLOW_ON`/`OFF` | 故障快闪 / 断开次数编码 | + +> 注: `LEDA` 宏在 BSP 遗留代码中指向 PB1(红灯),已修正为 PA9(绿灯)。`LEDB` 宏无实际 IO,已删除。 + +### 绿灯行为 + +| 状态 | 绿灯 | +|------|------| +| 上电自检 (Origin 未确立) | 慢闪 200ms | +| 数值稳定期 (128 样本 ≈ 128ms) | 慢闪 200ms | +| 正常工作,无车 | 灭 | +| 正常工作,有车 | 亮 | +| 线圈断开中 | **灭**(黄灯快闪负责故障指示) | + +### 黄灯行为 + +| 条件 | 黄灯 | +|------|------| +| 上电后从未接线圈 | 快闪 200ms | +| 线圈当前断开中 | 快闪 200ms | +| 重连后,断开过 1 次 | 1 短闪 (80ms 亮) + 1.2s 间隔 | +| 重连后,断开过 2 次 | 2 短闪 + 1.2s 间隔 | +| 重连后,断开过 3+ 次 | 3 短闪 + 1.2s 间隔 | +| 正常,无断开记录 | 灭 | + +> "不接线圈上电,上电后再接线圈"不计入断开次数。 + +--- + +## 2026-06-23 — 上电稳定期 & 线圈重连 + +### 上电稳定期 + +Origin 首次确立后,线圈振荡需要时间稳定。新增 `g_loop_stable` 标志: +- `INIT_VD()` → `g_loop_stable = 0` +- `vd1_task()`: 稳定期内只做 IIR + 基线跟踪,**跳过进入检测** +- 128 样本 (~128ms) 后 `g_loop_stable = 1`,正式启用检测 +- 安全复位时重置 `g_loop_stable = 0` + +### 线圈重连状态保持 + +断开时**不丢 VD_FLAG**,重连后**快速收敛 IIR**: + +``` +断开: 保留 loop1_VD_FLAG,仅关断继电器 +重连: loop1_CAPVD = 0 → 首个样本直锁 Value → IIR 后续正常跟踪 +``` + +| 断开前 | 断开期间 | 重连后 | 检测结果 | +|--------|---------|--------|---------| +| 有车 | 车还在,绿灯灭 | 车还在 | CAPVD < Origin-dlt → VD_FLAG=1 → 绿灯亮 | +| 有车 | 车离开 | 车离开 | CAPVD ≈ Origin → cnt_release→3 → VD_FLAG=0 | +| 无车 | 车进入 | 车进入 | CAPVD < Origin-dlt → VD_FLAG=1 → 绿灯亮 | + +--- + ## 修订记录 | 版本 | 时间 | 说明 | |------|------|------| -| V1.0 | 2026-06-23 | 初始开发日志,记录跳出<<6/>>6框框的改进 | +| V1.3 | 2026-06-23 | 指示灯行为、稳定期、重连状态保持 | +| V1.2 | 2026-06-23 | <<6/>>6 精度浪费分析与改进 | +| V1.1 | 2026-06-23 | 精简重构,对齐 M1H/TLD-110 | +| V1.0 | 2026-06-22 | 参考分析文档 |