feat(DLD110S): 0x24偏移7上报direction_mode完整字节(与DLD154Pro语义对齐) + 修双分号 + 协议文档同步
This commit is contained in:
@@ -631,7 +631,7 @@ void manage_dbn_ble_default(uint8_t *pkg, uint8_t len)
|
|||||||
tmp_ble_buf[i++] = g_loop_sens_list.total << 4;
|
tmp_ble_buf[i++] = g_loop_sens_list.total << 4;
|
||||||
tmp_ble_buf[i++] = (g_loop_power_up_state == 0) ? 1 : ((uint8_t)(g_loop_cut_total));
|
tmp_ble_buf[i++] = (g_loop_power_up_state == 0) ? 1 : ((uint8_t)(g_loop_cut_total));
|
||||||
tmp_ble_buf[i++] = (uint8_t)(g_loop_cut_total >> 8);
|
tmp_ble_buf[i++] = (uint8_t)(g_loop_cut_total >> 8);
|
||||||
tmp_ble_buf[i++] = g_function_mode;
|
tmp_ble_buf[i++] = g_loop_cng_unit.direction_mode;
|
||||||
/* V1.1: 追加归一化基数 LOOP_MEASURE_BASE (2^19=524288, LE), 供第三方 variation 换算 dL/L */
|
/* V1.1: 追加归一化基数 LOOP_MEASURE_BASE (2^19=524288, LE), 供第三方 variation 换算 dL/L */
|
||||||
tmp_ble_buf[i++] = (uint8_t)(LOOP_MEASURE_BASE);
|
tmp_ble_buf[i++] = (uint8_t)(LOOP_MEASURE_BASE);
|
||||||
tmp_ble_buf[i++] = (uint8_t)(LOOP_MEASURE_BASE >> 8);
|
tmp_ble_buf[i++] = (uint8_t)(LOOP_MEASURE_BASE >> 8);
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ g_hold_time = exist_mode * 30 * 20 (600 tick ≈ 30s × exist_mode, @50ms
|
|||||||
| 4 | `sens_list.total << 4`(= 3,高 4 位) |
|
| 4 | `sens_list.total << 4`(= 3,高 4 位) |
|
||||||
| 5 | 线圈断开次数低字节(**上电后持续累计**,不截断) |
|
| 5 | 线圈断开次数低字节(**上电后持续累计**,不截断) |
|
||||||
| 6 | 线圈断开次数高字节 |
|
| 6 | 线圈断开次数高字节 |
|
||||||
| 7 | **g_function_mode**(注意:DLD154Pro 此处是 direction_mode) |
|
| 7 | **direction_mode**(完整字节;高 4 位 = g_function_mode,**V4.31 与 DLD154Pro 语义对齐**) |
|
||||||
| 8-10 | **归一化基数 LOOP_MEASURE_BASE(3B LE,= 524288)**(V1.1 追加) |
|
| 8-10 | **归一化基数 LOOP_MEASURE_BASE(3B LE,= 524288)**(V1.1 追加) |
|
||||||
|
|
||||||
> ⚠ **偏移 8-10 用途(协议 V1.1,2026-08-26 追加)**:variation 换算 ΔL/L 的归一化基数。
|
> ⚠ **偏移 8-10 用途(协议 V1.1,2026-08-26 追加)**:variation 换算 ΔL/L 的归一化基数。
|
||||||
@@ -204,7 +204,7 @@ Data:`[enable] [interval] [timeout_min]`
|
|||||||
6. **0xC0 frequent +360 补偿**:经验值,示波器标定用
|
6. **0xC0 frequent +360 补偿**:经验值,示波器标定用
|
||||||
7. **0x1F/0x92 无响应帧**:复位/出厂类命令执行后设备重启
|
7. **0x1F/0x92 无响应帧**:复位/出厂类命令执行后设备重启
|
||||||
8. **notify 超限静默丢弃**:`len > (peripheralMTU-3)` 返回 FAIL 不重发,长响应必须分包
|
8. **notify 超限静默丢弃**:`len > (peripheralMTU-3)` 返回 FAIL 不重发,长响应必须分包
|
||||||
9. **0x24 偏移 7 是 g_function_mode**(非 direction_mode)——与 DLD154Pro 不同,解析别混
|
9. **0x24 偏移 7 = direction_mode 完整字节**(V4.31 起;高 4 位 = g_function_mode,与 DLD154Pro 语义对齐)——解析别混:低 4 位是方向/触发模式
|
||||||
10. **g_hold_time 换算差异**:`exist_mode × 600 tick`(≈30s/单位,DLD154Pro 为 ×100 tick ≈5s/单位)——产品差异,协议层语义一致
|
10. **g_hold_time 换算差异**:`exist_mode × 600 tick`(≈30s/单位,DLD154Pro 为 ×100 tick ≈5s/单位)——产品差异,协议层语义一致
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -2,6 +2,20 @@
|
|||||||
|
|
||||||
> MCU: CH591R (RISC-V, BLE) @60MHz | 通道: 1 路线圈 | 调试口: UART0 (DEBUG 编译, 230400)
|
> MCU: CH591R (RISC-V, BLE) @60MHz | 通道: 1 路线圈 | 调试口: UART0 (DEBUG 编译, 230400)
|
||||||
|
|
||||||
|
## 2026-08-26 — 0x24 偏移 7 语义对齐 DLD154Pro(direction_mode 完整字节)
|
||||||
|
|
||||||
|
### 改动
|
||||||
|
|
||||||
|
王工调整 `dbn_ble_srv.c` 一行:0x24 响应偏移 7 从 `g_function_mode`(= direction_mode>>4)改为 `g_loop_cng_unit.direction_mode` **完整字节**,与 DLD154Pro 语义对齐。顺手修掉双分号 `direction_mode;;`。
|
||||||
|
|
||||||
|
### 影响
|
||||||
|
|
||||||
|
- **协议语义变化**:小程序读偏移 7 从"功能模式高 4 位"变为"完整方向/触发模式字节"——**解析逻辑必须按新语义**(低 4 位 = 方向/触发模式,高 4 位 = g_function_mode)
|
||||||
|
- 协议文档同步:§5.4 表格 + 坑清单第 9 条(原"与 DLD154Pro 不同"已改为"语义对齐")
|
||||||
|
- 0x23 写路径不受影响(unpack_pkg_set_cjq_param 仍存完整 direction_mode 字节)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 2026-08-26 — V4.31:断开次数双变量拆分(LED 3次上限 vs BLE 持续累计)
|
## 2026-08-26 — V4.31:断开次数双变量拆分(LED 3次上限 vs BLE 持续累计)
|
||||||
|
|
||||||
### 背景
|
### 背景
|
||||||
|
|||||||
Reference in New Issue
Block a user