summaryrefslogtreecommitdiffstats
path: root/polycom_xmit/upgrade.c
blob: 2bf0c998cafc8fc29f545cf279bb683f417c253a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "project.h"


#define pheadbuffer "Connection: keep-alive\r\n\
Cache-Control: no-cache\r\n\
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36 \r\n\
Accept: */*\r\n\
\r\n\r\n"


static void ICACHE_FLASH_ATTR
upgrade_check_cb (void *arg)
{
  struct upgrade_server_info *server = arg;

  if (server->upgrade_flag == true)
    {
      os_printf ("upgrade finished sucesfully\n");
    }
  else
    {
      os_printf ("upgrade finished un-sucessfully\n");
    }

  os_free (server->url);
  server->url = NULL;
  os_free (server);
  server = NULL;
}


void ICACHE_FLASH_ATTR
upgrade (void)
{
  struct upgrade_server_info *server = NULL;
  char user_bin[10];

  server = (struct upgrade_server_info *) os_zalloc (sizeof (*server));

  if (!server)
    return;


  server->ip[0] = 82;
  server->ip[1] = 68;
  server->ip[2] = 70;
  server->ip[3] = 173;

  server->port = 80;

  server->check_cb = upgrade_check_cb;
  server->check_times = 120000;

  server->url = (uint8 *) os_zalloc (512);

  if (system_upgrade_userbin_check () == UPGRADE_FW_BIN1)
    {
      os_strcpy (user_bin, "user2.bin");
    }
  else if (system_upgrade_userbin_check () == UPGRADE_FW_BIN2)
    {
      os_strcpy (user_bin, "user1.bin");
    }


  os_sprintf (server->url,
              "GET /esp8266/%s HTTP/1.1\r\nHost: " IPSTR ":%d\r\n" pheadbuffer
              "", user_bin, IP2STR (server->ip), server->port);


#if 0
  if (system_upgrade_start_ssl (server) == false)
#else
  if (system_upgrade_start (server) == false)
#endif
    {
      os_printf ("Upgrade start failed\n");
    }
  else
    {
      os_printf ("Upgrade start ok\n");
    }
}