feat(motor-ota): 改进电机OTA中继的握手确认和重试机制
- 添加握手确认逻辑,避免在握手阶段就标记TRANSFER状态 - 实现GD32 auto-retry检测机制,当连续WAIT超限时查询真实状态 - 修复预填充缓冲区数据重复问题,移除旧的offset重置逻辑 - 优化SPI响应等待机制,允许在WAIT后重发DATA以恢复丢失的ACK - 添加连续SPI失败和WAIT计数监控,超过阈值时主动查询GD32状态 perf(can): 提升CAN批量发送性能和可靠性 - 将CAN帧间延迟从5ms减少到1ms以提升传输速度 - 将单批最大帧数从32增加到64,并将批次间隔从200ms减少到100ms - 添加手动超时控制器防止fetch请求永久挂起 - 实现批量发送完成后的兜底渲染机制确保结果正确显示 refactor(spi): 优化SPI通信的事件驱动机制 - 实现基于信号量的事件驱动等待机制,替换原有的轮询方式 - 将SPI时钟频率从4MHz提升至8MHz以提高传输速度 - 优化OTA发送后的静默期处理,不同类型的命令采用不同的延迟策略 - 添加临时SPI测速端点用于性能测试 chore(version): 更新固件版本至0.3.74 - 版本号从0.3.72提升到0.3.74 - 更新前端资源版本号以确保缓存刷新
This commit is contained in:
+4
-2
@@ -12,8 +12,10 @@ CONFIG_DCU_OTA_FINISH_TIMEOUT_MS=10000
|
||||
# 不要再开 QIO,除非确认 flash 型号与硬件连接均兼容。
|
||||
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
|
||||
|
||||
# DCU SPI clock -- 4 MHz(GD32 SPI0 RX DMA 武装后可安全提速;8/12MHz 须零错误验证后再开)
|
||||
CONFIG_DCU_SPI_CLOCK_HZ=4000000
|
||||
# DCU SPI clock -- 8 MHz(2026-07-31 提速:事件驱动握手后时钟占周期 ~78%,
|
||||
# 8MHz 实测测速页/relay/PING 零错误后启用;半周期 62.5ns,GD32 从机 MISO
|
||||
# 输出延迟 + ESP32 GPIO 矩阵输入延迟 ~45ns 仍有余量;≥16MHz 全双工不可行)
|
||||
CONFIG_DCU_SPI_CLOCK_HZ=8000000
|
||||
|
||||
# GD32 OTA 包间节奏:不用固定 PACKET_INTERVAL;依赖 SpiMaster CREDIT 背压
|
||||
# (flash 槽满时 CREDIT=0,等 CREDIT_UPDATE / 帧头 credit 恢复后再发)
|
||||
|
||||
Reference in New Issue
Block a user