feat(DLD110S): 0x24响应追加LOOP_MEASURE_BASE归一化基数(协议V1.1) — 修复第三方variation换算放大4倍问题

This commit is contained in:
wangfq
2026-08-26 17:29:15 +08:00
parent e43b882ca9
commit 9d90419ee0
4 changed files with 38 additions and 1 deletions
+24
View File
@@ -2,6 +2,30 @@
> MCU: CH591R (RISC-V, BLE) @60MHz | 通道: 1 路线圈 | 调试口: UART0 (DEBUG 编译, 230400)
## 2026-08-26 — 0x24 追加归一化基数 LOOP_MEASURE_BASE(协议 V1.1
### 背景
小程序评估 DLD110S 上报数据时发现归一化基数 bug:用 DLD154V4B 的 MEASUREMENT_BASE=131072 归一化 variationDLD110S 实为 5242882^19 @60MHz)→ 所有百分比放大 4 倍(ΔL/L 报 8.85% 实为 2.21%)。根治方案(王工确认方案 A):**固件显式上报基数,第三方不猜**。
### 改动
| 文件 | 改动 |
|------|------|
| `APP/include/cmcng.h` | 新增 `#define LOOP_MEASURE_BASE 524288L`(注释标明必须与 peripheral_main.c MEASUREMENT_BASE 同步) |
| `APP/dbn_ble_srv.c` | 0x24 读参响应尾部追加 3B LE:`LOOP_MEASURE_BASE`(响应 8B→11B,仍单包 ≤14B,无分包) |
| `docs/ble-protocol.md` | §5.4 响应表加偏移 8-10 + 换算公式 + 背景说明(协议 V1.1) |
### 要点
- **换算公式**`Δf/f ≈ variation / LOOP_MEASURE_BASE``ΔL/L ≈ -2 × variation / LOOP_MEASURE_BASE`
- **向后兼容**:老小程序只读前 8B 不受影响;新小程序读 11B 拿基数
- **零分包风险**0x24 响应 11B data < MAX_BLE_DAT_RESPONSE_LEN=14,单包不变;0xC0 未动(加实时 Origin 需 13→16B 会触发分包,本轮不做)
- 未 bump 固件版本号(V4.20 → 用户确认 V4.30 有部分代码更新,晚点统一同步)
- 上报缺陷(0xC0 无 Origin)已确认:第三方用频率基线或本基数均可,固件暂不扩 0xC0
---
## 2026-08-26 — 环路线圈健康评估设计依据归档 + 小程序评估报告核验
### 背景