45690f61340851b55c6da85aba364c6176093eaa
此前isrProcessFrame()无条件将当前s_txBuf缓存到s_lastRespBuf, 导致OTA数据包在ISR入队时立即返回的WAIT被写入重发缓存,覆盖 了sender()内只缓存ACK的语义。当ESP32超时重发时,DUP-SEQ分支 回放的仍是过期WAIT,造成50ms等待→重发链被拉长的问题。 现在按v2头TYPE字节过滤,只将ACK/ERROR放入重发缓存,WAIT由 sender()途径主循环写ACK时再统一更新缓存。 feat(main): 添加ESP32_EN引脚初始化和调试信息输出 添加PC9引脚初始化代码,确保BOOT阶段ESP32能正常启动。 同时增加调试打印信息,便于检查ESP32_EN状态和D3V3电源域 就绪情况。 perf(boot): 优化主循环节拍控制策略 回滚之前"有工作时不休眠"的尝试,恢复为固定1ms节拍。 因为条件化延迟会让ESP32在armSpiDmasForNextCs()的 spi_dma_disable/enable窗口中抓取CS,读到错帧导致通信异常。 fix(OTA): 恢复20us超时步进以保证SPI通信稳定性 回滚之前"本轮干活就不delay"的尝试,恢复为统一20us步进。 因为实测发现条件化延迟会让ESP32在DMA开关窗口中抓取CS, 导致READ错帧和saw_wait=0问题。 chore(config): 更新固件版本号至v1.1.0.5 feat(UART): 将调试串口波特率提升至3Mbps 提升Bootloader系统的调试串口通信速率,从11520提升至 3000000,加快日志输出和调试效率。
Description
No description provided
1.2 MiB
Languages
C
81.2%
C++
17.3%
Assembly
1.5%