Commit d0becdd9b7f50bba6c4c1bca8dcfa55633a031d0

Authored by Imanol-Mikel Barba Sabariego
1 parent 97bb483f

--no commit message

Project/applications/smartcities/callbacks.c
... ... @@ -8,14 +8,23 @@ void dhcp_connect_result_cb(int result)
8 8 libwismart_GetCurrentIP(&ip,NULL,NULL);
9 9 printf("IP: %d.%d.%d.%d \r\n",ip.addr[3],ip.addr[2],ip.addr[1],ip.addr[0]);
10 10 connected = 1;
  11 + retries = 0;
11 12 }
12 13 else if(result==LIBWISMART_DHCP_TIMEOUT)
13 14 {
14 15 printf("DHCP timeout\r\n");
  16 + if(++retries == MAX_RETRIES)
  17 + {
  18 + timeout = 1;
  19 + }
15 20 }
16 21 else
17 22 {
18 23 printf("DHCP error\r\n");
  24 + if(++retries == MAX_RETRIES)
  25 + {
  26 + timeout = 1;
  27 + }
19 28 }
20 29  
21 30 }
... ... @@ -25,7 +34,20 @@ void wifi_connect_result_cb(int result)
25 34 if(result==WISMART_WIFI_CONN_TIMEOUT){
26 35 timeout=1;
27 36 }
28   - printf("WiFi Connect indication: %s\r\n", (result == WISMART_WIFI_CONNECTED) ? "Connected": "Failed\r\n");
  37 + printf("WiFi Connect indication: ");
  38 + if(result == WISMART_WIFI_CONNECTED)
  39 + {
  40 + printf("Connected\r\n");
  41 + retries = 0;
  42 + }
  43 + else
  44 + {
  45 + printf("Failed\r\n");
  46 + if(++retries == MAX_RETRIES)
  47 + {
  48 + timeout = 1;
  49 + }
  50 + }
29 51 }
30 52  
31 53 void wifi_connect_ap_result_cb(int result)
... ...
Project/applications/smartcities/configServer.c
... ... @@ -56,9 +56,11 @@ void configServer_setClientParameters()
56 56 CONFIG_SERVER_DBG("radPass : %s\r\n",arg_radPassStr);
57 57 CONFIG_SERVER_DBG("geoloc : %s\r\n",arg_geoLocalizationStr);
58 58  
59   - char localization[32];
60   - strcpy(localization,arg_geoLocalizationStr);
61   - libwismart_RegistrySet(&geo,&localization[0]);
  59 + config_params_t config;
  60 + strcpy(config.user,arg_radUserStr);
  61 + strcpy(config.password,arg_radPassStr);
  62 + strcpy(config.localization,arg_geoLocalizationStr);
  63 + libwismart_RegistrySet(&geo,&config);
62 64  
63 65 /* Value validation */
64 66 if((strlen((char*)arg_networkNameStr) > 32) || (strlen((char*)arg_networkNameStr) == 0))
... ... @@ -85,8 +87,6 @@ void configServer_setClientParameters()
85 87 libwismart_ProfileSet_Str("wepkey", (char*)arg_passphraseStr);
86 88 libwismart_ProfileSet_Str("passphrase", (char*)arg_passphraseStr);
87 89 libwismart_ProfileSet_Int("security", (uint16_t) PROFILE_SECURITY_WPA_WPA2);
88   - libwismart_ProfileSet_Str("gateway", (char*)arg_radUserStr); //NO ME ARREPIENTO DE ESTO
89   - libwismart_ProfileSet_Str("netmask", (char*)arg_radPassStr); //NI DE ESTO
90 90 }
91 91 else
92 92 {
... ... @@ -173,8 +173,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
173 173  
174 174 libwismart_ProfileGet_Int("profile_enabled", &profile_enabled);
175 175  
176   - if(strcmp((char*)varName,"WIFI_MODE") == 0){
177   - uint16_t wifi_mode;
  176 + if(strcmp((char*)varName,"WIFI_SECURITY") == 0){
  177 + uint16_t security;
178 178  
179 179 /* Alocate space for the value */
180 180 value = chHeapAlloc(NULL, 100);
... ... @@ -182,16 +182,19 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
182 182 return WISMART_SERVER_ERR_MEM;
183 183 }
184 184  
185   - if(profile_enabled == PROFILE_ENABLED) {
186   - libwismart_ProfileGet_Int("wifi_mode", &wifi_mode);
187   - if(wifi_mode == PROFILE_WIFI_MODE_SOFTAP){
188   - strcpy((char*)value, "SoftAp");
189   - }else{
190   - strcpy((char*)value, "Client");
  185 + libwismart_ProfileGet_Int("security", &security);
  186 + if(security == PROFILE_SECURITY_OPEN)
  187 + {
  188 + strcpy(value,"Open");
  189 + }
  190 + else if(security == PROFILE_SECURITY_WPA_WPA2)
  191 + {
  192 + strcpy(value,"WPA/WPA2");
  193 + }
  194 + else
  195 + {
  196 + strcpy(value,"WEP");
191 197 }
192   - }else{
193   - strcpy((char*)value, "N/A");
194   - }
195 198  
196 199 /*
197 200 * Instruct server to automatically free the memory by calling the
... ... @@ -211,12 +214,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
211 214 return WISMART_SERVER_ERR_MEM;
212 215 }
213 216  
214   - if(profile_enabled == PROFILE_ENABLED) {
215   - libwismart_ProfileGet_Str("ssid", (char*)value);
216   - }else{
217   - strcpy((char*)value, "N/A");
218   - }
219   -
  217 + libwismart_ProfileGet_Str("ssid", (char*)value);
  218 +
220 219 /*
221 220 * Instruct server to automatically free the memory by calling the
222 221 * appropriate free() function when the request is replied.
... ... @@ -259,6 +258,65 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
259 258  
260 259 return WISMART_SERVER_ERR_OK;
261 260 }
  261 +
  262 + if(strcmp((char*)varName,"WIFI_RADUSER") == 0){
  263 + /* Alocate space for the value */
  264 + value = chHeapAlloc(NULL, 100);
  265 + if(value == NULL){
  266 + return WISMART_SERVER_ERR_MEM;
  267 + }
  268 +
  269 + libwismart_ProfileGet_Str("gateway", (char*)value);
  270 +
  271 + /*
  272 + * Instruct server to automatically free the memory by calling the
  273 + * appropriate free() function when the request is replied.
  274 + */
  275 + *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
  276 + (*varValue) = value;
  277 +
  278 + return WISMART_SERVER_ERR_OK;
  279 + }
  280 +
  281 + if(strcmp((char*)varName,"WIFI_RADPASS") == 0){
  282 + /* Alocate space for the value */
  283 + value = chHeapAlloc(NULL, 100);
  284 + if(value == NULL){
  285 + return WISMART_SERVER_ERR_MEM;
  286 + }
  287 +
  288 + libwismart_ProfileGet_Str("netmask", (char*)value);
  289 +
  290 + /*
  291 + * Instruct server to automatically free the memory by calling the
  292 + * appropriate free() function when the request is replied.
  293 + */
  294 + *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
  295 + (*varValue) = value;
  296 +
  297 + return WISMART_SERVER_ERR_OK;
  298 + }
  299 +
  300 + if(strcmp((char*)varName,"WIFI_GEOLOC") == 0){
  301 + /* Alocate space for the value */
  302 + value = chHeapAlloc(NULL, 100);
  303 + char geoloc[32];
  304 + if(value == NULL){
  305 + return WISMART_SERVER_ERR_MEM;
  306 + }
  307 +
  308 + libwismart_RegistryGet(&geo,&geoloc);
  309 + strcpy(value,geoloc);
  310 +
  311 + /*
  312 + * Instruct server to automatically free the memory by calling the
  313 + * appropriate free() function when the request is replied.
  314 + */
  315 + *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
  316 + (*varValue) = value;
  317 +
  318 + return WISMART_SERVER_ERR_OK;
  319 + }
262 320  
263 321  
264 322 /* We should never reach here */
... ...
Project/applications/smartcities/include/callbacks.h
... ... @@ -7,6 +7,7 @@
7 7  
8 8 #define WIFI_MODE_CLIENT 1
9 9 #define WIFI_MODE_SOFTAP 2
  10 +#define MAX_RETRIES 5
10 11  
11 12 void dhcp_connect_result_cb(int result);
12 13 void wifi_connect_result_cb(int result);
... ... @@ -19,5 +20,6 @@ void printWifiInfo(uint8_t wifiMode);
19 20  
20 21 extern uint8_t connected;
21 22 extern uint8_t timeout;
  23 +extern uint8_t retries;
22 24  
23 25 #endif
24 26 \ No newline at end of file
... ...
Project/applications/smartcities/include/configServer.h
... ... @@ -24,6 +24,12 @@ void configServer_rebootTimerHandler(void *arg);
24 24 int configServer_hex2bin(char *hex, char *buf, size_t hexLen);
25 25 uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllocType);
26 26  
  27 +typedef struct {
  28 + char user[64];
  29 + char password[64];
  30 + char localization[32];
  31 +} config_params_t;
  32 +
27 33 extern wismart_registryKey_t geo;
28 34  
29 35 #define SECURITY_TYPE_OPEN "open"
... ...
Project/applications/smartcities/makefsdata/fs/en_index.html
... ... @@ -27,9 +27,12 @@
27 27  
28 28 <div style="margin:auto;font-size:100%;color:black;width:400px;">
29 29 <div style="width:400px;padding-bottom:5px;color:rgb(55,49,36);font-size:150%;">Registry Configuration:</div>
30   - <div style="width:150px;float:left;color:rgb(55,49,36);">Mode:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_MODE]</div><div style="clear:both;"></div>
  30 + <div style="width:150px;float:left;color:rgb(55,49,36);">Mode:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_SECURITY]</div><div style="clear:both;"></div>
31 31 <div style="width:150px;float:left;color:rgb(55,49,36);">Network Name:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_SSID]</div><div style="clear:both;"></div>
32 32 <div style="width:150px;float:left;color:rgb(55,49,36);">Passphrase:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_PASSPHRASE]</div><div style="clear:both;"></div>
  33 + <div style="width:150px;float:left;color:rgb(55,49,36);">RADIUS User:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_RADUSER]</div><div style="clear:both;"></div>
  34 + <div style="width:150px;float:left;color:rgb(55,49,36);">RADIUS Pass:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_RADPASS]</div><div style="clear:both;"></div>
  35 + <div style="width:150px;float:left;color:rgb(55,49,36);">Coordinates:</div><div style="width:250px;float:left;color:black;">$_DYNAMIC[WIFI_GEOLOC]</div><div style="clear:both;"></div>
33 36 </div>
34 37  
35 38 </div>
... ...
Project/applications/smartcities/makefsdata/fsdata.c
... ... @@ -915,7 +915,26 @@ static const char data_en_index_html[] = {
915 915 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
916 916 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
917 917 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
918   - 0x57, 0x49, 0x46, 0x49, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5d,
  918 + 0x57, 0x49, 0x46, 0x49, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52,
  919 + 0x49, 0x54, 0x59, 0x5d, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,
  920 + 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65,
  921 + 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f,
  922 + 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76,
  923 + 0x3e, 0xd, 0xa, 0x9, 0x9, 0x3c, 0x64, 0x69, 0x76, 0x20,
  924 + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64,
  925 + 0x74, 0x68, 0x3a, 0x31, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66,
  926 + 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b,
  927 + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28,
  928 + 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b,
  929 + 0x22, 0x3e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20,
  930 + 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76,
  931 + 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
  932 + 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32,
  933 + 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
  934 + 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
  935 + 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
  936 + 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
  937 + 0x57, 0x49, 0x46, 0x49, 0x5f, 0x53, 0x53, 0x49, 0x44, 0x5d,
919 938 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
920 939 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c,
921 940 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22,
... ... @@ -925,16 +944,54 @@ static const char data_en_index_html[] = {
925 944 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
926 945 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
927 946 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34,
928   - 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x4e, 0x65,
929   - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x4e, 0x61, 0x6d, 0x65,
930   - 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69,
931   - 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77,
932   - 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78,
933   - 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66,
934   - 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c,
935   - 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59,
936   - 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49,
937   - 0x5f, 0x53, 0x53, 0x49, 0x44, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
  947 + 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x50, 0x61,
  948 + 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x3a, 0x3c,
  949 + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20,
  950 + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64,
  951 + 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66,
  952 + 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b,
  953 + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63,
  954 + 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41,
  955 + 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x50,
  956 + 0x41, 0x53, 0x53, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x5d,
  957 + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
  958 + 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c,
  959 + 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22,
  960 + 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9,
  961 + 0x9, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
  962 + 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31,
  963 + 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
  964 + 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
  965 + 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34,
  966 + 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x52, 0x41,
  967 + 0x44, 0x49, 0x55, 0x53, 0x20, 0x55, 0x73, 0x65, 0x72, 0x3a,
  968 + 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
  969 + 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69,
  970 + 0x64, 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b,
  971 + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74,
  972 + 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61,
  973 + 0x63, 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e,
  974 + 0x41, 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f,
  975 + 0x52, 0x41, 0x44, 0x55, 0x53, 0x45, 0x52, 0x5d, 0x3c, 0x2f,
  976 + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73,
  977 + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61,
  978 + 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c,
  979 + 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9, 0x9, 0x3c,
  980 + 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
  981 + 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x35, 0x30,
  982 + 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c,
  983 + 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a,
  984 + 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c,
  985 + 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x52, 0x41, 0x44, 0x49,
  986 + 0x55, 0x53, 0x20, 0x50, 0x61, 0x73, 0x73, 0x3a, 0x3c, 0x2f,
  987 + 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73,
  988 + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74,
  989 + 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c,
  990 + 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63,
  991 + 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b,
  992 + 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d,
  993 + 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x52, 0x41,
  994 + 0x44, 0x50, 0x41, 0x53, 0x53, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
938 995 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79,
939 996 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a,
940 997 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64,
... ... @@ -944,32 +1001,32 @@ static const char data_en_index_html[] = {
944 1001 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66,
945 1002 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67,
946 1003 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c, 0x33, 0x36,
947   - 0x29, 0x3b, 0x22, 0x3e, 0x50, 0x61, 0x73, 0x73, 0x70, 0x68,
948   - 0x72, 0x61, 0x73, 0x65, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76,
949   - 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
950   - 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32,
951   - 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
952   - 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
953   - 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
954   - 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
955   - 0x57, 0x49, 0x46, 0x49, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x50,
956   - 0x48, 0x52, 0x41, 0x53, 0x45, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
  1004 + 0x29, 0x3b, 0x22, 0x3e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69,
  1005 + 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x3c, 0x2f, 0x64, 0x69,
957 1006 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79,
958   - 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a,
959   - 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64,
960   - 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9, 0x3c, 0x2f, 0x64, 0x69,
961   - 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69,
962   - 0x76, 0x3e, 0xd, 0xa, 0x9, 0xd, 0xa, 0x3c, 0x64, 0x69,
963   - 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74,
964   - 0x65, 0x72, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76,
965   - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65,
966   - 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x22, 0x3e, 0x43, 0x6f, 0x70,
967   - 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x26, 0x63, 0x6f, 0x70,
968   - 0x79, 0x3b, 0x32, 0x30, 0x31, 0x33, 0x3c, 0x2f, 0x64, 0x69,
969   - 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69,
970   - 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f,
971   - 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x68,
972   - 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, 0xd, 0xa, };
  1007 + 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a,
  1008 + 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61,
  1009 + 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c,
  1010 + 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22,
  1011 + 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43,
  1012 + 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x47, 0x45, 0x4f, 0x4c,
  1013 + 0x4f, 0x43, 0x5d, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c,
  1014 + 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
  1015 + 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74,
  1016 + 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,
  1017 + 0xd, 0xa, 0x9, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
  1018 + 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
  1019 + 0xa, 0x9, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69,
  1020 + 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22,
  1021 + 0x3e, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c,
  1022 + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65, 0x64, 0x46, 0x6f,
  1023 + 0x6e, 0x74, 0x22, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69,
  1024 + 0x67, 0x68, 0x74, 0x26, 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x32,
  1025 + 0x30, 0x31, 0x33, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
  1026 + 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
  1027 + 0xa, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64,
  1028 + 0x79, 0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
  1029 + 0x3e, 0xd, 0xa, 0xd, 0xa, };
973 1030  
974 1031 static const char data_en_reboot_html[] = {
975 1032 /* /en_reboot.html */
... ...