diff --git a/Project/applications/smartcities/callbacks.c b/Project/applications/smartcities/callbacks.c
index 70bb0c5..3891d2e 100644
--- a/Project/applications/smartcities/callbacks.c
+++ b/Project/applications/smartcities/callbacks.c
@@ -8,14 +8,23 @@ void dhcp_connect_result_cb(int result)
libwismart_GetCurrentIP(&ip,NULL,NULL);
printf("IP: %d.%d.%d.%d \r\n",ip.addr[3],ip.addr[2],ip.addr[1],ip.addr[0]);
connected = 1;
+ retries = 0;
}
else if(result==LIBWISMART_DHCP_TIMEOUT)
{
printf("DHCP timeout\r\n");
+ if(++retries == MAX_RETRIES)
+ {
+ timeout = 1;
+ }
}
else
{
printf("DHCP error\r\n");
+ if(++retries == MAX_RETRIES)
+ {
+ timeout = 1;
+ }
}
}
@@ -25,7 +34,20 @@ void wifi_connect_result_cb(int result)
if(result==WISMART_WIFI_CONN_TIMEOUT){
timeout=1;
}
- printf("WiFi Connect indication: %s\r\n", (result == WISMART_WIFI_CONNECTED) ? "Connected": "Failed\r\n");
+ printf("WiFi Connect indication: ");
+ if(result == WISMART_WIFI_CONNECTED)
+ {
+ printf("Connected\r\n");
+ retries = 0;
+ }
+ else
+ {
+ printf("Failed\r\n");
+ if(++retries == MAX_RETRIES)
+ {
+ timeout = 1;
+ }
+ }
}
void wifi_connect_ap_result_cb(int result)
diff --git a/Project/applications/smartcities/configServer.c b/Project/applications/smartcities/configServer.c
index 6204c6e..4008864 100644
--- a/Project/applications/smartcities/configServer.c
+++ b/Project/applications/smartcities/configServer.c
@@ -56,9 +56,11 @@ void configServer_setClientParameters()
CONFIG_SERVER_DBG("radPass : %s\r\n",arg_radPassStr);
CONFIG_SERVER_DBG("geoloc : %s\r\n",arg_geoLocalizationStr);
- char localization[32];
- strcpy(localization,arg_geoLocalizationStr);
- libwismart_RegistrySet(&geo,&localization[0]);
+ config_params_t config;
+ strcpy(config.user,arg_radUserStr);
+ strcpy(config.password,arg_radPassStr);
+ strcpy(config.localization,arg_geoLocalizationStr);
+ libwismart_RegistrySet(&geo,&config);
/* Value validation */
if((strlen((char*)arg_networkNameStr) > 32) || (strlen((char*)arg_networkNameStr) == 0))
@@ -85,8 +87,6 @@ void configServer_setClientParameters()
libwismart_ProfileSet_Str("wepkey", (char*)arg_passphraseStr);
libwismart_ProfileSet_Str("passphrase", (char*)arg_passphraseStr);
libwismart_ProfileSet_Int("security", (uint16_t) PROFILE_SECURITY_WPA_WPA2);
- libwismart_ProfileSet_Str("gateway", (char*)arg_radUserStr); //NO ME ARREPIENTO DE ESTO
- libwismart_ProfileSet_Str("netmask", (char*)arg_radPassStr); //NI DE ESTO
}
else
{
@@ -173,8 +173,8 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
libwismart_ProfileGet_Int("profile_enabled", &profile_enabled);
- if(strcmp((char*)varName,"WIFI_MODE") == 0){
- uint16_t wifi_mode;
+ if(strcmp((char*)varName,"WIFI_SECURITY") == 0){
+ uint16_t security;
/* Alocate space for the value */
value = chHeapAlloc(NULL, 100);
@@ -182,16 +182,19 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
return WISMART_SERVER_ERR_MEM;
}
- if(profile_enabled == PROFILE_ENABLED) {
- libwismart_ProfileGet_Int("wifi_mode", &wifi_mode);
- if(wifi_mode == PROFILE_WIFI_MODE_SOFTAP){
- strcpy((char*)value, "SoftAp");
- }else{
- strcpy((char*)value, "Client");
+ libwismart_ProfileGet_Int("security", &security);
+ if(security == PROFILE_SECURITY_OPEN)
+ {
+ strcpy(value,"Open");
+ }
+ else if(security == PROFILE_SECURITY_WPA_WPA2)
+ {
+ strcpy(value,"WPA/WPA2");
+ }
+ else
+ {
+ strcpy(value,"WEP");
}
- }else{
- strcpy((char*)value, "N/A");
- }
/*
* 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
return WISMART_SERVER_ERR_MEM;
}
- if(profile_enabled == PROFILE_ENABLED) {
- libwismart_ProfileGet_Str("ssid", (char*)value);
- }else{
- strcpy((char*)value, "N/A");
- }
-
+ libwismart_ProfileGet_Str("ssid", (char*)value);
+
/*
* Instruct server to automatically free the memory by calling the
* appropriate free() function when the request is replied.
@@ -259,6 +258,65 @@ uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllo
return WISMART_SERVER_ERR_OK;
}
+
+ if(strcmp((char*)varName,"WIFI_RADUSER") == 0){
+ /* Alocate space for the value */
+ value = chHeapAlloc(NULL, 100);
+ if(value == NULL){
+ return WISMART_SERVER_ERR_MEM;
+ }
+
+ libwismart_ProfileGet_Str("gateway", (char*)value);
+
+ /*
+ * Instruct server to automatically free the memory by calling the
+ * appropriate free() function when the request is replied.
+ */
+ *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
+ (*varValue) = value;
+
+ return WISMART_SERVER_ERR_OK;
+ }
+
+ if(strcmp((char*)varName,"WIFI_RADPASS") == 0){
+ /* Alocate space for the value */
+ value = chHeapAlloc(NULL, 100);
+ if(value == NULL){
+ return WISMART_SERVER_ERR_MEM;
+ }
+
+ libwismart_ProfileGet_Str("netmask", (char*)value);
+
+ /*
+ * Instruct server to automatically free the memory by calling the
+ * appropriate free() function when the request is replied.
+ */
+ *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
+ (*varValue) = value;
+
+ return WISMART_SERVER_ERR_OK;
+ }
+
+ if(strcmp((char*)varName,"WIFI_GEOLOC") == 0){
+ /* Alocate space for the value */
+ value = chHeapAlloc(NULL, 100);
+ char geoloc[32];
+ if(value == NULL){
+ return WISMART_SERVER_ERR_MEM;
+ }
+
+ libwismart_RegistryGet(&geo,&geoloc);
+ strcpy(value,geoloc);
+
+ /*
+ * Instruct server to automatically free the memory by calling the
+ * appropriate free() function when the request is replied.
+ */
+ *varAllocType = WISMART_SERVER_ALLOC_DYNAMIC;
+ (*varValue) = value;
+
+ return WISMART_SERVER_ERR_OK;
+ }
/* We should never reach here */
diff --git a/Project/applications/smartcities/include/callbacks.h b/Project/applications/smartcities/include/callbacks.h
index 71923ac..1bb2ecb 100644
--- a/Project/applications/smartcities/include/callbacks.h
+++ b/Project/applications/smartcities/include/callbacks.h
@@ -7,6 +7,7 @@
#define WIFI_MODE_CLIENT 1
#define WIFI_MODE_SOFTAP 2
+#define MAX_RETRIES 5
void dhcp_connect_result_cb(int result);
void wifi_connect_result_cb(int result);
@@ -19,5 +20,6 @@ void printWifiInfo(uint8_t wifiMode);
extern uint8_t connected;
extern uint8_t timeout;
+extern uint8_t retries;
#endif
\ No newline at end of file
diff --git a/Project/applications/smartcities/include/configServer.h b/Project/applications/smartcities/include/configServer.h
index a7b3dad..433bcc2 100644
--- a/Project/applications/smartcities/include/configServer.h
+++ b/Project/applications/smartcities/include/configServer.h
@@ -24,6 +24,12 @@ void configServer_rebootTimerHandler(void *arg);
int configServer_hex2bin(char *hex, char *buf, size_t hexLen);
uint32_t configServer_dynamicCb(char* varName, char** varValue, uint8_t* varAllocType);
+typedef struct {
+ char user[64];
+ char password[64];
+ char localization[32];
+} config_params_t;
+
extern wismart_registryKey_t geo;
#define SECURITY_TYPE_OPEN "open"
diff --git a/Project/applications/smartcities/makefsdata/fs/en_index.html b/Project/applications/smartcities/makefsdata/fs/en_index.html
index eebeedb..9da3f27 100644
--- a/Project/applications/smartcities/makefsdata/fs/en_index.html
+++ b/Project/applications/smartcities/makefsdata/fs/en_index.html
@@ -27,9 +27,12 @@
Registry Configuration:
-
Mode:
$_DYNAMIC[WIFI_MODE]
+
Mode:
$_DYNAMIC[WIFI_SECURITY]
Network Name:
$_DYNAMIC[WIFI_SSID]
Passphrase:
$_DYNAMIC[WIFI_PASSPHRASE]
+
RADIUS User:
$_DYNAMIC[WIFI_RADUSER]
+
RADIUS Pass:
$_DYNAMIC[WIFI_RADPASS]
+
Coordinates:
$_DYNAMIC[WIFI_GEOLOC]
diff --git a/Project/applications/smartcities/makefsdata/fsdata.c b/Project/applications/smartcities/makefsdata/fsdata.c
index a59c287..ab32ffe 100644
--- a/Project/applications/smartcities/makefsdata/fsdata.c
+++ b/Project/applications/smartcities/makefsdata/fsdata.c
@@ -915,7 +915,26 @@ static const char data_en_index_html[] = {
0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
- 0x57, 0x49, 0x46, 0x49, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5d,
+ 0x57, 0x49, 0x46, 0x49, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52,
+ 0x49, 0x54, 0x59, 0x5d, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,
+ 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65,
+ 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f,
+ 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76,
+ 0x3e, 0xd, 0xa, 0x9, 0x9, 0x3c, 0x64, 0x69, 0x76, 0x20,
+ 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64,
+ 0x74, 0x68, 0x3a, 0x31, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b,
+ 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28,
+ 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b,
+ 0x22, 0x3e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20,
+ 0x4e, 0x61, 0x6d, 0x65, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76,
+ 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
+ 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32,
+ 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
+ 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
+ 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
+ 0x57, 0x49, 0x46, 0x49, 0x5f, 0x53, 0x53, 0x49, 0x44, 0x5d,
0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c,
0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22,
@@ -925,16 +944,54 @@ static const char data_en_index_html[] = {
0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
0x72, 0x3a, 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34,
- 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x4e, 0x65,
- 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x4e, 0x61, 0x6d, 0x65,
- 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69,
- 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77,
- 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78,
- 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66,
- 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c,
- 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59,
- 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49,
- 0x5f, 0x53, 0x53, 0x49, 0x44, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
+ 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x50, 0x61,
+ 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x3a, 0x3c,
+ 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20,
+ 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64,
+ 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66,
+ 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b,
+ 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63,
+ 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41,
+ 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x50,
+ 0x41, 0x53, 0x53, 0x50, 0x48, 0x52, 0x41, 0x53, 0x45, 0x5d,
+ 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
+ 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c,
+ 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22,
+ 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9,
+ 0x9, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
+ 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31,
+ 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
+ 0x72, 0x3a, 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34,
+ 0x39, 0x2c, 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x52, 0x41,
+ 0x44, 0x49, 0x55, 0x53, 0x20, 0x55, 0x73, 0x65, 0x72, 0x3a,
+ 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76,
+ 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69,
+ 0x64, 0x74, 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74,
+ 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61,
+ 0x63, 0x6b, 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e,
+ 0x41, 0x4d, 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f,
+ 0x52, 0x41, 0x44, 0x55, 0x53, 0x45, 0x52, 0x5d, 0x3c, 0x2f,
+ 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73,
+ 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61,
+ 0x72, 0x3a, 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c,
+ 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9, 0x9, 0x3c,
+ 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
+ 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x35, 0x30,
+ 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c,
+ 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a,
+ 0x72, 0x67, 0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c,
+ 0x33, 0x36, 0x29, 0x3b, 0x22, 0x3e, 0x52, 0x41, 0x44, 0x49,
+ 0x55, 0x53, 0x20, 0x50, 0x61, 0x73, 0x73, 0x3a, 0x3c, 0x2f,
+ 0x64, 0x69, 0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73,
+ 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74,
+ 0x68, 0x3a, 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c,
+ 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63,
+ 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b,
+ 0x3b, 0x22, 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d,
+ 0x49, 0x43, 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x52, 0x41,
+ 0x44, 0x50, 0x41, 0x53, 0x53, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79,
0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a,
0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64,
@@ -944,32 +1001,32 @@ static const char data_en_index_html[] = {
0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x6c, 0x65, 0x66,
0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x72, 0x67,
0x62, 0x28, 0x35, 0x35, 0x2c, 0x34, 0x39, 0x2c, 0x33, 0x36,
- 0x29, 0x3b, 0x22, 0x3e, 0x50, 0x61, 0x73, 0x73, 0x70, 0x68,
- 0x72, 0x61, 0x73, 0x65, 0x3a, 0x3c, 0x2f, 0x64, 0x69, 0x76,
- 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c,
- 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x32,
- 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61, 0x74,
- 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c, 0x6f,
- 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22, 0x3e,
- 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5b,
- 0x57, 0x49, 0x46, 0x49, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x50,
- 0x48, 0x52, 0x41, 0x53, 0x45, 0x5d, 0x3c, 0x2f, 0x64, 0x69,
+ 0x29, 0x3b, 0x22, 0x3e, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69,
+ 0x6e, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x3c, 0x2f, 0x64, 0x69,
0x76, 0x3e, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79,
- 0x6c, 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a,
- 0x62, 0x6f, 0x74, 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64,
- 0x69, 0x76, 0x3e, 0xd, 0xa, 0x9, 0x3c, 0x2f, 0x64, 0x69,
- 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69,
- 0x76, 0x3e, 0xd, 0xa, 0x9, 0xd, 0xa, 0x3c, 0x64, 0x69,
- 0x76, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74,
- 0x65, 0x72, 0x22, 0x3e, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76,
- 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65,
- 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x22, 0x3e, 0x43, 0x6f, 0x70,
- 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x26, 0x63, 0x6f, 0x70,
- 0x79, 0x3b, 0x32, 0x30, 0x31, 0x33, 0x3c, 0x2f, 0x64, 0x69,
- 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69,
- 0x76, 0x3e, 0xd, 0xa, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f,
- 0x62, 0x6f, 0x64, 0x79, 0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x68,
- 0x74, 0x6d, 0x6c, 0x3e, 0xd, 0xa, 0xd, 0xa, };
+ 0x6c, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a,
+ 0x32, 0x35, 0x30, 0x70, 0x78, 0x3b, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x63, 0x6f, 0x6c,
+ 0x6f, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3b, 0x22,
+ 0x3e, 0x24, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43,
+ 0x5b, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x47, 0x45, 0x4f, 0x4c,
+ 0x4f, 0x43, 0x5d, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0x3c,
+ 0x64, 0x69, 0x76, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d,
+ 0x22, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x3a, 0x62, 0x6f, 0x74,
+ 0x68, 0x3b, 0x22, 0x3e, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e,
+ 0xd, 0xa, 0x9, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
+ 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
+ 0xa, 0x9, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x69,
+ 0x64, 0x3d, 0x22, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x22,
+ 0x3e, 0xd, 0xa, 0x3c, 0x64, 0x69, 0x76, 0x20, 0x63, 0x6c,
+ 0x61, 0x73, 0x73, 0x3d, 0x22, 0x6d, 0x65, 0x64, 0x46, 0x6f,
+ 0x6e, 0x74, 0x22, 0x3e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69,
+ 0x67, 0x68, 0x74, 0x26, 0x63, 0x6f, 0x70, 0x79, 0x3b, 0x32,
+ 0x30, 0x31, 0x33, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
+ 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x64, 0x69, 0x76, 0x3e, 0xd,
+ 0xa, 0xd, 0xa, 0xd, 0xa, 0x3c, 0x2f, 0x62, 0x6f, 0x64,
+ 0x79, 0x3e, 0xd, 0xa, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c,
+ 0x3e, 0xd, 0xa, 0xd, 0xa, };
static const char data_en_reboot_html[] = {
/* /en_reboot.html */