Files
zTC1/TC1/ota_server/user_ota.c
2019-12-10 22:10:06 +08:00

44 lines
1.2 KiB
C

#include "http_server/web_log.h"
#define os_log(format, ...) custom_log("OTA", format, ##__VA_ARGS__); web_log(format, ##__VA_ARGS__)
#include "mico.h"
#include "ota_server/ota_server.h"
#include "main.h"
#include "user_udp.h"
#include "mqtt_server/user_mqtt_client.h"
#include "mqtt_server/user_function.h"
static void ota_server_status_handler(OTA_STATE_E state, float progress)
{
char str[64] = { 0 };
switch (state)
{
case OTA_LOADING:
os_log("ota server is loading, progress %.2f%%", progress);
if (((int) progress)%10 == 1)
sprintf(str, "{\"mac\":\"%s\",\"ota_progress\":%d}", strMac,((int) progress));
break;
case OTA_SUCCE:
os_log("ota server daemons success");
sprintf(str, "{\"mac\":\"%s\",\"ota_progress\":100}", strMac);
break;
case OTA_FAIL:
os_log("ota server daemons failed");
sprintf(str, "{\"mac\":\"%s\",\"ota_progress\":-1}", strMac);
break;
default:
break;
}
if (str[0] > 0)
{
user_send(true, str);
}
}
void user_ota_start(char *url, char *md5)
{
os_log("ready to ota:%s",url);
ota_server_start(url, md5, ota_server_status_handler);
}