feat(ota): 统一BLE/WiFi OTA协调器接口并优化并发控制
- 添加 beginEsp32OtaWithRetry 统一重试逻辑,防止锁残留导致的并发问题 - 实现 finalizeForReboot 和 restartEsp32 统一封装收尾重启流程 - 修复BLE/WiFi双通道并发OTA的安全隐患,增强系统状态检查 refactor(ota): 优化SHA计算内存管理 - 使用静态缓冲区替代动态分配,减少内存碎片 - 重构OTA协调器状态机,增强错误处理机制 perf(monitor): 增强堆内存监控功能 - 添加最大空闲块大小监控,提供更详细的内存状态信息 - 更新健康监测算法,提高内存异常检测准确性
This commit is contained in:
@@ -180,6 +180,16 @@ public:
|
||||
* @brief 校验固件完整性(SHA-256).
|
||||
*/
|
||||
static esp_err_t metaVerifyChecksum();
|
||||
/**
|
||||
* @brief 校验前端提供的 SHA-256 是否与设备端计算的一致。
|
||||
* BLE/WiFi 传输层共用:内部完成 metaFinalizeChecksum → metaLoad → memcmp。
|
||||
* 无论是否匹配,都会通过 out_device_sha 回传设备端 SHA(便于前端核对)。
|
||||
* @param frontend_sha32 前端 32 字节原始 SHA(非 hex)。
|
||||
* @param out_device_sha 可为 nullptr;非空时输出设备端 32 字节 SHA。
|
||||
* @return ESP_OK 匹配;ESP_ERR_INVALID_CRC 不匹配;其他 = 元数据/计算失败。
|
||||
*/
|
||||
static esp_err_t verifyFrontendSha(const uint8_t frontend_sha32[32],
|
||||
uint8_t out_device_sha[32]);
|
||||
|
||||
// ── 公开状态成员 ──
|
||||
static relay_state_t relayState;
|
||||
|
||||
Reference in New Issue
Block a user