feat(DLD110S): V4.31 — 断开次数双变量拆分(g_loop_cut_amount≤3 LED / g_loop_cut_total持续累计BLE上报) + 恢复g_loop_cut_last边沿同步 + 文档同步
This commit is contained in:
@@ -2,6 +2,32 @@
|
||||
|
||||
> MCU: CH591R (RISC-V, BLE) @60MHz | 通道: 1 路线圈 | 调试口: UART0 (DEBUG 编译, 230400)
|
||||
|
||||
## 2026-08-26 — V4.31:断开次数双变量拆分(LED 3次上限 vs BLE 持续累计)
|
||||
|
||||
### 背景
|
||||
|
||||
V4.30 代码合并整理时,peripheral_main.c 出现了两处回退(删 `g_loop_cut_last = 0` + 加回 3 次上限)。核对 1815caf 后确认:**删掉 `g_loop_cut_last = 0` 会让第二次断开不再计数**(FLAG_CUT 0→1 时 last 仍为 1,边沿检测失败)。且 3 次上限原意是给 LED 快闪,但小程序要读"上电后持续累计的断开次数"——**一个变量无法同时满足两个需求,拆成两个**。
|
||||
|
||||
### 改动(王工确认方案)
|
||||
|
||||
| 文件 | 改动 |
|
||||
|------|------|
|
||||
| `peripheral_main.c` | ① 恢复重连分支 `g_loop_cut_last = 0`(边沿记忆同步,1815caf 修复回归防御);② 新增 `uint32_t g_loop_cut_total`(上电持续累计,不截断);③ 断开计数处 `g_loop_cut_amount++`(3 次截断,LED 用)+ `g_loop_cut_total++`(不截断) |
|
||||
| `cmcng.h` | extern `g_loop_cut_total` |
|
||||
| `dbn_ble_srv.c` | 0xC0 偏移 4-6(3B)与 0x24 偏移 5-6(2B)上报改用 `g_loop_cut_total` |
|
||||
| `docs/ble-protocol.md` | 固件版本 V4.20→V4.31;断开次数字段标注"上电持续累计,不截断" |
|
||||
| `docs/product-manual.md` | 版本历史补 V4.30/V4.31 |
|
||||
| `docs/technical-spec.md` | cut_amount 语义更新 + V4.31 变更说明 + 修订记录 V1.1 |
|
||||
|
||||
### 要点
|
||||
|
||||
- **双变量语义**:`g_loop_cut_amount`(≤3)= LED 黄灯快闪指示;`g_loop_cut_total`(uint32 无上限)= 小程序读的真实断开次数
|
||||
- 上电未连线圈时两个变量上报值仍为 1(`g_loop_power_up_state == 0 ? 1 : ...`)
|
||||
- `INIT_VD()` 不复位两个计数变量(BLE 上报语义),仅边沿记忆 `g_loop_cut_last` 在重连分支复位
|
||||
- 版本号 cmcng.h `FIRMWARE_VER` = "4.31"(V4.30 合并整理由王工在 MRS 完成,本仓库同步 bump)
|
||||
|
||||
---
|
||||
|
||||
## 2026-08-26 — 0x24 追加归一化基数 LOOP_MEASURE_BASE(协议 V1.1)
|
||||
|
||||
### 背景
|
||||
|
||||
Reference in New Issue
Block a user