From 579e1b7dc83a016607e0052f5b3fc15bafadbbae Mon Sep 17 00:00:00 2001 From: wangfq Date: Wed, 22 Jul 2026 14:25:56 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=20BLE=20RS485=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=AF=BB=E5=86=99=20+=20=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=A0=81=E7=BB=86=E5=88=86=20=E5=BC=80=E5=8F=91=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/devlog.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/docs/devlog.md b/docs/devlog.md index 6a048d9..84a40d6 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -4,6 +4,63 @@ --- +## 2026-07-22 — BLE 新增 RS485 地址/波特率读写 + 空闲关蓝牙超时 + 功能码细分 + +### 新增 BLE 命令 + +**`CMD_DBN_RW_UART_BAUD (0x31)`** — 读写 RS485 通信参数: + +| 字节偏移 | 字段 | 说明 | +|---------|------|------| +| [4] | RW | 0=读, 1=写 | +| [5] | BT_close_min | 蓝牙空闲超时关闭时间 (分钟), 0=不关闭 | +| [6:8] | baud_rate | RS485 波特率 (3 字节, little-endian) | +| [9] | rs485_id | RS485 从机地址 (1-247) | +| [10:12] | reserved | 预留 | + +- 读:返回当前存储值 + status=0 +- 写:写入 RAM 并持久化到 DataFlash (`ADDR_BT_Close_TIMEOUT_Offset` 起 5 字节) + +### Flash 存储布局 + +``` +0x10 ADDR_BT_Close_TIMEOUT_Offset 1B 蓝牙空闲超时 (分钟) +0x11 Addr_RS485_Baud_Offset 3B RS485 波特率 (LE32) +0x14 Addr_RS485_ID_Offset 1B RS485 从机地址 +``` + +出厂默认:RS485 ID=1, 波特率=9600, 蓝牙超时=0(不关闭) + +### 功能码细分 (g_function_mode) + +`g_function_mode` 取自 `direction_mode` 高 4 位,低 2 位细分: + +| bit | 字段 | 0 | 1 | +|-----|------|---|---| +| bit0 | `g_fm_700bs_disable` | **700BS 协议** | Modbus 协议 | +| bit1 | `g_fm_radar_input_disable` | **光耦输入使能** | 光耦输入复位 | + +> RS485 将支持两种协议:700BS(后续上传)和 Modbus。通过小程序设置 `direction_mode` 高 4 位的 bit0 切换。 + +### 文件变更 + +| 文件 | 变更 | +|------|------| +| `dbn_ble_srv.h` | +`CMD_DBN_RW_UART_BAUD 0x31` | +| `cmcng.h` | +extern 声明: `fm_700bs_disable`, `fm_radar_input_disable`, uart/bt 配置 | +| `storage.h` | +Flash 地址宏: BT_timeout, RS485_baud, RS485_ID | +| `peripheral_main.c` | +全局变量定义, factory_dev 默认值, para_store_init 恢复 | +| `dbn_ble_srv.c` | +`CMD_DBN_RW_UART_BAUD` handler, unpack 中解析 function_mode bits | + +### 待办 + +- [ ] RS485 700BS 协议定义 +- [ ] RS485 Modbus 协议定义 +- [ ] RS485 串口中断收发实现 (UART0) +- [ ] 蓝牙空闲超时自动关闭逻辑 + +--- + ## 2026-07-21 — 灵敏度等级与 ΔL/L 的物理关系分析 ### 参数表