OTA服务
更新时间:2018-03-15 20:34:06
linkkit_ota_init
定义描述
函数原型 | int linkkit_ota_init(handle_service_fota_callback_fp_t callback_fp) |
---|---|
描述 | 初始化 OTA 服务,并安装回调函数(需编译设置宏 SERVICE_OTA_ENABLED ) |
请求参数
参数 |
类型 |
必填 |
描述 |
备注 |
callback_fp |
handle_service_fota_callback_fp_t |
是 |
OTA回调函数 |
OTA 的回调函数,当 SDK 侦测到新的固件版本,则会进入此回调函数,由用户决定是否更新固件。 |
示例
static void fota_callback(service_fota_callback_type_t callback_type, const char* version)
{
sample_context_t* sample;
assert(callback_type < service_fota_callback_type_number);
sample = &g_sample_context;
/* temporarily disable thing when ota service invoked */
sample->thing_enabled = 0;
linkkit_invoke_ota_service(sample->ota_buffer, OTA_BUFFER_SIZE);
sample->thing_enabled = 1;
/* reboot the device... */
}
linkkit_ota_init(fota_callback);
返回值
值 | 详细描述 |
---|---|
0 | OTA 初始化成功 |
-1 | OTA 初始化失败 |
linkkit_invoke_ota_service
定义描述
函数原型 | int linkkit_invoke_ota_service(void* data_buf, int data_buf_length) |
---|---|
描述 | 执行 OTA 服务 |
请求参数
参数 |
类型 |
必填 |
描述 |
备注 |
data_buf |
void* |
是 |
OTA接收buffer |
此 buffer 被用于接收固件数据 |
data_buf_length |
int |
是 |
OTA 接收buffer大小 |
OTA buffer 的大小对固件的接收速率也有影响 |
示例
static void fota_callback(service_fota_callback_type_t callback_type, const char* version)
{
sample_context_t* sample;
assert(callback_type < service_fota_callback_type_number);
sample = &g_sample_context;
/* temporarily disable thing when ota service invoked */
sample->thing_enabled = 0;
linkkit_invoke_ota_service(sample->ota_buffer, OTA_BUFFER_SIZE);
sample->thing_enabled = 1;
/* reboot the device... */
}
返回值
值 | 详细描述 |
---|---|
0 | OTA 服务执行成功 |
-1 | OTA 服务执行失败 |