OTA服务
更新时间:2018-04-08 13:54:12
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 服务执行失败 |