From 7a0304ee6506af20e72e04b7f20c0eb1447d9a56 Mon Sep 17 00:00:00 2001 From: wangfq Date: Fri, 31 Jul 2026 09:36:55 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20V3.02=20=E2=80=94=20=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=97=A5=E5=BF=97+=E4=BA=A7=E5=93=81=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E4=B9=A6+=E6=8A=80=E6=9C=AF=E8=A7=84=E6=A0=BC=E4=B9=A6?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/devlog.md | 35 +++++++++++++++++++++++++++++++++++ docs/product-manual.md | 7 ++++--- docs/technical-spec.md | 5 +++-- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/docs/devlog.md b/docs/devlog.md index e9504f8..d9de189 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -4,6 +4,41 @@ --- +## 2026-07-31 — 发布 V3.02 + +### 变更摘要 + +| 变更 | 说明 | +|------|------| +| `g_loop_cut_amount` 累加修复 | 重连路径补充 `g_loop_cut_last = 0` 边沿记忆清零,修复二次断开后 counter 卡在 1 的问题;放开硬编码 3 次上限 | +| Modbus 主动上报线圈事件 | 线圈断开/重连时立即触发主动上报(对齐 700BS 行为) | +| 0x2C 复位指令重构 | 700BS: `handle_reset_init()` 改为直接 `SYS_ResetExecute()` MCU 全复位;Modbus: 新增 HR 0x0012 System Cmd,写 0x2C2C 触发全复位 | +| HR 0x0012 寄存器 | 协议文档 V1.7:新增 `MB_HR_SYSTEM_CMD` (0x0012),旧 0x00FF 标注废弃 | +| DLD154Tool 同步 | `protocol_modbus.py` +`build_reset_mcu()`;`main.py` Modbus Tab 红色复位按钮 | +| RS485 初始化时序 | `rs485_init()`/`modbus_init()` 从 `gpio_uart_init()` 移至 `main()` 中 `para_store_init()` 之后,确保波特率参数加载后初始化 | + +### 涉及文件 + +| 文件 | 变更 | +|------|------| +| `peripheral_main.c` | cut_amount 修复 + RS485 初始化时序调整 | +| `rs485_700bs.c` | `handle_reset_init()` → `SYS_ResetExecute()` | +| `rs485_modbus.c` | +HR 0x0012 read/write (FC 0x03/0x06/0x10) | +| `rs485_modbus.h` | +`MB_HR_SYSTEM_CMD` / `MB_CMD_RESET_MCU` | +| `protocol_modbus.py` | +`build_reset_mcu()` | +| `main.py` | TabModbus +复位按钮 + `_send_reset()` | +| `rs485-modbus-protocol.md` | V1.6→V1.7 全量更新 | +| `devlog.md` | 本条目 | + +### 影响 + +- 线圈断开计数器从现在起如实累加,Modbus 全数据块 `Cut Cnt` 不再卡在 1 +- 0x2C/HR 0x0012 执行真正的 MCU 全复位(含外设重新初始化),而非仅"复位线圈基线" +- 上位机 DLD154Tool 同步支持新复位指令 +- RS485 初始化不再受参数加载顺序影响 + +--- + ## 2026-07-30 — Modbus RTU V1.6 私有协议编码实现 ### 背景 diff --git a/docs/product-manual.md b/docs/product-manual.md index e601f04..eb4c907 100644 --- a/docs/product-manual.md +++ b/docs/product-manual.md @@ -1,6 +1,6 @@ # DLD154Pro 产品说明书 -> 单路线圈蓝牙车辆检测器 | 型号: DLD154Pro | 版本: V3.01 +> 单路线圈蓝牙车辆检测器 | 型号: DLD154Pro | 版本: V3.02 > 适用于停车场、收费站、交通卡口等场景的车辆到达/离开检测 --- @@ -273,7 +273,7 @@ DLD154Pro 支持两种 RS485 协议,通过 BLE 小程序切换: | IR | 0x0002–03 | CAPVD | 归一化周期值,32-bit | | HR | 0x0000 | Sensitivity | 灵敏度 0–2,R/W | | HR | 0x0001 | Fusion Mode | 融合模式 0–6,R/W | -| HR | 0x00FF | Device Reset | 写 0x5A5A 复位 | +| HR | 0x0012 | System Cmd | 写 0x2C2C 复位 MCU | > 完整寄存器映射见 `docs/rs485-modbus-protocol.md`。 @@ -283,8 +283,9 @@ DLD154Pro 支持两种 RS485 协议,通过 BLE 小程序切换: | 版本 | 日期 | 说明 | |------|------|------| -| V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 移植 + 硬件适配 CH591R | +| V3.02 | 2026-07-31 | Modbus RTU 协议实现 + 主动上报;0x2C 复位改为 MCU 全复位;`g_loop_cut_amount` 累加修复;上位机 DLD154Tool | | V3.01 | 2026-07-28 | 光耦输出融合模式(6 种);LEDA 同步继电器状态 | +| V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 移植 + 硬件适配 CH591R | --- diff --git a/docs/technical-spec.md b/docs/technical-spec.md index 67a4bc7..61830cb 100644 --- a/docs/technical-spec.md +++ b/docs/technical-spec.md @@ -1,6 +1,6 @@ # DLD154Pro 技术规格书 -> 单路线圈蓝牙车辆检测器 | 固件版本: V3.01 | 硬件版本: V3.01 +> 单路线圈蓝牙车辆检测器 | 固件版本: V3.02 | 硬件版本: V3.01 > 本文档面向工程开发、系统集成及故障深度分析 --- @@ -555,8 +555,9 @@ Magic | Addr/Sub | Len | CMD | Data | XOR | SUM | 版本 | 日期 | 说明 | |------|------|------| -| V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 复制基线 + 硬件适配 (CH591R) | +| V3.02 | 2026-07-31 | Modbus RTU 协议实现 + 主动上报;0x2C/HR 0x0012 复位改为 `SYS_ResetExecute()` MCU 全复位;`g_loop_cut_amount` 累加修复;RS485 初始化时序调整 | | V3.01 | 2026-07-28 | 光耦输出模式完整实现 (6 种融合逻辑 + 状态机);LEDA 同步继电器状态 | +| V3.00 | 2026-07-21 | 项目初始化:从 DLD110SV4 复制基线 + 硬件适配 (CH591R) | ---