chore(vd960DBN): 固件版本 1.02.01 → 1.02.03 (2026-08-19)
OTA 0x9F 透传修复板级验证通过, 用户更新版本号三段式一致。 V1.02.03 内容: BLE→Loop OTA 修复 (0x9F 帧透传回 BLE) + 8-18 脱机日志快照流/hex 上报 + MQTT 查询命令补齐。 README/CHANGELOG/devlog 同步; 已知约束: OTA 模式无自动退出 (维持现状)
This commit is contained in:
@@ -5,6 +5,35 @@
|
||||
|
||||
---
|
||||
|
||||
## vd960DBN V1.02.03 — 2026-08-19(DBN 通信板单侧更新)
|
||||
|
||||
> 本次为 **vd960DBN 单侧发布**(Loop 固件未变,协议未变更,可正常配套)。
|
||||
|
||||
**配套版本矩阵**
|
||||
|
||||
| 组件 | 版本 |
|
||||
|------|------|
|
||||
| vd960DBN 固件 (CH32V208, DLD960GA) | **1.02.03** |
|
||||
| vd960Loop 固件 (AT32F421) | 1.0(不变) |
|
||||
| DLD960Loop 串口协议(MCU 间 0x7F / 0x9F OTA) | V1.05(不变) |
|
||||
| DLD960 TCP JSON 协议(:5960) | V1.03(不变) |
|
||||
| DLD960 IoT MQTT 协议 | V1.07(不变) |
|
||||
| DLD960 BLE 协议 | V1.02(不变) |
|
||||
|
||||
### 🔧 BLE→Loop OTA 升级修复(0x9F 帧透传回 BLE)
|
||||
- **现象**:UART2 RX DMA 改造后,通过 BLE 给地感(Loop MCU)OTA 升级失效
|
||||
- **根因**:DMA poll 帧解析 `lup_feed_byte()` 只认 0x7F,Loop bootloader 回的 0x9F 响应帧(pre_ok/addr_ok/data ACK)全部被吞;OTA 为**停等协议**(0xA7 WITH_BACK 每块必回 ACK),工具等不到 ACK 升级卡死
|
||||
- **修复**:新增 `lup_feed_byte_ota()` 0x9F 帧状态机(SUM 校验无 XOR);`uart2_dma_poll` 按 `g_flag_counter_ota.flag` 切换 0x9F/0x7F 解析器;`uart_srv` OTA 分支 0x9F 帧透传回 BLE + 清 flag;OTA 溢出阈值放宽 + 收帧 tick 归零
|
||||
- **验证**:gcc 隔离单测 8 断言全过;**板级 BLE OTA 全流程实测通过**(2026-08-19)
|
||||
- **已知约束**:OTA 模式无自动退出机制(`g_flag_counter_ota.flag` 置 1 后需断电重启恢复 0x7F 通信),维持现状
|
||||
|
||||
### 📦 脱机日志快照流 + hex 上报(2026-08-18 已含,协议 V1.03/V1.07)
|
||||
- TCP/MQTT `log_*` 命令支持 `stream=snapshot` 传感快照流(复用命令 + stream 字段,不新增命令码)
|
||||
- `log_query` records 改 **hex 原始字节**上报(OfflogEvt 32B→64 hex / SnapRec 64B→128 hex,2 条快照 406B < 800B 缓冲)
|
||||
- MQTT 查询命令补齐:`ssc_net_query` / `iot_net_query` / `iot_topic_query`(协议命令表全对齐)
|
||||
|
||||
---
|
||||
|
||||
## vd960DBN V1.02.01 — 2026-08-17(DBN 通信板单侧更新)
|
||||
|
||||
> 本次为 **vd960DBN 单侧发布**(Loop 固件未变,协议均未变更,可正常配套)。
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# vd_960 — DLD960 四通道车辆检测器(双 MCU 架构)
|
||||
|
||||
> 当前发布:**vd960DBN V1.02.01**(2026-08-17,DBN 单侧更新)· 完整版本见 [CHANGELOG.md](CHANGELOG.md)
|
||||
> 当前发布:**vd960DBN V1.02.03**(2026-08-19,DBN 单侧更新)· 完整版本见 [CHANGELOG.md](CHANGELOG.md)
|
||||
|
||||
## 产品概述
|
||||
|
||||
@@ -41,7 +41,7 @@ DLD960 是一款基于环形线圈检测原理的四通道车辆检测器,支
|
||||
| 子项目 | 目录 | MCU | 固件版本 | 功能 |
|
||||
|--------|------|-----|---------|------|
|
||||
| vd960Loop | `vd960Loop/` | AT32F421 | 1.0 | 线圈驱动、频率采样、车辆检测算法、0x7F 串口上报 |
|
||||
| vd960DBN | `vd960DBN/` | CH32V208 | 1.02.01 | 蓝牙管理、TCP/IP(WCHNET)、MQTT、串口桥接、4G 扩展(RFU) |
|
||||
| vd960DBN | `vd960DBN/` | CH32V208 | 1.02.03 | 蓝牙管理、TCP/IP(WCHNET)、MQTT、串口桥接、4G 扩展(RFU) |
|
||||
|
||||
> ⚠ 发布约束:自协议 V1.05 起(variation 2B无符号 → 3B有符号),**Loop 固件与 DBN 固件必须同版本配套发布**,禁止混刷。
|
||||
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#define PRODUCT_MODEL "DLD960GA"
|
||||
#define FIRMWARE_VER "1.02.01"
|
||||
#define FIRMWARE_VER "1.02.03"
|
||||
#define HARDWARE_VER "1.0"
|
||||
#define FIRMWARE_VER_MAIN 1
|
||||
#define FIRMWARE_VER_SUB 2
|
||||
#define FIRMWARE_VER_SUBSUB 1
|
||||
#define FIRMWARE_VER_SUBSUB 3
|
||||
#define HARDWARE_VER_MAIN 1
|
||||
#define HARDWARE_VER_SUB 1
|
||||
|
||||
|
||||
@@ -38,10 +38,15 @@ DMA 改造(fed4335)后通过 BLE 给地感(Loop MCU)OTA 升级失效。
|
||||
- gcc 隔离单测 `tests/test_lup_ota_parser.c`:**8 断言全过**(bootloader 真实帧向量 pre_ok/addr_ok/addr_err/data ACK、错误校验拒绝并复位、0x7F 帧隔离、两帧粘包独立解析)
|
||||
- `gcc -fsyntax-only`:`loop_uart_proto.c`/`usart_biz.c` 无新错误(仅 RISC-V interrupt attribute 假阳性 + 原有 unused warning)
|
||||
|
||||
### 版本与板级验证
|
||||
|
||||
- **固件版本 V1.02.03**(2026-08-19 用户更新 `cmcng.h` 三段式:FIRMWARE_VER="1.02.03" + MAIN=1/SUB=2/SUBSUB=3,字符串与数字宏一致)
|
||||
- ✅ **板级 BLE OTA 全流程实测通过**(用户 2026-08-19):OTA 修复生效
|
||||
- 本修复 + 8-18 快照流/hex 上报/MQTT 命令补齐 一并归入 V1.02.03 发布(README/CHANGELOG 已同步)
|
||||
|
||||
### 遗留
|
||||
|
||||
- **`g_flag_counter_ota.flag` 无退出机制**:升级完成后 DBN 仍卡 OTA 透传态,只能断电重启恢复 0x7F 通信——待定加"OTA 超时/完成帧自动退出"
|
||||
- 待板级:MRS 编译 + 真机 BLE OTA 全流程回归
|
||||
- **`g_flag_counter_ota.flag` 无退出机制**:升级完成后 DBN 仍卡 OTA 透传态,只能断电重启恢复 0x7F 通信——**用户 2026-08-19 拍板维持现状**,作为已知约束记录在 CHANGELOG
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user