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
|
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
|
92f675e2d3
|
feat(V4B): V4.26 — 线圈电感量告警(一长一短) + 故障补偿 60s→10s (4点拍板)
1. 默认低频档频率合理窗 20~120kHz, 出界即告警(不做档位判定/灰带):
TaskLoop.c 新增 coil_monitor() — 稳定+无车空闲由无车主路径调用,
Origin 反推空场 f, f<20kHz→L偏大/f>120kHz→L偏小, 1s 防抖置位/清除
2. 告警形式: 黄灯"一长一短" 200ms亮/100ms灭/100ms亮/800ms灭 循环 (模式5)
3. 黄灯优先级: 断开快闪 > 故障补偿(学习)常亮 > 电感量一长一短 > N短闪 > 灭
4. 故障补偿等待 ENV_RESYNC_WAIT 6000→1000 (60s→10s): 总补偿 ~66s→~21s
验证: tests/test_coil_range.c 5场景(边界19/20/120/121+防抖) ALL PASS;
test_env_resync.c 适配10s(applied_at=1600tick) 5场景 ALL PASS; 语法 0 error
文档: devlog V2.24/spec V2.5/manual V2.9/design doc v0.3(标记已实现)
修复: 源文件行尾多CR污染(\\r\\r\\r\\r\\n)统一规范化回标准CRLF
|
2026-09-03 10:50:26 +08:00 |
|
wangfq
|
47cb1d944e
|
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 同步锁存语义
|
2026-09-02 19:03:49 +08:00 |
|
wangfq
|
7fd120fdf3
|
feat(V4B): V4.25 — 环境异常黄灯预判: 高位持续5s即常亮(将进入重学)
背景: V4.24 黄灯只在60s进入学习后才亮, 前60s操作员无可视反馈
改动: poll_yellow_led 模式4条件放宽 = g_env_resync || g_env_wait_cnt>=ENV_WARN_WAIT
- ENV_WARN_WAIT=500tick(~5s) 放 TaskLoop.h 文件级(poll_yellow_led 可见)
- dev>+4dlt 高位连续5s未回摆 → 黄灯预判常亮; 累计60s才真正学习(黄灯保持)
- 预判≠学习: 回摆/目标靠近(wait清零) → 黄灯即灭, 不触发学习
tests/test_env_resync.c 扩展: 预判点亮时刻=500tick / 瞬态4000tick预判亮但不学
/ 打断回摆后预判灭; 5场景ALL PASS + 语法0 error
docs: devlog V2.23 + spec V2.4(ENV_WARN_WAIT行) + 产品手册 V2.8 同步
|
2026-09-02 18:40:39 +08:00 |
|
wangfq
|
672f143e99
|
feat(V4B): V4.24 — 环境重校准:永久环境变化自动恢复基线(金属板A拿走场景)
现场(2026-09-02实测): 线圈旁金属板A上电把Origin学低(128096),A拿走CAPVD弹回
真空场(128856) dev=+761(0.59%),被36321a1双向保护"dev>0永不更新"永久冻结
→ B触发需809cnt(正常54cnt) 灵敏度假性降低且不恢复(V4.20分钟级可自愈)
修复: dev>+4dlt高位两段式受控重校准
① 60s(ENV_RESYNC_WAIT)高位连续未回摆 → 判定永久环境变化(瞬态铁块类不污染)
② 学习基线B: 连续空闲窗200tick均值 + settle判稳(连续2窗漂移≤0.1%)
③ 空闲原子替换Origin, 清freeze/ORG/entry残留, slow snap, 黄灯恢复
- 学习期打断(回窗/dev<0/断线重连)→重算; 30s预算超时放弃保留旧Origin
- 黄灯模式4: 环境学习中常亮(优先级: 断开快闪>学习常亮>N短闪>灭)
- tests/test_env_resync.c 5场景ALL PASS(恢复66s/瞬态不学/打断重算/放弃/不震荡)
- docs: devlog V2.22 + spec V2.3 + 产品手册 V2.7 同步
|
2026-09-02 18:10:28 +08:00 |
|
wangfq
|
cd0fd90770
|
feat(V4B): V4.23 — 红灯呼吸对齐vd960Loop(≈2.6s) + 上电自检基准判稳
现场测试 DLD154V4 反馈两问题修复:
1. 红灯呼吸太快 → 借鉴 vd960Loop 效果 (main.c poll_red_pwm)
- 参数按 665/6800 缩放取整: 大步 100→39(≈5.9%), 近顶 20→10(≈1.5%),
分界 585(88%), 峰值保持 660×3 步
- 周期 ≈1.6s → ≈2.6s (仿真 42 步×60ms=2520ms)
2. 绿灯上电自检闪到"稳定基准值"才停 (TaskLoop.c 稳定期判稳)
- 根因: 固定 128 样本即判稳, 与基准是否稳定无关; static 计数不清零,
二次稳定期(安全复位)1 样本瞬间判稳
- 修复: 全局 g_stable_cnt/g_settle_cnt, 每窗(100样本≈1s)Origin 均值
漂移 ≤0.1% → settle++, 连续 2 窗 + 最少 128 样本判稳; 硬兜底 500
样本(5s); 计数判稳退出/INIT_VD 清零
验证: tests/test_power_on_stable.c (200/300/500/200 样本 PASS),
tests/test_red_breath.c (周期 2520ms/峰值保持/写值≤ARR PASS),
gcc -fsyntax-only 两文件 0 error (借 vd960Loop AT32F421 库头)
文档: devlog 置顶 + 修订表回填 V2.12~V2.20 + V2.21; product-manual §5.1/
核心特性; technical-spec V2.2 (§5.2 参数表/§7 判稳语义/§15 修订记录)
待现场验证: 呼吸观感、绿灯自检时长 (无车 2~3s / 首窗尖峰 3s / 5s 兜底)
|
2026-09-02 16:26:03 +08:00 |
|
wangfq
|
f0f2c29a04
|
V2.11: 灵敏度表全档与PD132T完全一致{300,60,32,21}/{60,32,21,14}(用户本机已调) + 全文档同步
|
2026-08-28 17:39:07 +08:00 |
|
wangfq
|
e3fe373fe5
|
V2.11: 离开表改回分档{60,32,21,14}——现场确认SENUP标贴OFF=SET_ASB=1(出厂默认) + 文档同步
|
2026-08-28 11:55:30 +08:00 |
|
wangfq
|
7b2de21ef4
|
V2.11: 离开表恒14对齐PD132T默认(ASB=OFF), 进入+离开双向对齐 + 文档同步
|
2026-08-28 11:40:49 +08:00 |
|
wangfq
|
b3bbb29300
|
feat(DLD154V4B): V2.11 灵敏度 0/1 档对齐 PD132T(216/108→300/60)
PD132T 客户现场替换平滑交付:
- SensTable {216,108,36,20} → {300,60,36,20}
0/1 档严格对齐 PD132T (Δf/f 0.33%/0.16%→0.46%/0.09%)
2/3 档保持 V4B 优化值 (与 PD132T 32/21 几乎一致)
- 离开表不动 (3 次确认+滞回已更稳)
- 文档同步: technical-spec/product-manual/release-notes/devlog (V2.11)
- 完整交付分析: vd-analysis/docs/pd132t-to-v4b-delivery-alignment.md
|
2026-08-28 10:38:02 +08:00 |
|
wangfq
|
8f43f8f1c9
|
feat(DLD154V4B): V2.10 新增 IWDT 硬件看门狗(超时≈1.64s,双保险喂狗)
- 对齐 DLD154Pro V3.03 方案: TMR15 ISR 5ms 递增 g_wdg_counter,
主循环 poll_wdg() 每 500ms 喂狗, 超时 16×4096/40k ≈ 1.64s
- 双保险: ISR 死→计数不涨→永不喂狗; 主循环死→poll_wdg 不执行→复位
- main() 使能后立即喂一次, 给 FreeRTOS 启动留足时间
- 隔离测试 5 项断言全过 (init 配置/10s 喂狗 20 次/ISR 死不喂/边界 99-100 tick)
- 文档同步: technical-spec(架构图+§13.1 机制) / release-notes(V2.10)
/ product-manual(特性+版本) / roadmap / devlog
|
2026-08-28 08:56:33 +08:00 |
|
wangfq
|
859842aba0
|
feat(DLD154V4B): V2.9 平坦性离开判定默认关闭(现场实测不理想)+ 全量文档同步
- TaskLoop.h: USE_FLATNESS_EXIT 1→0,离开判定切回简单滞回 3 次防抖
(与 DLD154Pro 一致);平坦性代码保留 #if 内可一行开启
- technical-spec: 模式1标默认(V2.9起)/模式2标禁用;修正模式1伪代码
方向错误(CAPVD<Origin+dlt → (Origin-dlt)<CAPVD);延迟/误检率表同步
- product-manual/release-notes: 离开判定口径改'滞回+连续确认(平坦性可选)',
最高档灵敏度 0.015%→0.031%(V2.8 残留);版本历史补 V2.7/V2.8 缺行
- roadmap: V2.6→V2.9 行更新 + 突破表离开判定
- devlog: 置顶 2026-08-28 条目(背景/决定/同步清单)
|
2026-08-28 08:45:34 +08:00 |
|
wangfq
|
266ffc5909
|
docs: 四文档更新至 V2.6 — 单路 IIR + WINDOW_ORIGIN=500
- devlog: 新增 V2.6 架构简化章节 + 两阶段基线策略
- release-notes: V2.5→V2.6, 更新 M4 优化表(双路→单路 IIR)
- product-manual: V2.5→V2.6 + 版本历史
- technical-spec: §4.2 重写为单路 IIR ALFA_CAP1=79 @10ms,
§4.3.2 去除 CAPVD_fast 引用, §4.4.3 两阶段基线表,
§15 新增 V2.1 修订记录
|
2026-06-29 19:16:11 +08:00 |
|
wangfq
|
935e11e006
|
docs: 四文档同步更新至 V2.5
- devlog: 修订记录修正 30s→10s, 新增 V2.5
- release-notes: V1.6→V2.5, 新增 M4 优化特性 + 完整版本历程
- product-manual: V1.5→V2.5, 补充 V1.6~V2.5 版本历史
- technical-spec: V1.5→V2.5, 重写 §§4.2-4.5/5.2/12.1/13:
- §4.2: 双路 IIR 架构(慢速基线 τ=135ms + 快速检测 τ=28ms)
- §4.3.2: 进入确认机制(CAPVD_fast + ENTRY_CONFIRM=3)
- §4.4: 斜率限幅 5% + 基线更新速率 1s (10ms tick)
- §4.5: 冻结超时恢复演进史 V1.5→V2.5,完整逻辑 + 常量表
- §5.2: Tick 改为 10ms,新增 FREEZE_TIMEOUT 参数
- §12.1: 进入延迟 ~530ms,瞬态抑制,温漂 1s 补偿
- §13: 新增 M4 优化编译选项
|
2026-06-29 10:57:24 +08:00 |
|
wangfq
|
2f6cb54847
|
fix: 时序参数修正 — OUT/PULSE_DELAY 均为500ms
- OUT_DELAY: 1.9s→500ms (10 tick), SW_4=ON时生效, OFF时为0
- PULSE_DELAY: 950ms→500ms (10 tick), 固定不变
- 删除 OUT_DELAY_FAST/PULSE_DELAY_FAST, 仅保留一组值
- SW_4 语义: 0=无离开延时, 1=500ms离开延时
- 同步更新产品手册、技术规格书、README、devlog
|
2026-06-24 09:13:46 +08:00 |
|
wangfq
|
07a80763cd
|
fix: SW4 延时修正为500ms快速模式;RS485→TTL Tx调试口
|
2026-06-24 09:04:05 +08:00 |
|
wangfq
|
7d15be9783
|
docs: 添加产品手册和技术规格书
|
2026-06-24 08:11:01 +08:00 |
|