wangfq
|
bbf5492fe2
|
fix(vd960Loop): 灵敏度收敛 4 级制 + 运行中配置立即生效 (协议 V1.08)
根因: 设置不同灵敏度感应高度无区别
1. unpack_pkg_set_mcjq_param 未同步 loop_SensLevel → 改灵敏度需重启才生效
2. 9级制映射 sensitvity & 0x03 折叠 (默认7→3, 3→3, 8→0)
3. (测试陷阱) 金属块过大信号饱和, 建议小金属块测临界高度
修复:
- 提取 sens_level_from_config() 映射函数, 4级制 0~3 一一对应 (9级制后改)
- unpack_pkg_set_mcjq_param 补 loop_SensLevel 同步 (运行中立即生效)
- para_store_init 上电路径改用同一函数
- 协议 V1.08: Sensitivity 0~9级 → 4级制 0~3 (默认2)
- tests/test_sens_mapping.c gcc 隔离单测 PASS (0~3无折叠/兼容旧默认7→3)
|
2026-08-25 11:52:14 +08:00 |
|
wangfq
|
2a267967b4
|
feat(vd960Loop): 环境健康度算法 §10 + drift_health.py 参考实现
- variation-analysis.md §10: 无车漂移监测 (零成本, 不改协议)
- 口径修正: 绝对峰=1.5×窗口漂移(Origin 滞后半窗) → 用峰谷差
- 600ms 采样系统性低估 ~12% (峰在窗口末采不到)
- 冻结态失效(>4×dlt_ORG) → 双指标: 漂移速率 + 冻结占比
- 冻结判定双判据: 跨窗跳变消失 + 峰谷差突变(>4×前4窗中位数)
- tools/drift_health.py: CSV 逐窗统计/冻结检测/JSON/自测
- devlog 2026-08-25 条目追加环境健康度小节
- 自测: 慢漂移 0.02%/s 识别准确, 冻结窗正确排除
|
2026-08-25 10:09:36 +08:00 |
|
wangfq
|
e919ff477a
|
docs(协议): variation 值域勘误 V1.07 — ±8388607 → −8388608 ~ +8388607
统一为 3B 补码标准值域 (-2^23 ~ +2^23-1), 对齐代码负向饱和边界 0x800000
- DLD960Loop_串口通信协议.md: variation 字段值域修正 + 修订记录 V1.07
- variation-analysis.md: 头部版本引用/§1/§5.1 表格/§5.6.3 口径小注同步
- devlog.md: 2026-08-25 条目追加勘误说明
代码无改动 (main.c 饱和边界本就正确)
|
2026-08-25 09:49:11 +08:00 |
|
wangfq
|
1ec4a39d92
|
docs(vd960Loop): variation ↔ ΔL/ΔL-L 物理对应分析 + 换算工具
- variation-analysis.md 新增 §9: CAPVD ∝ √L 推导, 精确/一阶/频域三口径公式
- 灵敏度档位 → ΔL/L 触发阈值表 (SensTable/65536 ×2, DLD154Pro 交叉验证)
- 电容档无关性: 33/43/66/76nF 共用同一换算表 (variation/Origin 中 C 消掉)
- tools/variation_calc.py: 正向/反推/3B LE 补码解析/灵敏度对照/交互 5 模式
- devlog 置顶 2026-08-25 条目
|
2026-08-25 08:39:37 +08:00 |
|
wangfq
|
82e01cd337
|
docs(devlog): 记录 variation 2B->3B有符号升级 (V1.05)
- vd960Loop/docs/devlog.md: 组包端改动(uint32->int32,方案B,饱和防回绕),
背景/影响范围/验证
- vd960DBN/docs/devlog.md: 接收端4处联动(结构体/解析步长/符号扩展/
fast_mode abs阈值), 缓冲核查
两端均标注必须同版本发布
|
2026-07-14 16:48:25 +08:00 |
|
wangfq
|
a73a9392bd
|
docs: 补充 V2.8~V3.1 开发日志 (编译修复/车间距/misc_counter/上电抑制)
|
2026-07-03 17:01:09 +08:00 |
|
wangfq
|
85a4fa7910
|
change: 时间量上报单位 10ms→50ms, report_counter 入 50ms tick
- report_counter++ 从 5ms ISR 外层移入 if(TM1cnt>=10) 50ms 块
- 3处 misc_value 去掉 /2, 直接差值即可
- REPORT_IDLE_TICKS 120→12, REPORT_EVENT_TICKS 30→3
- 更新 TaskLoop.h/main.c/devlog 注释
|
2026-07-03 10:01:30 +08:00 |
|
wangfq
|
3c243ea792
|
change: 时间量上报单位 5ms→10ms
- 进场车间距 / 离场通过时间: misc_value = (差值)/2
- 内部时间戳保持 5ms 精度, 仅上报值转为 10ms
- 更新注释和 devlog (V2.6)
|
2026-07-03 09:36:28 +08:00 |
|
wangfq
|
ecbb4852ca
|
docs: 更新开发日志 — 2026-06-29 M4优化移植 (V2.0~V2.5)
|
2026-06-30 11:17:27 +08:00 |
|
wangfq
|
5a12044c1a
|
fix: vTaskDelay 10→50ms 对齐 DLD154V4B 原始设计, 创建 docs/devlog.md
loop_task_function 主循环周期修正:
- 原值 10ms 是 FreeRTOS 移植时的疏忽
- 改为 50ms 对齐原始 TMR15 5ms×10 设计
- 基线更新: 100×10ms=1s → 100×50ms=5s (Origin 更稳定)
- CPU 占用降低 5×
创建 docs/devlog.md 记录 V2.0~V2.2 全部改动。
|
2026-06-26 14:30:51 +08:00 |
|