pinebuds/services/nv_section/userdata_section/nvrecord_ota.h

86 lines
2.6 KiB
C

/**
* @file nvrecord_ota.h
* @author BES AI team
* @version 0.1
* @date 2020-04-21
*
* @copyright Copyright (c) 2015-2020 BES Technic.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*/
#ifndef __NVRECORD_OTA_H__
#define __NVRECORD_OTA_H__
#ifdef __cplusplus
extern "C"{
#endif
/*****************************header include********************************/
#include "nvrecord_extension.h"
/******************************macro defination*****************************/
/******************************type defination******************************/
/****************************function declearation**************************/
/**
* @brief Initialize the nvrecord pointer.
*
*/
void nv_record_ota_init(void);
/**
* @brief Get the pointer of OTA info saved in flash.
*
* NOTE: OTA support mutiple devices(currently APP and hotword model file), so
* you need to use the device index and the pointer from this function you get
* to get the device specific OTA info.
*
* @param ptr pointer used to get the flash pointer
*/
void nv_record_ota_get_ptr(void **ptr);
/**
* @brief Update the break point for OTA progress.
*
* @param user current user
* @param deviceIndex current deivce index
* @param otaOffset break point to update
*/
void nv_record_ota_update_breakpoint(uint8_t user,
uint8_t deviceIndex,
uint32_t otaOffset);
/**
* @brief Update the OTA info.
*
* @param user current OTA user
* @param deviceIndex current device in OTA progress
* @param status OTA status(stage) to update,
* @see OTA_STAGE_E to get more details
* @param imageSize image size
* @param session OTA version string pointer
* @return true OTA info update successfully
* @return false OTA info update failed
*/
bool nv_record_ota_update_info(uint8_t user,
uint8_t deviceIndex,
uint8_t status,
uint32_t imageSize,
const char *session);
#ifdef __cplusplus
}
#endif
#endif /* #ifndef __NVRECORD_OTA_H__ */