网关
查找读写指针
上电时,读写指针从4096个页面的头开始找
读指针找到A5并且时间戳最小的那一个
写指针找A5并且时间戳最大的那一个的下一个,必定是FF/00
这样子可以解决3种情况:
1.read从0开始读取,write向后面写
2.中间网络恢复了,read向后了几页,write仍然向后写
3.离线缓存超过了4096条消息,发生了回绕,write指针在前面,read在后面
2026-08-06 20:59:15.708] Flash Init Done: read_idx=0 write_idx=19 valid_count=19
[2026-08-06 20:59:15.730] [offline] stored=1 pending=19
[2026-08-06 20:59:15.788] initializing WiFi...
[2026-08-06 20:59:16.398] connecting AP...
[2026-08-06 20:59:20.530] IP: 10.214.108.141
[2026-08-06 20:59:20.735] [stat] cached=1 sent=0 pending=20
[2026-08-06 20:59:20.749] [offline] stored=2 pending=20
[2026-08-06 20:59:25.767] [stat] cached=2 sent=0 pending=21
[2026-08-06 20:59:25.780] [offline] stored=3 pending=21
[2026-08-06 20:59:30.015] Connecting to MQTT Broker...
[2026-08-06 20:59:30.389] TCP Connected, Entered Transparent Mode.
[2026-08-06 20:59:30.997] MQTT Connected!
[2026-08-06 20:59:31.002] MQTT Subscribe Sent.
[2026-08-06 20:59:31.006] [backlog] read len=26 pending=22
[2026-08-06 20:59:31.015] [backlog] sent ok, pending=22
[2026-08-06 20:59:31.028] MQTT Pub AP3216C OK
[2026-08-06 20:59:31.041] [stat] cached=3 sent=1 pending=22
[2026-08-06 20:59:31.088] [backlog] read len=26 pending=21
[2026-08-06 20:59:31.098] [backlog] sent ok, pending=21
[2026-08-06 20:59:31.161] [backlog] read len=26 pending=20
[2026-08-06 20:59:31.170] [backlog] sent ok, pending=20
[2026-08-06 20:59:31.222] MQTT Subscribe ACK Received.
[2026-08-06 20:59:31.235] [backlog] read len=26 pending=19
[2026-08-06 20:59:31.244] [backlog] sent ok, pending=19
[2026-08-06 20:59:31.307] [backlog] read len=26 pending=18
[2026-08-06 20:59:31.316] [backlog] sent ok, pending=18
[2026-08-06 20:59:31.636] Bootloader Start
[2026-08-06 20:59:31.927] no no no
[2026-08-06 20:59:31.936] start now

