feat(vd960DBN): 传感快照区落地 snapshot.c + BLE SNAP_STAT/QUERY/CLEAR
- snapshot.h/c: 64B 定长 SnapRec (头部16B + 4x12B 0xC0线圈数据原样) 环形分区独立于事件日志, 快照区 = 总容量 - 固定区576KB - 事件区 - 线程模型: USART2 ISR 只打包+RAM暂存(8深满丢新), 主循环 snap_flush 落盘 (iot_sensor_ingest 在中断上下文, SPI 45ms 擦除严禁进中断) - dbn_ble_srv: SNAP_STAT(0x28)/SNAP_QUERY(0x29)/SNAP_CLEAR(0x2A) QUERY 上限 2 条 (64x2+2=130B, ODR 教训防御) - iot_mqtt_srv: ingest 挂 snap_enqueue, publish_sensor 挂 snap_flush (放在 READY 检查前, 断网照常落盘) - peripheral_main: offlog_init 后加 snap_init - 清空审计: 写事件流 log_clear payload[0]=2 - 测试: test_snapshot.c 8 例全过, offlog/ble_offlog 回归全过 - 文档: DLD960_BLE协议 V1.02 + ROADMAP P1.2 状态 + devlog
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "net_srv.h"
|
||||
#include "storage.h"
|
||||
#include "offlog.h"
|
||||
#include "snapshot.h"
|
||||
#include "tcp_json_srv.h"
|
||||
#include "loop_uart_proto.h"
|
||||
#include "iot_mqtt_srv.h"
|
||||
@@ -304,6 +305,7 @@ int main(void)
|
||||
GetMacAddr(gMacAddr);
|
||||
storage_init();
|
||||
offlog_init();
|
||||
snap_init();
|
||||
|
||||
/* 复位原因: 必须在初始化后立即读 (离复位时刻最近), 并清除标志,
|
||||
保证下次上电只反映本次复位原因 (RCC_RSTSCKR, STM32F1/CH32V20x 兼容) */
|
||||
|
||||
Reference in New Issue
Block a user