docs(DLD110SV4): 新增蓝牙小程序接口协议文档 (依据 dbn_ble_srv.c)
- 与 DLD154Pro 三处关键差异: 拨码灵敏度/3档表/无0x31 - §1 BLE 服务: 0xFFE0, Char1(0xFFE1 RW)/Char4(0xFFE4 Notify), 设备名 DLD110S - §2-3 帧格式/分包: Magic(8F/7F)+Header+Len+CMD+Data+XOR+SUM; 14B 写死分包 - §4-5 命令: 0x10/0x1F/0x23/0x24/0x8A/0x92/0xC5 逐字段 - §6 主动上报 0xC0: type=5 线圈动态 - §7 坑清单: 拨码灵敏度不生效/3档/0x24偏移7=g_function_mode/0xC5超时疑bug - devlog 置顶 2026-08-25 条目
This commit is contained in:
@@ -2,6 +2,40 @@
|
||||
|
||||
> MCU: CH591R (RISC-V, BLE) @60MHz | 通道: 1 路线圈 | 调试口: UART0 (DEBUG 编译, 230400)
|
||||
|
||||
## 2026-08-25 — 蓝牙小程序接口协议文档
|
||||
|
||||
### 背景
|
||||
|
||||
根据 `dbn_ble_srv.c`(+ peripheral.c/gattprofile.c/peripheral_main.c/storage.h/cmcng.h)整理蓝牙小程序与芯片交互的完整接口协议。
|
||||
|
||||
### 文档要点
|
||||
|
||||
| 章节 | 内容 |
|
||||
|------|------|
|
||||
| 开头差异表 | **与 DLD154Pro 的三处关键差异** |
|
||||
| §1 BLE 服务 | 0xFFE0 服务;Char1(0xFFE1 RW 命令下发)、Char4(0xFFE4 Notify);设备名 DLD110S |
|
||||
| §2-3 帧格式/分包 | Magic(8F/7F)+Header+Len+CMD+Data+XOR+SUM;14B 写死分包 |
|
||||
| §4-5 命令 | 0x10/0x1F/0x23/0x24/0x8A/0x92/0xC5 逐字段(**无 0x31**) |
|
||||
| §6 主动上报 | 0xC0 线圈动态(type=5) |
|
||||
| §7 坑清单 | 10 条源码事实 |
|
||||
|
||||
### 关键发现(源码事实)
|
||||
|
||||
1. **⚠ 灵敏度由硬件拨码 KEY_SA1/SA2 决定**(`poll_sens_key` peripheral_main.c:263):检测阈值 = `g_loop_sens_list.sens[g_freq_sens]`,**0x23 设置的 sensitvity 仅存档不生效**,0x24 回读 = 拨码档位+1(1~3)
|
||||
2. **3 档灵敏度**(MAX_LOOP_SENS_AMOUNT=3):默认 `{108,54,28}` / `{81,32,16}`(DLD154Pro 为 4 档)
|
||||
3. **无 0x31**(DLD110SV4 无 RS485)
|
||||
4. 0x24 偏移 7 是 `g_function_mode`(DLD154Pro 为 direction_mode)
|
||||
5. g_hold_time = exist_mode × 600 tick(DLD154Pro ×100)——产品差异
|
||||
6. 0xC5 超时疑似 bug:`timeout_min × 60 × 100`(应 ×1000?待现场验证)
|
||||
|
||||
### 涉及文件
|
||||
|
||||
| 文件 | 内容 |
|
||||
|------|------|
|
||||
| `docs/ble-protocol.md` | 新增(固件 V4.20 / 硬件 V4.01 / 型号 DLD110S) |
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-20 — variation 3 字节上报 + 编码 GBK→UTF-8 + 线圈重连对齐 DLD154V4B spec
|
||||
|
||||
### variation 上报升级
|
||||
|
||||
Reference in New Issue
Block a user