\n";
+const char ALERT_ERROR[] PROGMEM = "
\n";
+const char DIV_E[] PROGMEM = "
\n";
+const char BAUD_RATE[] PROGMEM = "BAUD_RATE";
+const char REFRESH_1_5[] PROGMEM ="
";
+#define REFRESH5(ip) web_interface.add4send(REFRESH_1_5);web_interface.add4send(ip);web_interface.add4send(REFRESH_2);
+#define REFRESH15(ip) web_interface.add4send(REFRESH_1_15);web_interface.add4send(ip);web_interface.add4send(REFRESH_2);
+#define MSG_SUCCESS(msg) web_interface.add4send(ALERT_SUCCESS);web_interface.add4send(msg);web_interface.add4send(DIV_E);
+#define MSG_ERROR(msg) web_interface.add4send(ALERT_ERROR);web_interface.add4send(msg);web_interface.add4send(DIV_E);
+#define OPTION(value, selected,content) web_interface.add4send(FORM_OPTION_1);web_interface.add4send(value);web_interface.add4send(FORM_OPTION_2);web_interface.add4send(selected);web_interface.add4send(FORM_OPTION_3);web_interface.add4send(content);web_interface.add4send(FORM_OPTION_4);
+#define SELECT_START(id,label,name) web_interface.add4send(FORM_INPUT_1);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_2);web_interface.add4send(label);web_interface.add4send(FORM_SELECT_1);web_interface.add4send(name);web_interface.add4send(FORM_SELECT_2);web_interface.add4send(id);web_interface.add4send(FORM_SELECT_3);
+#define SELECT_START_ERROR(id,label,name) web_interface.add4send(FORM_INPUT_1_ERROR);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_2);web_interface.add4send(label);web_interface.add4send(FORM_SELECT_1);web_interface.add4send(name);web_interface.add4send(FORM_SELECT_2);web_interface.add4send(id);web_interface.add4send(FORM_SELECT_3);
+#define SELECT_END web_interface.add4send(FORM_SELECT_END);
+#define INPUT_TEXT( id,label, name,placeholder,value) web_interface.add4send(FORM_INPUT_1);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_2);web_interface.add4send(label);web_interface.add4send(FORM_INPUT_3);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_4);web_interface.add4send(name);web_interface.add4send(FORM_INPUT_5);web_interface.add4send(placeholder);web_interface.add4send(FORM_INPUT_6);web_interface.add4send(value);web_interface.add4send(FORM_INPUT_7);
+#define INPUT_TEXT_ERROR( id,label, name,placeholder,value) web_interface.add4send(FORM_INPUT_1_ERROR);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_2);web_interface.add4send(label);web_interface.add4send(FORM_INPUT_3);web_interface.add4send(id);web_interface.add4send(FORM_INPUT_4);web_interface.add4send(name);web_interface.add4send(FORM_INPUT_5);web_interface.add4send(placeholder);web_interface.add4send(FORM_INPUT_6);web_interface.add4send(value);web_interface.add4send(FORM_INPUT_7);
#define LABEL( title, value) web_interface.add4send(LABEL_START); web_interface.add4send(title);web_interface.add4send(LABEL_COLOR);web_interface.add4send(value);web_interface.add4send(LABEL_END);web_interface.add4send(BR);
#define LABEL_UNITS(title, value,units) web_interface.add4send(LABEL_START); web_interface.add4send(title);web_interface.add4send(LABEL_COLOR);web_interface.add4send(value);web_interface.add4send(units);web_interface.add4send(LABEL_END);web_interface.add4send(BR);
#define TH_ENTRY(entry) web_interface.add4send(TH_S);web_interface.add4send(entry);web_interface.add4send(TH_E);
@@ -94,7 +130,8 @@ void handle_web_interface_root()
uint8_t mac [WL_MAC_ADDR_LENGTH];
if (wifi_get_opmode()==WIFI_STA ) IP=wifi_config.ip2str(WiFi.localIP());
else IP=wifi_config.ip2str(WiFi.softAPIP());
- web_interface.add4send(PAGE_HEAD);
+ web_interface.add4send(PAGE_HEAD_1);
+ web_interface.add4send(PAGE_HEAD_2);
//top bar
web_interface.add4send(NAV_START);
web_interface.add4send(NAV_LEFT_PART1) ;
@@ -133,7 +170,7 @@ void handle_web_interface_root()
//LABEL(sbuf,F("Boot mode: "),String(system_get_boot_mode())) //no meaning so far
LABEL(F("Boot version: "),String(system_get_boot_version()).c_str())
istatus=0;
- if (!CONFIG::read_buffer(EP_BAUD_RATE, (byte *)&istatus , BAUD_LENGH))istatus=0;;
+ if (!CONFIG::read_buffer(EP_BAUD_RATE, (byte *)&istatus , BAUD_LENGH))istatus=0;
LABEL(F("Baud rate: "),String(istatus).c_str())
web_interface.add4send(PANEL_END);
//access point
@@ -247,24 +284,104 @@ void handle_web_interface_root()
void handle_web_interface_configSys()
{
- String IP;
- if (wifi_get_opmode()==WIFI_STA ) IP=wifi_config.ip2str(WiFi.localIP());
- else IP=wifi_config.ip2str(WiFi.softAPIP());
- web_interface.add4send(PAGE_HEAD);
+ String stmp,smsg;
+ int istatus=0;
+ bool msg_alert_error=false;
+ bool msg_alert_success=false;
+ int ibaud=0;
+ //check is it is a submission or a display
+ if (web_interface.WebServer.hasArg(F("SUBMIT")))
+ { //is there a baude rate
+ if (web_interface.WebServer.hasArg(BAUD_RATE))
+ { //is value correct ?
+ ibaud = atoi(web_interface.WebServer.arg(BAUD_RATE).c_str());
+ if (!(ibaud==9600 || ibaud==19200|| ibaud==38400|| ibaud==57600|| ibaud==115200|| ibaud==230400))
+ {
+ msg_alert_error=true;
+ smsg=F("Error in query!!");
+ }
+ }
+ else
+ {
+ msg_alert_error=true;
+ smsg=F("Error in query!!");
+ }
+ //if no error apply the changes
+ if (msg_alert_error!=true)
+ {
+ if(!CONFIG::write_buffer(EP_BAUD_RATE,(const byte *)&ibaud,BAUD_LENGH))
+ {
+ msg_alert_error=true;
+ smsg=F("Error in writing changes!!");
+ }
+ else
+ if (!msg_alert_error)
+ {
+ msg_alert_success=true;
+ smsg=F("Change saved, restarting module...");
+ }
+ }
+
+ }
+ if (!CONFIG::read_buffer(EP_BAUD_RATE, (byte *)&istatus , BAUD_LENGH))istatus=0;
+ if (wifi_get_opmode()==WIFI_STA ) stmp=wifi_config.ip2str(WiFi.localIP());
+ else stmp=wifi_config.ip2str(WiFi.softAPIP());
+ web_interface.add4send(PAGE_HEAD_1);
+ web_interface.add4send(PAGE_HEAD_2);
web_interface.add4send(NAV_START) ;
web_interface.add4send(NAV_LEFT_PART1) ;
web_interface.add4send(NAV_LEFT_PART2a) ;
- web_interface.add4send(IP.c_str());
+ web_interface.add4send(stmp.c_str());
web_interface.add4send(NAV_LEFT_PART2b);
web_interface.add4send(NAV_ELEMENT_ACTIVE) ;
web_interface.add4send(NAV_LEFT_PART3a) ;
- web_interface.add4send(IP.c_str());
+ web_interface.add4send(stmp.c_str());
web_interface.add4send(NAV_LEFT_PART3b) ;
web_interface.add4send(NAV_RIGHT_PART) ;
web_interface.add4send(NAV_END) ;
- web_interface.add4send("
Configuration
");
- web_interface.add4send(PAGE_BOTTOM);
+ web_interface.add4send(PANEL_TOP);
+ web_interface.add4send(F("System"));
+ web_interface.add4send(PANEL_START);
+ web_interface.add4send(FORM_START);
+
+ SELECT_START(F("SYS1"),F("Baud rate"),F("BAUD_RATE"))
+ if (istatus==9600)stmp = F("selected");
+ else stmp="";
+ OPTION(F("9600"), stmp.c_str(),F("9600"))
+ if (istatus==19200)stmp = F("selected");
+ else stmp="";
+ OPTION(F("19200"), stmp.c_str(),F("19200"))
+ if (istatus==38400)stmp = F("selected");
+ else stmp="";
+ OPTION(F("38400"), stmp.c_str(),F("38400"))
+ if (istatus==57600)stmp = F("selected");
+ else stmp="";
+ OPTION(F("57600"), stmp.c_str(),F("57600"))
+ if (istatus==115200)stmp = F("selected");
+ else stmp="";
+ OPTION(F("115200"), stmp.c_str(),F("115200"))
+ if (istatus==230400)stmp = F("selected");
+ else stmp="";
+ OPTION(F("230400"), stmp.c_str(),F("230400"))
+ SELECT_END
+
+ web_interface.add4send(FORM_SUBMIT);
+ web_interface.add4send(FORM_END);
+ web_interface.add4send(PANEL_END);
+ if(msg_alert_error)
+ {
+ MSG_ERROR(smsg.c_str())
+ }
+if(msg_alert_success)
+ {
+ MSG_SUCCESS(smsg.c_str())
+ }
+ web_interface.add4send(PAGE_BOTTOM);
web_interface.flushbuffer();
+ if (msg_alert_success && !msg_alert_error)
+ {
+ system_restart();
+ }
}
void handle_not_found()