/** * @file ota_manager.h * @brief 应用程序侧 OTA 管理接口。 * * 应用程序负责通过 JDY-28M 接收 OTA 分包、校验业务帧并写入 W25Q64。 * 下载完成后,应用程序只设置升级请求标志并复位;真正擦写片内程序 * Flash 的工作由独立 Bootloader 完成。 */ #ifndef OTA_MANAGER_H #define OTA_MANAGER_H #include /** 初始化 OTA 状态机和外部 Flash 接口。 */ void OtaManager_Init(void); /** 周期性处理 OTA 状态机,不得长时间阻塞主循环。 */ void OtaManager_Task(void); /** 处理一条已经通过 Mesh 外层解析的 OTA 业务命令。 */ uint8_t OtaManager_HandleCommand(uint8_t command, const uint8_t *data, uint8_t length, uint16_t response_target); /** 返回当前是否处于 OTA 下载模式。 */ uint8_t OtaManager_IsActive(void); uint8_t OtaManager_GetExpectedOffset(uint16_t *offset); /** * 读取Bootloader写入的升级结果并准备由主程序主动上报。 * @return 0表示没有待上报结果,非0表示升级结果码。 */ /** 主机确认升级结果后清除待上报状态。 */ void OtaManager_AcknowledgeBootloaderResult(void); #endif