-
vd960DBN V1.02.05(DBN 单侧发布) Stable
released this
2026-08-21 09:07:40 +08:00 | 23 commits to main since this releasevd960DBN V1.02.05 — 2026-08-21(DBN 通信板单侧更新)
配套版本矩阵
组件 版本 vd960DBN 固件 (CH32V208, DLD960GA) 1.02.05 vd960Loop 固件 (AT32F421) 1.0(不变) DLD960Loop 串口协议(0x7F / 0x9F OTA) V1.05(不变) DLD960 TCP JSON 协议(:5960) V1.03(不变) DLD960 IoT MQTT 协议 V1.10 DLD960 BLE 协议 V1.02(不变) 🆕 MQTT 协议 V1.10:网络上报携带地感版本(配合远程 OTA 版本核对)
dev_info_query响应 /initialize上报新增loop_ver(地感固件"主.次.次")+loop_hw_ver(地感硬件)——来自 Loop0x4A查询缓存(上电自动查一次 + OTA done 后刷新),查询未完成/失败为空串- 新增 §4.25
loop_version_query:平台实时查询 Loop 版本(0x4A 异步 → 回包loop_ver/loop_hw_ver/version_str),超时回code=5 - 固件:
loop_uart_proto新增LoopVerCache版本缓存;iot_mqtt_srv新增iot_verq_poll()异步回包 + 后台刷新(上电/OTA done) - 单测 44 断言全过(
tests/test_iot_loop_ver.c)
🔧 联网稳定性修复(2026-08-20 系列)
- SocketSend 0x11 死循环:改为 200ms 退避重试(≤10 次),不再 3 次强制断连;
SocketCreat失败置SocketId_TCP=0xFF+ 中止 Connect(不再 timeout 死循环) - OTA 下载失败:
ota_json_extract_hex()兼容json.dumps空格(单片 CRC 全错根因闭环) - OTA 刷写状态语义:成功状态回
idle(镜像保留可重刷)+ 补ota_report done/failed主动上报 - 联网复位事故:OTA 命令缓冲合并 union(RAM 90% 栈余量不足 → HardFault 复位闭环)
📋 已知约束
- UART2 0x4A 版本查询与
loop_data/事件上报共用总线(低频命令,理论无冲突)——待板上验证时序 - OTA done 后缓存刷新存在 Loop 复位时间窗(查询可能超时,可接受;平台可用
loop_version_query主动核对) - BLE→Loop OTA 透传模式无自动退出(V1.02.03 遗留,升级后需断电重启)
验证
- ✅ gcc 隔离单测:
test_iot_loop_ver.c44 例 + 既有 ota/offlog/snapshot/mqtt 单测全过 - 待板级回归:MQTT 联网长稳、
loop_version_query实际回包、OTA 全流程
Downloads
-
vd960DBN V1.02.04(DBN 单侧发布) Stable
released this
2026-08-19 15:25:48 +08:00 | 37 commits to main since this releasevd960DBN V1.02.04 — 2026-08-19(DBN 通信板单侧更新)
配套版本矩阵
组件 版本 vd960DBN 固件 (CH32V208, DLD960GA) 1.02.04 vd960Loop 固件 (AT32F421) 1.0(不变) DLD960Loop 串口协议(0x7F / 0x9F OTA) V1.05(不变) DLD960 TCP JSON 协议(:5960) V1.03(不变) DLD960 IoT MQTT 协议 V1.07(不变) DLD960 BLE 协议 V1.02(不变) 🔧 SPI Flash 存储适配修复
- 识别去厂商代码:
W25Qxx宏去0XEF前缀、SPI_Flash_ReadJEDEC_ID()删厂商校验(JEDEC 容量码跨厂商标准化)、storage_init低字节匹配——兼容其他厂家同容量型号(如 0x1A 厂商) - 恢复 factory 配置写入:解除 2026-08-13 止血(根因 8-17 已闭环:栈溢出 + printf 重入,非 SPI 硬件问题),换新空片(W25Q128)后不再每次上电进出厂初始化
- 板级验证通过(2026-08-19):W25Q128 配置读写恢复正常
文档同步:README 版本表、CHANGELOG V1.02.04、产品手册/技术规格书配套版本(保持 V1.02)、devlog V4.7
Downloads
- 识别去厂商代码:
-
vd960DBN V1.02.03(DBN 单侧发布) Stable
released this
2026-08-19 11:22:17 +08:00 | 41 commits to main since this releasevd960DBN V1.02.03 — 2026-08-19(DBN 通信板单侧更新)
配套版本矩阵
组件 版本 vd960DBN 固件 (CH32V208, DLD960GA) 1.02.03 vd960Loop 固件 (AT32F421) 1.0(不变) DLD960Loop 串口协议(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_srvOTA 分支 0x9F 帧透传回 BLE + 清 flag;OTA 溢出阈值放宽 + 收帧 tick 归零 - 验证:gcc 隔离单测 8 断言全过;板级 BLE OTA 全流程实测通过
📦 脱机日志快照流 + hex 上报(2026-08-18 已含)
- TCP/MQTT
log_*命令支持stream=snapshot传感快照流(复用命令 + stream 字段) log_queryrecords 改 hex 原始字节上报(OfflogEvt 32B→64 hex / SnapRec 64B→128 hex)- MQTT 查询命令补齐:
ssc_net_query/iot_net_query/iot_topic_query
⚠ 已知约束
- OTA 透传模式无自动退出机制:进入 OTA 态后需断电重启才恢复 0x7F 正常通信(升级完成后重启设备)
文档同步:产品手册 / 技术规格书 V1.02(配套 V1.02.03)、README 版本表与文档索引、CHANGELOG、devlog V4.4
Downloads
-
DLD960 V1.0.0 — 首个正式发布 Stable
released this
2026-07-16 10:02:44 +08:00 | 137 commits to main since this releaseDLD960 整机发布 V1.0.0(首个正式发布)
配套版本矩阵
组件 版本 vd960Loop 固件 (AT32F421) 1.0 vd960DBN 固件 (CH32V208, DLD960GA) 1.0 DLD960Loop 串口协议(MCU 间 0x7F) V1.05 DLD960 串口通信协议(RS485/TTL) V1.01 DLD960 TCP JSON 协议(:5960) V1.01 DLD960 IoT MQTT 协议 V1.05 ⚠ 自协议 V1.05 起,Loop 固件与 DBN 固件必须同版本配套刷写,禁止混跑。
vd960Loop(检测 MCU)
- 10ms tick 单路 IIR(τ≈32ms)+ 斜率限幅 5% + 进入确认 ×3
- 基线冻结超时 10s + ±2% 稳定性检查;稳定期快速收敛
- 每通道可配置 hold_time / relay_delay;有限存在超时全通道重启
- 0xC0 传感上报:variation 3B 有符号,时间量 50ms 单位
vd960DBN(通信 MCU)
- TCP JSON :5960 鉴权 + 自动重启;event_report 客户端必答
- MQTT 双主题 + initialize 上线 + loop_data 三档调度(car_state 沿立即上报)
- event_report 平台必答 + 5s×3 重发 + 16 深队列;设备时钟同步方案B
- 现场 P0 修复:mqtt_publish 缓冲溢出 RST 风暴、loop_data 陈旧快照
完整说明见 CHANGELOG.md
Downloads