feat(ota): 临时版本,添加zlib压缩支持和SPI通信优化

添加了zlib压缩功能以减少固件传输时间,特别是在弱网环境下
优化了SPI通信参数和错误处理机制

BREAKING CHANGE: 固件版本从0.3.0升级到0.3.1,增加了压缩传输协议

- 在WiFi OTA中集成zlib压缩/解压缩功能
- 添加压缩选项UI界面和前端压缩逻辑
- 修复SPI引脚配置错误(MOSI/MISO接反)
- 优化SPI通信参数设置增加CS时序控制
- 改进OTA重试机制和超时处理
- 扩展ota_relay组件栈大小从8K到12K
- 添加解压缩回调函数和上下文管理
- 更新固件版本号到0.3.1
- 添加更多调试日志和错误检查
This commit is contained in:
小龙虾
2026-05-31 19:09:11 +08:00
parent 1586a81b97
commit c4d78bdfbc
12 changed files with 559 additions and 54 deletions
+3 -3
View File
@@ -93,6 +93,8 @@ public:
static constexpr size_t GD32_UID_LEN = 12;
static constexpr size_t GD32_CHALLENGE_RESPONSE_LEN = 36;
esp_err_t requestGd32AppEnterBootloader();
ota_result_t probeBootHandshake();
ota_result_t sendHandshakeReq();
ota_result_t sendNonceAndAuthenticate();
ota_result_t sendFirmwareSize(uint32_t size);
@@ -130,8 +132,6 @@ public:
static bool aes128EcbEncrypt48Bytes(const uint8_t *key, const uint8_t *in, uint8_t *out);
static void calculateCrc32WithKey(const uint8_t *key, const uint8_t *data48, uint8_t *output);
void requestGd32AppEnterBootloader();
private:
OtaRelay() = default;
~OtaRelay() = default;
@@ -139,4 +139,4 @@ private:
OtaRelay& operator=(const OtaRelay&) = delete;
};
#endif // OTA_RELAY_H
#endif // OTA_RELAY_H