wangfq
|
4d77ef8c71
|
refactor: 去掉快速 IIR,ALFA_CAP1=79 @10ms (同步 DLD154V4B)
|
2026-06-29 18:35:15 +08:00 |
|
wangfq
|
0a5a640195
|
fix: 快速 IIR 斜率限幅参考改为 CAPVD_fast (同步 DLD154V4B)
|
2026-06-29 17:56:40 +08:00 |
|
wangfq
|
2aad8782a7
|
fix: 快速 IIR 输入改为限幅后原始值 (同步 DLD154V4B)
|
2026-06-29 17:27:11 +08:00 |
|
wangfq
|
918287d9da
|
clean: 删除死代码 ALFA_FAST (同步 DLD154V4B)
|
2026-06-29 17:16:47 +08:00 |
|
wangfq
|
23f33d9af5
|
fix: update_moving_average window 参数 uint8_t→uint16_t (同步 DLD154V4B)
|
2026-06-29 15:55:59 +08:00 |
|
wangfq
|
1ca7f01cdf
|
tune: WINDOW_ORIGIN 100→500, 基线更新 1s→5s (同步 DLD154V4B)
|
2026-06-29 15:37:12 +08:00 |
|
wangfq
|
0b951768ec
|
feat(vd960Loop): 移植 DLD154V4B V2.0-V2.5 M4 优化 — 双路 IIR + 斜率限幅 + 进入确认 + 冻结超时
V2.0: 双路 IIR (慢速 α=18/256 τ=135ms + 快速 α=0.5 τ=28ms)
斜率限幅 MAX_SLOPE_RATE=5%
进入确认 ENTRY_CONFIRM=3
vTaskDelay 50→10ms (tick 加速 5×)
V2.1: CAPVD_fast 初始化修复 (==0 时首次锁定)
V2.2: 稳定期绕过 IIR 和斜率限幅,直接用 Value 收敛基线
V2.3: 基线冻结超时自动恢复 (FREEZE_TIMEOUT)
V2.4: 冻结稳定性检查 (FREEZE_STABILITY_RATE=2% 窗口)
V2.5: 冻结超时 10s (1000 tick @ 10ms)
结构体新增: loop_CAPVD_fast, loop_entry_cnt,
loop_freeze_cnt, loop_freeze_ref
每通道独立状态,四路并行运行
|
2026-06-29 11:25:44 +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 |
|
wangfq
|
eb9f21b08d
|
fix: 有限存在超时改为通道完整重启, 避免继电器立即重新吸合
原逻辑设 loop_FLAG_OUT=1 触发正常离车流程,
但线圈物理上仍有车, vd1_task 立刻重新检测到有车→继电器又吸合。
改为与安全复位一致的重启逻辑:
- LC_Reset=1, loop_INI_LOOP=1 → 强制重新初始化
- loop_stable=0, loop_LOOP_OK0=0 → 重建基线(含稳定期128样本)
- 清除所有标志位和计数器
- 移除 loop_VD_FLAG 前置条件 (set_loops_relay_off 无条件执行)
|
2026-06-26 12:02:00 +08:00 |
|
wangfq
|
995520164d
|
fix: 有车时根据 hold_time 启用有限存在计时
vd1_task_per_channel 判定有车 (loop_VD_FLAG=1) 时,
若 hold_time > 0 则设置 loop_VD_HOLD = 1,
使有限存在超时逻辑能够实际生效。
hold_time=0 (exist_mode=0) 时不设 VD_HOLD,保持无限制存在。
|
2026-06-26 11:55:43 +08:00 |
|
wangfq
|
56d8b77278
|
fix: 有限存在超时后完整恢复无车状态
set_loops_relay_off 之后补充:
- loop_VD_FLAG = 0 → 无车 → 绿灯灭 (poll_green_led 自动)
- loop_FLAG_OUT = 1 → 触发正常离开输出
- LC_HOLD = 0 → 清除安全保持
- loop_ORG_CNT/SUM=0 → 重置基线跟踪
|
2026-06-26 11:18:25 +08:00 |
|
wangfq
|
1831291d76
|
fix: 离开延时 OUT_DELAY 改为可配置 relay_delay
- Loop154_Unit 新增 relay_delay 字段
- storage.c 从 delay_time 计算: relay_delay = delay_time * 2
- TMR15_GLOBAL_IRQHandler 使用 unit->relay_delay 替代固定 OUT_DELAY
|
2026-06-26 10:31:53 +08:00 |
|
wangfq
|
bfbceec761
|
fix: 有限存在超时改为可配置 hold_time 替代固定 HOLD_TIME
- Loop154_Unit 新增 hold_time 字段 (tick 数)
- storage.c para_store_init 从 exist_mode 计算: hold_time = exist_mode * 20 * 5
- TMR15_GLOBAL_IRQHandler 中使用 unit->hold_time 替代固定 HOLD_TIME
|
2026-06-26 10:20:13 +08:00 |
|
wangfq
|
58774a2038
|
fix: 上报频率字段从raw CAPVD改为实际线圈频率
uart_report_packet_loop_acs 和 CMD_DBN_GET_MCJQ_PARAM 两处,
loop_CAPVD 需经公式转换为实际频率后再上报:
freq = sclk_freq * input_div * LPCNT / CAPVD
使用 uint64_t 先乘后除避免整数截断
|
2026-06-26 09:46:58 +08:00 |
|
wangfq
|
421913d342
|
fix(vd960Loop): 补充 usart_task_handler 和 usart1_rx_buffer 定义
|
2026-06-25 16:53:53 +08:00 |
|
wangfq
|
abf000911b
|
fix(vd960Loop): 移除 TaskLoop.c 中重复的 usart_task/g_flag_output 定义
|
2026-06-25 16:51:36 +08:00 |
|
wangfq
|
7906504e4e
|
fix(vd960Loop): 修复 g_input_div 重复定义和 tmp_ble_buf 缺失
|
2026-06-25 16:46:45 +08:00 |
|
wangfq
|
d2b132a6ef
|
fix(vd960Loop): 编译错误修复 — Flt_Reg/SensTable/macros/INCNT
|
2026-06-25 16:41:50 +08:00 |
|
wangfq
|
633c20562d
|
chore: 更新 .gitignore,补充遗漏的 board 文件
|
2026-06-25 16:28:31 +08:00 |
|
wangfq
|
95808f9f25
|
refactor(vd960Loop): 算法回退到 DLD154V4B,四通道适配
- 用 DLD154V4B vd1_task/per_channel 替换 vds_task 复杂算法
- 移除 FUNCTION_B/二次判断/快速变化/多重确认等增强特性
- 保留平坦性离开算法 (CN200910309382),每通道独立状态
- 灵敏度表改为 DLD154V4B 4级: {216,108,36,10} / {108,72,18,9}
- 清理废弃类型: FltHistoryManager, Loop_ACS_Info, StageRangeConfig 等
- 首次添加 vd960DBN 完整源码
|
2026-06-25 16:21:57 +08:00 |
|
wangfq
|
ef806b6013
|
init: vd_960 项目初始化
- 双 MCU 架构:AT32F421(线圈) + CH32V208(通信)
- DLD960 串口通信协议 V1.01
- IoT MQTT 接口协议 V1.00 (JSON)
- TCP 接口协议 V1.00 (JSON)
|
2026-06-22 17:02:23 +08:00 |
|