wangfq
|
7ab0010055
|
docs(V4B): spec V2.54 — 黄灯行为表补 V4.36.25 三分语义+低于下限宏解耦
6.3 表: fault==2(L<24µH f>156k) 与断开同快闪(行2); fault==1 一长一短(18k/125~156k);
新增 COIL_UNDER_MIN_AS_OPEN 指示/功能解耦说明 (=0 仍判车/=1 等同断开)
10.1 故障表同步: 18k 偏大/125~156k 偏小一长一短; f>156k 低于下限快闪+宏+防抖5s
|
2026-09-09 09:10:32 +08:00 |
|
wangfq
|
d8411ef351
|
feat(V4B): V4.36.36 — 就绪巩固期 Q 分级 (高5s/中7s/低10s)
低Q 上电判稳完(绿灯灭)即压板 → 绿灯常亮 (系统未收敛完)
判稳完成(1204)后按 Q 档置巩固期, 绿灯继续慢闪至期满灭:
- READY_HOLD_HI=1000(5s)/MID=1400(7s)/LO=2000(10s) @5ms tick (poll_green_led 递减)
- 巩固期系统正常收敛(Origin/EMA/滤波) → 绿灯灭=可操作
- Q 档与 update_q_confirm_need 同口径 (f>100k 低/80~100k 中/≤80k 高)
- Loop stable 打印带 ready:Ns
语法0 error, 4测试全绿; spec V2.53 / devlog V2.71
|
2026-09-08 15:29:23 +08:00 |
|
wangfq
|
5cde26265f
|
fix(V4B): V4.36.35 — EMA cast 根治: 有符号先除 (爆炸源)
35uH V4.36.34 全绿 (13+ cycle, band_timeout 2次实战) — VEM 恒 130715 暴露玄机
根因 (C 语义实锤): g += (uint32_t)_ema_d/128; _ema_d=-10 → (uint32)(-10)=4294967286
→ /128 = +33554431/样本 → EMA 爆炸 (20260907a 10:23:03 VEM 垃圾起始=CAPVD 首破 EMA)
V4.36.34 自愈每样本兜住(炸+重置净零)掩盖; V4.36.33 无自愈 → RLN 垃圾+假触发卡死
修: g += (uint32_t)(_ema_d / 128) 有符号先除; 自愈保留最后防线
ADR 条件修复: _t_ms 恒 2000 原永不触发 → 独立计数 5×2s=10s
语法0 error, 4测试全绿; spec V2.52 / devlog V2.70
|
2026-09-08 14:14:00 +08:00 |
|
wangfq
|
76177fd086
|
fix(V4B): V4.36.34 — EMA 钳位自愈 + SUM/ADR 诊断 (35uH VEM 垃圾)
35uH 日志: VEM 垃圾 536M→846M→2224M 递增 (10:23:03 起)
连锁: vac_ref=垃圾 → RLN=-2070862722 → RSM 永不够 → 卡死
触发判定 vac_ref-dlt 巨大 → CAPVD=真空值假 Car_In
分析: EMA 公式限幅不可能跳5亿; 写点全正常 → 越界写, 写源未定
防御: EMA 每步限 ±3×dlt; 与 Origin 偏差>25% 自愈回 Origin
诊断: DBG 加 SUM(ORG_SUM 对照); 每 10s ADR 打 4 变量地址
语法0 error, 4测试全绿; spec V2.51 / devlog V2.69
|
2026-09-08 10:32:43 +08:00 |
|
wangfq
|
da2fc83afb
|
fix(V4B): V4.36.33 — vac_ref 重锚阈值: 修 EMA 边缘污染触发高度漂移
V4.36.32 板测新问题(所有线圈): 板间隔几秒再压触发高度降一半, 多试几轮恢复
机制: EMA(α128 τ1.28s) 更新窗=±4×dlt(196) 太宽 — 板悬感应边缘(dev−20~−40)
当真空快学 → vac_ref=min(Origin,EMA)=EMA 低 → 触发线漂移; Origin 5s 满窗慢所以以前无感
修: vac_ref = (Origin−EMA > 1×dlt) ? EMA : Origin
- J1 锚错 130(2.65dlt) 仍重锚; 边缘拉低 20~40(<1dlt) 忽略
- 未重锚最大偏差 48 → 真空 Origin−48 vs 释放线 −41 差 7 → 环带兜底覆盖不卡
语法0 error, 4测试全绿; spec V2.50 / devlog V2.68
|
2026-09-08 10:17:43 +08:00 |
|
wangfq
|
78267f3d49
|
docs(V4B): spec V2.49 — 4.4.2 频率列勘误(×2) + 方向澄清 + 4.3.1 双表注
用户提问'车压 L降f升, 为何标题 L升f降' → 澄清: 本表只管 CAPVD>Origin(L 升方向:
铁磁靠近/涡流金属移走/Origin偏低); 车压 L降方向冻结不在此表; 车走正常回程不进表
- 表格'折算频率下降'列数值 bug: 应为 −dXn/Xn = −2.06/−0.43/−0.23/−0.15%
(原 −1.02/… 少乘 2, a3d0b9f 落地误用 dXn/2)
- 换算依据补 df/f = −dXn/Xn
- 4.3.1 注 USE_PLANB_TABLE 双表分支(300 系列 vs 337 系列)
|
2026-09-08 09:47:59 +08:00 |
|
wangfq
|
5daf508150
|
feat(V4B): V4.36.32 — 释放后分级补偿: 仿 PD132T 慢采样等效
用户对比 PD132T: 采样慢→Origin 学习慢→无释放漂移问题
机理确认: update_moving_average 满窗替换(500样本/5s), 10ms 快采样窗装得快
→ 释放后板缓离残余(低 CAPVD)≥5s 会整窗拉低 Origin
- 全冻结 1s: REL_ORIGIN_FREEZE_TICKS 50→100 (残余样本完全不进窗)
- 降权低速补偿 2s: ORIGIN_LOWLEARN_TICKS=200 + MULT=5 (窗500→2500=25s, 速率1/5 ≈132T等效)
- 递减: 冻结结束才递减降权; Car_OFF 两处预置; 均值窗 window 分阶段; INIT 清零
EMA/B3 vac_ref 零影响; 全宏可调
语法0 error, 4测试全绿; spec V2.48 / devlog V2.67
|
2026-09-08 08:19:57 +08:00 |
|
wangfq
|
17575e8747
|
feat(V4B): V4.36.31 — B3 真空 EMA 重锚: 判定参考与锚错 Origin 解耦
用户拍板: B3 为主, A2(学入步长)可选加严存档
- g_vacuum_ema: 无车 dev 窗内 EMA(α128 τ≈1.28s, 与均值窗同守卫); 判稳建立; INIT 清零
- vac_ref()=min(Origin, EMA): Origin 被 env 学高(搁置态 130636 vs 真空 130506)
→ 释放线/进入线不再偏高; 撤板真空即释放
- 替换: 进入判定/低Q释放线/环带兜底线/DBG RLN; 高Q中Q 零影响; env 学习用 Origin 本尊
- DBG 加 VEM 字段
语法0 error, 4测试全绿; spec V2.47 / devlog V2.66
|
2026-09-07 18:47:03 +08:00 |
|
wangfq
|
74512bcf54
|
feat(V4B): V4.36.30 — 环带超时兜底: 时间回滞替代空间回滞
用户反馈 V4.36.29: 抬一点就释放(容差压塌回滞到4) / 反复试探=连续过车?
- 撤 REL_LO_TOL=4: 回滞恢复 8 counts (Origin-49 触发/Origin-41 释放)
- 新增 REL_BAND_TIMEOUT_TICKS=250(2.5s): 低Q 触发后 CAPVD 平滑>进入线
(已离开触发深度) 持续 2.5s → 强制释放
- 根治'板停空间回滞带内永久卡死'(试探场景); 真实车深压不触发(安全);
J1 撤板 75s→2.5s; 抬 4 counts 不再立刻释放
- '越来越难释放'机制: 拿起板 Origin 被 env 学高, 试探快于收敛则净升 (远期 env 过冲抑制)
- 低L 灵敏度自适应(进入带回放大)列为下一档评估
语法0 error, 4测试全绿; spec V2.46 / devlog V2.65
|
2026-09-07 16:32:24 +08:00 |
|
wangfq
|
3ea876b7d9
|
feat(V4B): V4.36.29 — 低Q 释放容差 REL_LO_TOL=4 (破差1count死锁)
J1 日志(23µH, V4.36.28) 75s 延迟释放完整机理:
- Origin 过冲(拿起板 env 学高→130636/130693), 均值窗 15s 收敛中残留 34 counts
- 过冲残留被 VD=1 冻结(130540 vs 真真空 130506) → 释放线 130499 偏高
- 撤板后真空 CAPVD 130506 距线仅 7 counts, RSM 平滑 130498 差 1 count 不过线 → 卡 75s
- 释放后 Origin 7s 自动收敛回 130506 (均值窗正常)
修复: rel_release_hit 低Q 分支 _line 减 REL_LO_TOL=4 (等效线 Origin-45)
- J1 卡死: RSM>线 立即释放; 板停触发深处不误释放; 正常撤板余量不变
- 回滞 49-45=4 counts (σ1-2 → 2~4σ 安全)
语法0 error, 4测试全绿; spec V2.45 / devlog V2.64
|
2026-09-07 16:01:28 +08:00 |
|
wangfq
|
40bb1b467f
|
feat(V4B): V4.36.28 — 低Q 锁死根因: 静态带回缺口 → REL_BAND_LO_MULT 180
23µH/33µH 双日志 + V4.36.27 诊断字段定位 (QLO/RSM/RLN/RCN):
- 排除: Origin 漂移(129094 恒定)/g_q_lo(=1)/平滑滞后(RSM 跟随)/σ25(实测 σ1-2)
- 根因: 23µH 板停临界稳态回摆 Origin-36, 释放线 Origin-34(MULT150) 高 2 counts
→ RCN 永不累计锁死; 33µH 回摆 Origin-25 富余 9 正常
- 修正: MULT 150→180 (带回 35→41): 23µH 线 Origin-41 余 4 counts 释放;
回滞 49-41=8 counts=4~8σ 安全; MULT200(回滞3)否决
语法0 error, 4测试全绿; spec V2.44 / devlog V2.63
|
2026-09-07 15:04:16 +08:00 |
|
wangfq
|
1ce5a36f80
|
diag(V4B): V4.36.27 诊断版 — DBG 增加释放路径现场字段
日志 DLD154V4-20260907a 分析 (22µH/低Q/163kHz, cycle3 卡死 146s):
- Origin=130556 全程恒定 → Origin 漂移假说排除(本样本)
- 卡死态 CAPVD 130519~130530 稳态, 模拟: 低Q 平滑线130522 应在样本4释放;
快值线130533 永不满足 → 现场像低Q 释放路径未生效, 但静态代码链全通(g_q_lo 每样本=1)
- DBG 每 2s 一行不阻塞 → 本次日志=禁打印等效数据 (打印不再屏蔽复现)
- 加 QLO/RSM/RLN/RCN 四字段(每2s) 取证卡死现场实际 g_q_lo/平滑值/释放线/确认计数
语法0 error, 4测试全绿
|
2026-09-07 14:26:54 +08:00 |
|
wangfq
|
33c268409d
|
feat(V4B): V4.36.26 — 低Q 发散治理剂量加大: τ85ms + 释放后 Origin 冻结 500ms
用户拍板方案 A (V4.36.19 仍偶发, 有改善 → 剂量中等+治本一起上)
- REL_ALFA 46→30: 低Q 释放平滑 τ≈50→85ms (削抖动带宽更狠)
- 带回保持 REL_BAND_LO_MULT=150(35): 触发-释放回滞 14 counts 不压缩 (防抖落)
- 治本 REL_ORIGIN_FREEZE_TICKS=50: 释放确认后 Origin 均值窗冻结 500ms,
切断「释放残余→Origin 学入→释放线漂移→cycle 间发散」正反馈
- 冻结只挡均值窗; INIT_VD 清零
语法0 error, 4测试全绿; spec V2.43 / devlog V2.62
|
2026-09-07 11:18:15 +08:00 |
|
wangfq
|
e0b86e9f6e
|
feat(V4B): V4.36.25 — 电感量三分语义: 合理窗 18~125k + 出窗一长一短 + 低于下限快闪
用户设计拍板: 纠正 V4.36.22/23 把合理窗上限随下限推到 153/156 的偏差
- COIL_F_OK_MAX_KHZ 156→125 (恢复合理窗 18~125kHz=V4.36.9 口径, >125k=38µH 偏小)
- 新增 COIL_L_MIN_F_KHZ=156 (=COIL_L_MIN_UH 24µH, 43nF f@24µH=156.7k)
- coil_monitor want 三分: f<18k→1; f>156k→2(快闪断开级); 125k<f≤156k→1(一长一短)
打印 too_large/too_small/below_l_min
- coil_monitor_recover 判据 18~156 (解除强制; 125~156 转原路径一长一短)
- test: 126→1 / 156→1 / 157→2; 全绿
语法0 error; spec V2.42 / manual / devlog V2.61
|
2026-09-07 10:01:12 +08:00 |
|
wangfq
|
5a3ab667bc
|
feat(V4B): V4.36.24 — L<下限双模式宏 COIL_UNDER_MIN_AS_OPEN
用户需求: L<24µH 后 0=仅黄灯快闪(现状, 判定/继电器/绿灯照常);
1=视为线圈断开完全状态: 黄灯快闪+继电器保持释放+绿灯不亮
- ISR RF 分支置 LOOP_OK=1 后强制压 0 → 主循环断开路径(vd1_task 停/黄灯快闪/disconnect)
- RLY 刷新(RF段)与保持(hold段)短路 → 继电器保持释放, 绿灯镜像灭;
短路放条件而非事后压 OFF(防 5ms ON/OFF 继电器抖动打火)
- coil_monitor 随 vd1_task 停摆 → 新增 coil_monitor_recover() 无条件每 10ms
恢复监测 (f 回窗 18~156kHz 连续 5s 清 fault → LOOP_OK 恢复 → 重连确认+判稳门控)
- 默认 0 (与 V4.36.23 一致无回归); 切 1 现场验证完全断开语义
语法0 error, 4测试全绿; spec V2.41 / manual 故障表 / devlog V2.60
|
2026-09-07 09:33:00 +08:00 |
|
wangfq
|
7b68daa472
|
feat(V4B): V4.36.23 — 最低电感量下限 25µH→24µH
用户拍板 COIL_L_MIN_UH=24 (43nF 口径)
- 频率窗上限 153→156kHz (f@24µH=156.7k; 156=L24.21µH 正常/157=L23.90µH 偏小)
- L<24µH(f>156k) → 断开级快闪 (判定/指示/防抖 5s 逻辑不变)
- test 边界 156/157; 4 测试全绿
语法0 error; spec V2.40 / manual / devlog V2.59
|
2026-09-07 09:17:19 +08:00 |
|
wangfq
|
d69f15e5f7
|
feat(V4B): V4.36.22 — 最低电感量下限 20µH→25µH
用户拍板 COIL_L_MIN_UH=25 (43nF 口径)
- 频率窗上限 171→153kHz (f@25µH=153.5k; 153=L25.16µH 正常/154=L24.84µH 偏小)
- L<25µH(f>153k) → 断开级快闪 (判定/指示/防抖 5s 逻辑不变)
- 提示: 现场 21/23µH 测试线圈(f≈164k>153k)将再入断开快闪区, 需换 ≥30µH
- test 边界 153/154; 4 测试全绿
语法0 error; spec V2.39 / manual / devlog V2.58
|
2026-09-07 09:14:45 +08:00 |
|
wangfq
|
809c52e40b
|
feat(V4B): V4.36.21 — 电感量下限判定防抖 1s→5s
用户: 电感量下限判定重要, 确保不误检, 判定时间可加长
- COIL_FAULT_HOLD_TICKS 100→500 (1s→5s, TaskLoop.h 宏)
- 越界置位/恢复清除均 5s 连续确认 (防起振/瞬态 f 冲高 171k 误报断开级快闪)
- 判定线不变 (18~171kHz / L≥20µH); coil_monitor 防抖宏化
- test 全用例同步 5s 语义 (499 不置位/500 置位); 全绿
语法0 error; spec V2.38 / devlog V2.57
|
2026-09-07 09:12:00 +08:00 |
|
wangfq
|
16eed844a6
|
feat(V4B): V4.36.20 — 最低工作电感量 COIL_L_MIN_UH=20µH, 低于按线圈断开指示
用户需求: 设定最低电感量工作值(默认 20µH, 43nF 低频档口径, 宏定义);
线圈电感量低于该值 → 黄灯快闪以线圈断开状态指示
- TaskLoop.h: 新增 COIL_L_MIN_UH 20; 频率窗上限 125→171kHz (=L 20.06µH,
43nF: L=2.533e7/(f²×43)) — 20~38µH 小线圈转为可正常工作(含现场 21/23µH)
- poll_yellow_led 模式1: g_coil_fault==2 归入断开级快闪(!LOOP_OK/reconn_stab 同级)
- 一长一短(模式5)仅保留 coil_fault==1 (L 偏大 f<18kHz)
- coil_monitor 防抖 1s 不变; 继电器/判定逻辑不动(仅指示级)
- test: 171 正常/172(L<20µH) 偏小, L 偏大 17; 全绿
语法0 error, 4测试全绿; spec V2.37 / devlog V2.56
|
2026-09-07 09:08:37 +08:00 |
|
wangfq
|
a3d0b9ff75
|
docs(V4B): 故障补偿触发幅度量化说明 (spec 4.4.2 补分档表)
用户需求: 文档给出进入故障补偿/黄灯常亮的具体触发数字
代码核实: 触发 = dev=CAPVD-Origin > +4×dlt 纯比例制(无绝对counts)
- 连续 2s(ENV_WARN_WAIT=200) → 黄灯常亮预判锁存
- 连续 7s(ENV_RESYNC_WAIT=700) → 学习替换 Origin → 空闲 2s 灭
- 仅处理 CAPVD 高于 Origin = 等效电感上升方向; L 下降=车辆语义冻结
换算 (L∝Xn², dL/L≈2×dXn/Xn): SENS=3 触发 ≈ +0.15% Xn ≈ 电感+0.31%
SENS=0 ≈ +2.06% Xn ≈ 电感+4.11% (分档量化表)
现场实例: Origin=129868/dlt=49 → 触发 CAPVD>130064(+196 counts)
spec V2.36 / manual 故障段 / devlog V2.55
|
2026-09-04 19:00:04 +08:00 |
|
wangfq
|
9a8fc98c42
|
docs(V4B): 日期勘误 — devlog/spec/manual 9/3→9/4
V4.36.1~19 + 勘误条目均为 2026-09-04 提交, 文档误标 9/3;
V4.36 及更早(9/3 提交)保留不动. devlog 标题+表行 V2.17+,
spec V2.17+ / manual 日期全部对齐真实提交日
|
2026-09-04 18:51:11 +08:00 |
|
wangfq
|
ef5959d6fe
|
feat(V4B): V4.36.19 — 低Q 释放抗抖 (平滑判释放+带回加宽)
问题: 43nF/高灵敏/低Q(≤50µH) 金属板边界试探 → 触发稳定但释放点外移
发散至锁死(绿灯长亮); 开 DEBUG 打印复现不了(阻塞降采样平均抖动) = 关键旁证
根因: 释放带回 dlt_rel=23 ≈ 低Q σ(±15~25), 快值判释放(5样本)被抖断
修复(Q 分档, 高/中Q 零影响):
- rel_release_hit(): 低Q 用 g_rel_smooth(τ50ms REL_ALFA=46) 判释放
- 低Q 释放带回 ×1.5 (REL_BAND_LO_MULT=150: 23→~35)
- g_rel_smooth: IIR 后跟随/CAPVD=0 与重连归零/Car_In snap
语法0 error, 4测试全绿; spec V2.35 / devlog V2.54
|
2026-09-04 18:42:22 +08:00 |
|
wangfq
|
e1b5542296
|
feat(V4B): V4.36.18 — 频率窗下界 20→18kHz
COIL_F_OK_MIN_KHZ 18: 合理窗 18~125kHz (@43nF ≈ L47µH~1.15mH) 放行更大电感
test 边界 17偏大/18正常 全绿; 镜像同步
顺带修正 spec 参数表历史滞后: MAX 115→125, COIL_CAL_C_NF 68→43
语法0 error; spec V2.34 / manual / devlog V2.53
|
2026-09-04 17:35:41 +08:00 |
|
wangfq
|
c4c7a484b7
|
docs(V4B): 安全复位观感勘误 — 绿灯镜像继电器后复位指示变化
用户板测确认: SW5=ON 压车 >4min 安全复位正常触发(Origin 重学压板值,
离开黄灯长亮为证据); '没进入复位'是观感差异: V4.36.4 绿灯=RLY2 镜像,
复位期间 RLY 刷新挂起不关断 → 绿灯保持亮(旧版绿灯灭=复位可见)
过一辆车(Car_In 清 LC_Reset)恢复刷新. 机制无回归.
manual 4.5 重写对齐实际行为; spec 加 LC_Reset 勘误注+SW5 极性说明; devlog V2.52
|
2026-09-04 17:24:45 +08:00 |
|
wangfq
|
edd4e7b6c4
|
fix(V4B): V4.36.17 — 修复上电无线圈黄灯不闪
V4.36.16 去掉 !power_up 后裸奔: 断开分支置位条件含 power_up,
上电 phase(power_up=0) 故意不置 disconnect_active → 无线圈黄灯哑
改: 黄灯模式1 = !loop1_LOOP_OK || g_reconn_stab
- 上电无线圈 LOOP_OK=0 快闪恢复(需求1); 有线圈/判稳中不闪(需求2 保持)
- 运行中断开黄灯反应 150ms→5ms(ISR 实时读载波)
语法0 error, 4测试全绿; spec V2.33 / devlog V2.51
|
2026-09-04 16:37:04 +08:00 |
|
wangfq
|
13876be54c
|
feat(V4B): V4.36.16 — 上电自检与重连灯语义分离
用户三条需求:
1. 上电无线圈: 绿灯黄灯都闪, 接线圈后黄灯时长<=绿灯, 自检完同灭
2. 上电有线圈: 绿灯闪自检, 黄灯不闪
3. 运行中重连: 黄灯接管(不变)
问题(V4.36.15 副作用): 上电首次 LOOP_OK 上升沿误触发判稳门控,
低Q 蠕变把黄灯拖到 2s+ 超过绿灯判稳 1.3s; 上电有线圈黄灯也闪(!power_up)
改动: 黄灯模式1 去 !power_up(无线圈由 disconnect_active 覆盖);
判稳门控触发加 g_loop_stable(仅运行中重连; 上电/安全复位不判稳)
语法0 error, 4测试全绿; spec V2.32 / manual 灯表 / devlog V2.50
|
2026-09-04 16:28:17 +08:00 |
|
wangfq
|
fc070a9145
|
feat(V4B): V4.36.15 — 重连判稳门控 (值稳定才放行)
现场 21µH 无车拔插: blank 1500/3000ms 结束瞬间仍假 Car_In (非必现)
根因: 低Q 起振蠕变 ~2.2s 时长不固定(插头/线圈态相关), 固定窗治标
机制(用户思路): 无车重连(VD_FLAG==0) → 判稳门控:
200ms 步进漂移≤dlt/2 连续 600ms + |dev|≤dlt 回带确认 → 完成
Origin 对齐当前空场 + CAPVD_slow/dlt 同步 → 放行 (消新旧基线差)
不稳: 进入判定挂起 + 黄灯快闪保持(用户要求); 强车 8×dlt 例外
即时放行; 5s 兜底强制放行. 有车重连(VD=1 保持路径)不判稳
语法0 error, 4测试全绿; spec V2.31 / manual / devlog V2.49
|
2026-09-04 16:03:35 +08:00 |
|
wangfq
|
75b1ee8acb
|
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
|
2026-09-04 14:00:32 +08:00 |
|
wangfq
|
66f4aaffc6
|
feat(V4B): V4.36.13 — 一长一短 灭 100→300ms
dur[4] {180,20,20,140} → {180,60,20,140} = 900/300/100/700ms (周期2.0s)
语法0 error, 4测试全绿; spec V2.29 / manual / devlog V2.47
|
2026-09-04 11:55:13 +08:00 |
|
wangfq
|
1c22001bde
|
feat(V4B): V4.36.12 — 黄灯一长一短 长亮 300→900ms
dur[4] {60,20,20,140} → {180,20,20,140} = 900/100/100/700ms (周期1.8s)
语法0 error, 4测试全绿; spec V2.28 / manual / devlog V2.46
|
2026-09-04 11:52:43 +08:00 |
|
wangfq
|
dda192c6ca
|
feat(V4B): V4.36.11 — 低Q 重连抑制窗 400→1500ms
Q 分档抑制终值: 高200/中300/低1500ms
语法0 error, 4测试全绿; spec V2.27 / devlog V2.45
|
2026-09-04 11:41:56 +08:00 |
|
wangfq
|
b52c4c5ce4
|
fix(V4B): V4.36.10 — 绿灯镜像勘误 RLY1→RLY2 默认继电器
用户确认产品两继电器: RLY2(PA5)=默认(恒随车辆存在),
RLY1(PA6)=拨码3可选脉冲/存在继电器; 绿灯应指示默认继电器
poll_green_led 镜像对象 RLY1→RLY2 (odt 同源)
语法0 error, 4测试全绿; spec V2.26 / manual / devlog V2.44
|
2026-09-04 11:09:03 +08:00 |
|
wangfq
|
c7adcc6397
|
feat(V4B): V4.36.9 — 频率窗上限 115→125kHz
COIL_F_OK_MAX_KHZ 125 (43nF板口径 ≈38µH 起)
test_coil_range 边界 125/126 全绿; 语法0 error
spec V2.25 / manual 故障表 / devlog V2.43
|
2026-09-04 10:54:12 +08:00 |
|
wangfq
|
6a0a39f8ee
|
feat(V4B): V4.36.8 — 进入/释放确认按 Q 档分档 (A+B)
Q 分档心智沿用至判定: 低Q(高频小L)抖动大 → 确认样本加长防误判
进入确认: 高3/中4/低5 样本 (原固定3)
释放确认: 高3/中4/低5 样本 (原固定3)
update_q_confirm_need() 每样本按空场 f 更新; dlt 已比例化无需分档
语法0 error, 4测试全绿; spec V2.24 / devlog V2.42
|
2026-09-04 10:45:24 +08:00 |
|
wangfq
|
1b038474d6
|
feat(V4B): V4.36.7 — 参数调整
RELAY_HOLD_MS 500→1000 (有车断开继电器保持 1s)
Q 抑制窗: 高Q 100→200 / 中Q 200→300 / 低Q 400 不变
分档终值: 200/300/400ms
语法0 error, 4测试全绿; spec V2.23 / devlog V2.41
|
2026-09-04 10:24:30 +08:00 |
|
wangfq
|
48cf3475be
|
feat(V4B): V4.36.6 — 高Q 抑制窗 0→100ms 短兜底
Q 分档终值: 高Q(f≤80k) 100ms / 中Q(80~100k) 200ms / 低Q(f>100k) 400ms
语法0 error, 4测试全绿; spec V2.22 / devlog V2.40
|
2026-09-04 10:14:42 +08:00 |
|
wangfq
|
ca6b40cd2d
|
feat(V4B): V4.36.5 — 重连起振抑制按 Q 分档
现象: 30/46/47/50µH 无车拔插重连继电器跳一下 (136/210µH 无)
根因: 低L→高f→低Q→起振慢幅度弱→前几窗 Xn 偏差→假有车
(100ms 确认窗只保载波存在, 不保幅度稳定)
改动: 首样本直锁时按空场频率 f 分档设抑制窗
f>100k 低Q 400ms / 80~100k 中Q 200ms / ≤80k 高Q 0ms
抑制期仅挂起进入确认累计(entry_cnt), 真车不丢, 其余逻辑照常
语法0 error, 4测试全绿; spec V2.21 / devlog V2.39
|
2026-09-04 10:06:51 +08:00 |
|
wangfq
|
55ac432c69
|
feat(V4B): V4.36.4 — 绿灯=RLY1 继电器实际输出状态指示
现场误判根因: 断开时 poll_green_led 强制绿灯灭, 而 V4.36.3 保持
逻辑下继电器仍吸合 → 灯/继电器脱节 → 误判继电器释放
改动: 稳定后绿灯镜像 RLY1_GPIO->odt (吸合亮/释放灭), 删断开
强制灭分支 → 有车断开保持期绿灯亮(与继电器一致); 自检期慢闪不变
语法0 error, 4测试全绿; spec V2.20 / manual 灯表 / devlog V2.38
|
2026-09-04 09:43:42 +08:00 |
|
wangfq
|
1efa9ad775
|
feat(V4B): V4.36.3 — 有车断开继电器保持 RELAY_HOLD_MS=500ms
断开前 VD_FLAG=1(有车) → RLY 保持不释放: 500ms 内重连+有车→无缝续持,
重连+无车→vd1_task 判离释放, 超时仍断→强制释放(hold_done 防抖);
无车断开立即释放不变. ISR 5ms 计时, 宏可调(RELAY_HOLD_MS)
审查修复: done 后不加 !hold_done 会 100Hz 继电器抖动
语法0 error, 4测试全绿; spec V2.19 / manual 断开行 / devlog V2.37
|
2026-09-04 09:17:15 +08:00 |
|
wangfq
|
18db4bf762
|
feat(V4B): V4.36.2 — 线圈重连确认窗 100ms (防抖动重复计数/首样本毛刺)
RF 上升沿仅进候选; 载波连续恢复 RECONNECT_CONFIRM_TICKS=10 (100ms)
才确认重连重置; 确认窗内 disconnect_active 保持 → 黄灯快闪/计数不重复,
不跑 vd1_task; 任何掉线取消候选 → 抖动免疫
断开判定不加防抖(释放速度安全刚需)
语法0 error, 4测试全绿; spec V2.18 / devlog V2.36
|
2026-09-04 08:50:25 +08:00 |
|
wangfq
|
798801d881
|
feat(V4B): 版本体系加修订号 → 4.36.1 (FIRMWARE_VER_REV)
规则(用户拍板): MAIN/SUB 产品定, 小改动只增 REV
cmcng.h: FIRMWARE_VER "4.36.1" + REV=1; main.c 启动打印 fw 行
语法 0 error; spec V2.17 / devlog V2.35
|
2026-09-04 07:53:42 +08:00 |
|
wangfq
|
b2190a3ad9
|
docs(V4B): 黄灯行为表等全面同步 V4.30~36 参数 (spec V2.16 / manual V2.13)
spec: 黄灯模式5 一长一短 300/100/100/700ms + f>115k; 模式4 常亮 2s/7s/2s;
COIL_F_OK_MAX_KHZ 参数行 120→115; 故障表 L偏小 >115k; 10.2 窗说明 20~115k
manual: 环境校准表 5s/10s → 2s/7s; 恢复节奏 ~21s → ~15s (2s/7s/13s/2s);
锁存解除 ~5s → ~2s; 铁块学入 60s+ → 7s+; 一长一短 200/800 → 300/700ms
|
2026-09-03 17:35:28 +08:00 |
|
wangfq
|
8c35cc0522
|
feat(V4B): V4.36 — 频率窗上限 108→115kHz (43nF板≈44µH, 放行~48µH小线圈)
test_coil_range 边界 115/116 全绿; 语法 0 error
文档: devlog V2.34 / spec V2.15 / manual V2.12
|
2026-09-03 17:15:47 +08:00 |
|
wangfq
|
f6e2a82935
|
feat(V4B): V4.35 — 频率窗上限复核 92→108kHz (43nF板口径≈50µH)
V4.33 的 92k 是 0Ω 实验板(68nF)语境; 产品回到三极管板(43nF)后 92k≈70µH 过严,
40~70µH 正常线圈会误报 → 上限 108k = L≈50µH (保留最小合理线圈)
test_coil_range 边界 108/109 全绿; 语法 0 error
文档: devlog V2.33 / spec V2.14 / manual V2.11
|
2026-09-03 17:13:00 +08:00 |
|
wangfq
|
be91c584ee
|
feat(V4B): V4.34 — 产品基准回到三极管库存板: COIL_CAL_C_NF 68→43
决策: 不改电路沿用库存板(R19在/R27空), 低频档 C_eff≈43nF(2台×5颗);
0Ω板实验(68.4)仅机理验证不作产品基准
⚠ 窗口口径提醒: 92kHz 上限在 43nF 板对应 L≈70µH(0Ω板为30µH),
48µH 线圈 0Ω板88k窗内→三极管板~111k窗外, 待现场复核
注释/文档全同步; 语法0 error, 4测试全绿
|
2026-09-03 17:11:05 +08:00 |
|
wangfq
|
1c065b280e
|
feat(V4B): V4.33 — 线圈频率窗上限 120→92kHz (COIL_F_OK_MAX_KHZ)
f>92kHz → L偏小告警(一长一短, 原 120kHz); 顺带修正 manual 黄灯表旧时序
(200/100/100/800→300/100/100/700, V4.32 遗留) 与频率窗描述
test_coil_range 边界 92/93 全绿; 语法 0 error
文档: devlog V2.31 / spec V2.12 / manual V2.10
|
2026-09-03 16:36:17 +08:00 |
|
wangfq
|
2632d51cbf
|
feat(V4B): V4.32 — 黄灯一长一短时序 200/100/100/800 → 300/100/100/700ms
poll_yellow_led 模式5 dur[4] {40,20,20,160}→{60,20,20,140} (5ms/tick);
总周期 1.2s 不变, 长亮更醒目。语法0 error, 4测试不受影响(纯poll层常量)
文档: devlog V2.30 / spec V2.11 / design doc §6 注记
|
2026-09-03 16:29:09 +08:00 |
|
wangfq
|
7983bfd72d
|
feat(V4B): V4.31 — 故障补偿时序再调: 预判2s + 补偿7s (总恢复 ~15s)
V4.30 基础上现场手感再收紧: ENV_WARN_WAIT 300→200(2s);
ENV_RESYNC_WAIT 800→700(7s); 恢复确认 200(2s) 不变
时序: 2s 黄灯预判锁存 → 7s 进入学习 → 6s 学完原子替换 → 2s 确认灭
test_env_resync.c 同步 → 5 场景 ALL PASS (warn@200, applied@1300, 灭@1500)
文档: devlog V2.29 / spec V2.10 / design doc v0.8
|
2026-09-03 16:16:37 +08:00 |
|
wangfq
|
4200d96250
|
feat(V4B): V4.30 — 故障补偿时序: 预判3s + 补偿8s + 恢复2s (总恢复 ~16s)
拍板: 预判 ENV_WARN_WAIT 500→300(3s); 补偿 ENV_RESYNC_WAIT 1000→800(8s);
恢复确认 ENV_RECOVER_WAIT 500→200(2s, 新基线替换后空闲稳定即灭灯)
时序: 3s 黄灯预判锁存 → 8s 进入学习 → 6s(3×200tick)学完原子替换 → 2s 确认灭
test_env_resync.c 重写: 镜像与固件逐分支一致(学习中压线=搁置不退出/学习仅高位段
计数/abort后循环重触发) → 5 场景 ALL PASS (warn@300, applied@1400, 灭@1600)
文档: devlog V2.28 / spec V2.9 / design doc v0.7
|
2026-09-03 16:08:21 +08:00 |
|
wangfq
|
71feb3e06d
|
docs(V4B): 硬件变更描述勘误 — 准确改法 R19拆 + R27补焊0Ω(旁路三极管直控电容)
早期过程描述'三极管 5.1K→0Ω'更正为: R19 取下 + R27 补焊 0Ω(原空贴),
拨码开关不再经过三极管电路、经 0Ω 直控第二颗 33nF; 与 vd-analysis
models/DLD154V4B 归档的 Ver4.01 原理图一致
|
2026-09-03 14:58:49 +08:00 |
|