Commit d0becdd9b7f50bba6c4c1bca8dcfa55633a031d0
1 parent
97bb483f
--no commit message
Showing
6 changed files
with
208 additions
and
60 deletions
Project/applications/smartcities/callbacks.c
@@ -8,14 +8,23 @@ void dhcp_connect_result_cb(int result) | @@ -8,14 +8,23 @@ void dhcp_connect_result_cb(int result) | ||
8 | libwismart_GetCurrentIP(&ip,NULL,NULL); | 8 | libwismart_GetCurrentIP(&ip,NULL,NULL); |
9 | printf("IP: %d.%d.%d.%d \r\n",ip.addr[3],ip.addr[2],ip.addr[1],ip.addr[0]); | 9 | printf("IP: %d.%d.%d.%d \r\n",ip.addr[3],ip.addr[2],ip.addr[1],ip.addr[0]); |
10 | connected = 1; | 10 | connected = 1; |
11 | + retries = 0; | ||
11 | } | 12 | } |
12 | else if(result==LIBWISMART_DHCP_TIMEOUT) | 13 | else if(result==LIBWISMART_DHCP_TIMEOUT) |
13 | { | 14 | { |
14 | printf("DHCP timeout\r\n"); | 15 | printf("DHCP timeout\r\n"); |
16 | + if(++retries == MAX_RETRIES) | ||
17 | + { | ||
18 | + timeout = 1; | ||
19 | + } | ||
15 | } | 20 | } |
16 | else | 21 | else |
17 | { | 22 | { |
18 | printf("DHCP error\r\n"); | 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,7 +34,20 @@ void wifi_connect_result_cb(int result) | ||
25 | if(result==WISMART_WIFI_CONN_TIMEOUT){ | 34 | if(result==WISMART_WIFI_CONN_TIMEOUT){ |
26 | timeout=1; | 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 | void wifi_connect_ap_result_cb(int result) | 53 | void wifi_connect_ap_result_cb(int result) |
Project/applications/smartcities/configServer.c
@@ -56,9 +56,11 @@ void configServer_setClientParameters() | @@ -56,9 +56,11 @@ void configServer_setClientParameters() | ||
56 | CONFIG_SERVER_DBG("radPass : %s\r\n",arg_radPassStr); | 56 | CONFIG_SERVER_DBG("radPass : %s\r\n",arg_radPassStr); |
57 | CONFIG_SERVER_DBG("geoloc : %s\r\n",arg_geoLocalizationStr); | 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 | /* Value validation */ | 65 | /* Value validation */ |
64 | if((strlen((char*)arg_networkNameStr) > 32) || (strlen((char*)arg_networkNameStr) == 0)) | 66 | if((strlen((char*)arg_networkNameStr) > 32) || (strlen((char*)arg_networkNameStr) == 0)) |
@@ -85,8 +87,6 @@ void configServer_setClientParameters() | @@ -85,8 +87,6 @@ void configServer_setClientParameters() | ||
85 | libwismart_ProfileSet_Str("wepkey", (char*)arg_passphraseStr); | 87 | libwismart_ProfileSet_Str("wepkey", (char*)arg_passphraseStr); |
86 | libwismart_ProfileSet_Str("passphrase", (char*)arg_passphraseStr); | 88 | libwismart_ProfileSet_Str("passphrase", (char*)arg_passphraseStr); |
87 | libwismart_ProfileSet_Int("security", (uint16_t) PROFILE_SECURITY_WPA_WPA2); | 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 | else | 91 | else |
92 | { | 92 | { |
@@ -173,8 +173,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | @@ -173,8 +173,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | ||
173 | 173 | ||
174 | libwismart_ProfileGet_Int("profile_enabled", &profile_enabled); | 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 | /* Alocate space for the value */ | 179 | /* Alocate space for the value */ |
180 | value = chHeapAlloc(NULL, 100); | 180 | value = chHeapAlloc(NULL, 100); |
@@ -182,16 +182,19 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | @@ -182,16 +182,19 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | ||
182 | return WISMART_SERVER_ERR_MEM; | 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 | * Instruct server to automatically free the memory by calling the | 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,12 +214,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | ||
211 | return WISMART_SERVER_ERR_MEM; | 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 | * Instruct server to automatically free the memory by calling the | 220 | * Instruct server to automatically free the memory by calling the |
222 | * appropriate free() function when the request is replied. | 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,6 +258,65 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo | ||
259 | 258 | ||
260 | return WISMART_SERVER_ERR_OK; | 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 | /* We should never reach here */ | 322 | /* We should never reach here */ |
Project/applications/smartcities/include/callbacks.h
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | 7 | ||
8 | #define WIFI_MODE_CLIENT 1 | 8 | #define WIFI_MODE_CLIENT 1 |
9 | #define WIFI_MODE_SOFTAP 2 | 9 | #define WIFI_MODE_SOFTAP 2 |
10 | +#define MAX_RETRIES 5 | ||
10 | 11 | ||
11 | void dhcp_connect_result_cb(int result); | 12 | void dhcp_connect_result_cb(int result); |
12 | void wifi_connect_result_cb(int result); | 13 | void wifi_connect_result_cb(int result); |
@@ -19,5 +20,6 @@ void printWifiInfo(uint8_t wifiMode); | @@ -19,5 +20,6 @@ void printWifiInfo(uint8_t wifiMode); | ||
19 | 20 | ||
20 | extern uint8_t connected; | 21 | extern uint8_t connected; |
21 | extern uint8_t timeout; | 22 | extern uint8_t timeout; |
23 | +extern uint8_t retries; | ||
22 | 24 | ||
23 | #endif | 25 | #endif |
24 | \ No newline at end of file | 26 | \ No newline at end of file |
Project/applications/smartcities/include/configServer.h
@@ -24,6 +24,12 @@ void configServer_rebootTimerHandler(void *arg); | @@ -24,6 +24,12 @@ void configServer_rebootTimerHandler(void *arg); | ||
24 | int configServer_hex2bin(char *hex, char *buf, size_t hexLen); | 24 | int configServer_hex2bin(char *hex, char *buf, size_t hexLen); |
25 | uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllocType); | 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 | extern wismart_registryKey_t geo; | 33 | extern wismart_registryKey_t geo; |
28 | 34 | ||
29 | #define SECURITY_TYPE_OPEN "open" | 35 | #define SECURITY_TYPE_OPEN "open" |
Project/applications/smartcities/makefsdata/fs/en_index.html
@@ -27,9 +27,12 @@ | @@ -27,9 +27,12 @@ | ||
27 | 27 | ||
28 | <div style="margin:auto;font-size:100%;color:black;width:400px;"> | 28 | <div style="margin:auto;font-size:100%;color:black;width:400px;"> |
29 | <div style="width:400px;padding-bottom:5px;color:rgb(55,49,36);font-size:150%;">Registry Configuration:</div> | 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 | <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> | 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 | <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> | 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 | </div> | 36 | </div> |
34 | 37 | ||
35 | </div> | 38 | </div> |
Project/applications/smartcities/makefsdata/fsdata.c
@@ -915,7 +915,26 @@ static const char data_en_index_html[] = { | @@ -915,7 +915,26 @@ static const char data_en_index_html[] = { | ||
915 | 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, | 915 | 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, |
916 | 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e, | 916 | 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e, |
917 | 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b, | 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 | 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, | 938 | 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, |
920 | 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, | 939 | 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, |
921 | 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, | 940 | 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, |
@@ -925,16 +944,54 @@ static const char data_en_index_html[] = { | @@ -925,16 +944,54 @@ static const char data_en_index_html[] = { | ||
925 | 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, | 944 | 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, |
926 | 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, | 945 | 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, |
927 | 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, | 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 | 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, | 995 | 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, |
939 | 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, | 996 | 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, |
940 | 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, | 997 | 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, |
@@ -944,32 +1001,32 @@ static const char data_en_index_html[] = { | @@ -944,32 +1001,32 @@ static const char data_en_index_html[] = { | ||
944 | 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, | 1001 | 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, |
945 | 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67, | 1002 | 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67, |
946 | 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c, 0x33, 0x36, | 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 | 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, | 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 | static const char data_en_reboot_html[] = { | 1031 | static const char data_en_reboot_html[] = { |
975 | /* /en_reboot.html */ | 1032 | /* /en_reboot.html */ |