mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-15 21:26:07 +08:00
Use PROGMEM and F() properly
Add function to be able to access to strings stored with PROGMEM, it save 4k memory vs no usage of PROGMEM
This commit is contained in:
parent
0c37d73db8
commit
f48e419e0f
@ -110,8 +110,8 @@ bool CONFIG::write_byte(word pos, const byte value)
|
||||
bool CONFIG::reset_config()
|
||||
{
|
||||
if(!CONFIG::write_byte(EP_WIFI_MODE,DEFAULT_WIFI_MODE))return false;
|
||||
if(!CONFIG::write_string(EP_SSID,DEFAULT_SSID,strlen(DEFAULT_SSID)))return false;
|
||||
if(!CONFIG::write_string(EP_PASSWORD,DEFAULT_PASSWORD,strlen(DEFAULT_PASSWORD)))return false;
|
||||
if(!CONFIG::write_string(EP_SSID,PROGMEM2CHAR(DEFAULT_SSID),strlen(PROGMEM2CHAR(DEFAULT_SSID))))return false;
|
||||
if(!CONFIG::write_string(EP_PASSWORD,PROGMEM2CHAR(DEFAULT_PASSWORD),strlen(PROGMEM2CHAR(DEFAULT_PASSWORD))))return false;
|
||||
if(!CONFIG::write_byte(EP_IP_MODE,DEFAULT_IP_MODE))return false;
|
||||
if(!CONFIG::write_buffer(EP_IP_VALUE,DEFAULT_IP_VALUE,IP_LENGH))return false;
|
||||
if(!CONFIG::write_buffer(EP_MASK_VALUE,DEFAULT_MASK_VALUE,IP_LENGH))return false;
|
||||
|
@ -20,7 +20,9 @@
|
||||
|
||||
//comment to disable
|
||||
#define MDNS_FEATURE
|
||||
#define PROGMEM2CHAR progmem2char
|
||||
|
||||
extern char * progmem2char(const char* src);
|
||||
#ifndef CONFIG_h
|
||||
#define CONFIG_h
|
||||
|
||||
@ -34,7 +36,6 @@ extern "C" {
|
||||
#define REPOSITORY "https://github.com/luc-github/ESP8266"
|
||||
|
||||
|
||||
|
||||
//pin used to reset setting
|
||||
#define RESET_CONFIG_PIN 2
|
||||
|
||||
@ -65,8 +66,8 @@ extern "C" {
|
||||
const char DEFAULT_SSID [] PROGMEM = "ESP8266";
|
||||
const char DEFAULT_PASSWORD [] PROGMEM = "12345678";
|
||||
#define DEFAULT_IP_MODE STATIC_IP_MODE
|
||||
const byte DEFAULT_IP_VALUE[] PROGMEM = {192,168,0,1};
|
||||
const byte DEFAULT_MASK_VALUE[] PROGMEM = {255,255,255,0};
|
||||
const byte DEFAULT_IP_VALUE[] = {192,168,0,1};
|
||||
const byte DEFAULT_MASK_VALUE[] = {255,255,255,0};
|
||||
#define DEFAULT_GATEWAY_VALUE DEFAULT_IP_VALUE
|
||||
const int DEFAULT_BAUD_RATE = 9600;
|
||||
#ifdef MDNS_FEATURE
|
||||
|
@ -46,6 +46,7 @@ extern "C" {
|
||||
|
||||
void setup() {
|
||||
// init :
|
||||
ESP.wdtDisable();
|
||||
delay(8000);
|
||||
EEPROM.begin(EEPROM_SIZE);
|
||||
bool breset_config=false;
|
||||
|
@ -29,7 +29,9 @@ extern "C" {
|
||||
#include "user_interface.h"
|
||||
}
|
||||
|
||||
#define LIMIT_BUFFER 2500
|
||||
|
||||
|
||||
#define LIMIT_BUFFER 3500
|
||||
|
||||
const char PAGE_HEAD_1[] PROGMEM = "<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n" \
|
||||
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n";
|
||||
@ -99,27 +101,117 @@ const char FORM_SUBMIT[] PROGMEM = "<BR><HR><input type=\"submit\" class=\"btn b
|
||||
const char ALERT_SUCCESS[] PROGMEM = "<div class=\"alert alert-success\" role=\"alert\">\n";
|
||||
const char ALERT_ERROR[] PROGMEM = "<div class=\"alert alert-danger\" role=\"alert\">\n";
|
||||
const char DIV_E[] PROGMEM = "</div>\n";
|
||||
const char BAUD_RATE[] PROGMEM = "BAUD_RATE";
|
||||
const char SLEEP_MODE[] PROGMEM = "SLEEP_MODE";
|
||||
const char NETWORK[] PROGMEM = "NETWORK";
|
||||
const char REFRESH_1_5[] PROGMEM ="<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=http://";
|
||||
const char REFRESH_1_15[] PROGMEM ="<META HTTP-EQUIV=\"Refresh\" CONTENT=\"15; URL=http://";
|
||||
const char REFRESH_2[] 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);
|
||||
#define THR_ENTRY(entry) web_interface.add4send(TH_R);web_interface.add4send(entry);web_interface.add4send(TH_E);
|
||||
#define TD_ENTRY(entry) web_interface.add4send(TD_S);web_interface.add4send(entry);web_interface.add4send(TD_E);
|
||||
const char BAUD_RATE_ID[] PROGMEM = "BAUD_RATE";
|
||||
const char SLEEP_MODE_ID[] PROGMEM = "SLEEP_MODE";
|
||||
const char NETWORK_ID[] PROGMEM = "NETWORK";
|
||||
const char TITLE_SYSTEM[] PROGMEM = "System";
|
||||
const char CHIP_ID_TITLE[] PROGMEM = "Chip ID: ";
|
||||
const char CPU_FREQ_TITLE[] PROGMEM = "CPU Frequency: ";
|
||||
const char FREE_MEM_TITLE[] PROGMEM = "Free Memory: ";
|
||||
const char UNIT_HZ [] PROGMEM = "Hz";
|
||||
const char UNIT_OCTET[] PROGMEM = " octets";
|
||||
const char SDK_VERSION_TITLE[] PROGMEM = "SDK Version: ";
|
||||
const char HTTP_START[] PROGMEM = "http://";
|
||||
const char HTTP_MDNS_NAME[] PROGMEM = "mDNS name: ";
|
||||
const char HTTP_END[] PROGMEM = ".local";
|
||||
const char VALUE_11B[] PROGMEM = "11b";
|
||||
const char VALUE_11N[] PROGMEM = "11n";
|
||||
const char VALUE_11G[] PROGMEM = "11g";
|
||||
const char NETWORK_TITLE[] PROGMEM = "Network: ";
|
||||
const char VALUE_NONE[] PROGMEM = "None";
|
||||
const char VALUE_LIGHT[] PROGMEM = "Light";
|
||||
const char VALUE_MODEM[] PROGMEM = "Modem";
|
||||
const char SLEEP_MODE_TITLE[] PROGMEM = "Sleep mode: ";
|
||||
const char BOOT_VERSION_TITLE[] PROGMEM = "Boot version: ";
|
||||
const char BAUD_RATE_TITLE[] PROGMEM = "Baud rate: ";
|
||||
const char ACCESS_POINT_TITLE[] PROGMEM = "Access Point";
|
||||
const char VALUE_ENABLED[] PROGMEM = " (enabled)";
|
||||
const char VALUE_DISABLED[] PROGMEM = " (disabled)";
|
||||
const char MAC_ADDRESS_TITLE[] PROGMEM = "Mac address: ";
|
||||
const char MAC_LABEL[] PROGMEM = "Mac";
|
||||
const char SSID_TITLE[] PROGMEM = "SSID: ";
|
||||
const char VALUE_NO[] PROGMEM = "No";
|
||||
const char VALUE_YES[] PROGMEM = "Yes";
|
||||
const char VISIBLE_TITLE[] PROGMEM = "Visible: ";
|
||||
const char CHANNEL_TITLE[] PROGMEM = "Channel: ";
|
||||
const char STATUS_TITLE[] PROGMEM = "Status: ";
|
||||
const char VALUE_WEP[] PROGMEM = "WEP";
|
||||
const char VALUE_WPA[] PROGMEM = "WPA";
|
||||
const char VALUE_WPA2[] PROGMEM = "WPA2";
|
||||
const char VALUE_WPAWPA2[] PROGMEM = "WPA/WPA2";
|
||||
const char VALUE_MAX[] PROGMEM = "MAX";
|
||||
const char AUTENTIFICATION_TITLE[] PROGMEM = "Authentification: ";
|
||||
const char MAX_CONNECTION_TITLE[] PROGMEM = "Maximum connections : ";
|
||||
const char VALUE_STARTED[] PROGMEM = "Started";
|
||||
const char VALUE_STOPPED[] PROGMEM = "Stopped";
|
||||
const char DHCP_SERVER_TITLE[] PROGMEM = "DHCP Server: ";
|
||||
const char IP_TITLE[] PROGMEM = "IP: ";
|
||||
const char GATEWAY_TITLE[] PROGMEM = "Gateway: ";
|
||||
const char SUBNET_TITLE[] PROGMEM = "Subnet: ";
|
||||
const char CONNECTED_STATIONS[] PROGMEM = " connected station(s)";
|
||||
const char NUMBER_LABEL[] PROGMEM = "#";
|
||||
const char IP_LABEL[] PROGMEM = "IP";
|
||||
const char STATION_TITLE[] PROGMEM = "Station";
|
||||
const char CONNECTION_TO_TITLE[] PROGMEM = "Connection to: ";
|
||||
const char VALUE_CONNECTED[] PROGMEM = "Connected";
|
||||
const char VALUE_NO_SSID[] PROGMEM = "SSID not Available!";
|
||||
const char VALUE_CONNECTION_FAILED[] PROGMEM = "Connection failed!";
|
||||
const char VALUE_CONNECTION_FAILED2[] PROGMEM = "Connection failed! (Wrong Password)";
|
||||
const char VALUE_IDLE[] PROGMEM = "Idle";
|
||||
const char VALUE_DISCONNECTED[] PROGMEM = "Disconnected";
|
||||
const char DHCP_CLIENT_TITLE[] PROGMEM = "DHCP Client: ";
|
||||
const char ERROR_QUERY[] PROGMEM = "Error in query!!";
|
||||
const char ERROR_WRITING_CHANGES[] PROGMEM = "Error in writing changes!!";
|
||||
const char SAVED_CHANGES[] PROGMEM = "Change saved, restarting module...";
|
||||
const char SUBMIT_ID[] PROGMEM = "SUBMIT";
|
||||
const char SYS_1_ID[] PROGMEM = "SYS1";
|
||||
const char BAUD_RATE_NAME[] PROGMEM = "Baud rate";
|
||||
const char NETWORK_NAME[] PROGMEM = "Network";
|
||||
const char SLEEP_MODE_NAME[] PROGMEM = "Sleep Mode";
|
||||
const char VALUE_9600[] PROGMEM = "9600";
|
||||
const char VALUE_19200[] PROGMEM = "19200";
|
||||
const char VALUE_38400[] PROGMEM = "38400";
|
||||
const char VALUE_57600[] PROGMEM = "57600";
|
||||
const char VALUE_115200[] PROGMEM = "115200";
|
||||
const char VALUE_230400[] PROGMEM = "230400";
|
||||
const char SYS_2_ID[] PROGMEM = "SYS2";
|
||||
const char SYS_3_ID[] PROGMEM = "SYS3";
|
||||
const char VALUE_SELECTED[] PROGMEM = "selected";
|
||||
|
||||
#define MSG_SUCCESS(msg) web_interface.add4send(PROGMEM2CHAR(ALERT_SUCCESS));web_interface.add4send(msg);web_interface.add4send(PROGMEM2CHAR(DIV_E));
|
||||
#define MSG_ERROR(msg) web_interface.add4send(PROGMEM2CHAR(ALERT_ERROR));web_interface.add4send(msg);web_interface.add4send(PROGMEM2CHAR(DIV_E));
|
||||
#define OPTION(value, selected,content) web_interface.add4send(PROGMEM2CHAR(FORM_OPTION_1));web_interface.add4send(value);web_interface.add4send(PROGMEM2CHAR(FORM_OPTION_2));web_interface.add4send(selected);web_interface.add4send(PROGMEM2CHAR(FORM_OPTION_3));web_interface.add4send(content);web_interface.add4send(PROGMEM2CHAR(FORM_OPTION_4));
|
||||
#define SELECT_START(id,label,name) web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_1));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_2));web_interface.add4send(label);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_1));web_interface.add4send(name);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_2));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_3));
|
||||
#define SELECT_START_ERROR(id,label,name) web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_1_ERROR));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_2));web_interface.add4send(label);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_1));web_interface.add4send(name);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_2));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_3));
|
||||
#define SELECT_END web_interface.add4send(PROGMEM2CHAR(FORM_SELECT_END));
|
||||
#define INPUT_TEXT( id,label, name,placeholder,value) web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_1));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_2));web_interface.add4send(label);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_3));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_4));web_interface.add4send(name);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_5));web_interface.add4send(placeholder);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_6));web_interface.add4send(value);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_7));
|
||||
#define INPUT_TEXT_ERROR( id,label, name,placeholder,value) web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_1_ERROR));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_2));web_interface.add4send(label);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_3));web_interface.add4send(id);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_4));web_interface.add4send(name);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_5));web_interface.add4send(placeholder);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_6));web_interface.add4send(value);web_interface.add4send(PROGMEM2CHAR(FORM_INPUT_7));
|
||||
#define LABEL( title, value) web_interface.add4send(PROGMEM2CHAR(LABEL_START)); web_interface.add4send(title);web_interface.add4send(PROGMEM2CHAR(LABEL_COLOR));web_interface.add4send(value);web_interface.add4send(PROGMEM2CHAR(LABEL_END));web_interface.add4send(PROGMEM2CHAR(BR));
|
||||
#define LABEL_UNITS(title, value,units) web_interface.add4send(PROGMEM2CHAR(LABEL_START)); web_interface.add4send(title);web_interface.add4send(PROGMEM2CHAR(LABEL_COLOR));web_interface.add4send(value);web_interface.add4send(units);web_interface.add4send(PROGMEM2CHAR(LABEL_END));web_interface.add4send(PROGMEM2CHAR(BR));
|
||||
#define TH_ENTRY(entry) web_interface.add4send(PROGMEM2CHAR(TH_S));web_interface.add4send(entry);web_interface.add4send(PROGMEM2CHAR(TH_E));
|
||||
#define THR_ENTRY(entry) web_interface.add4send(PROGMEM2CHAR(TH_R));web_interface.add4send(entry);web_interface.add4send(PROGMEM2CHAR(TH_E));
|
||||
#define TD_ENTRY(entry) web_interface.add4send(PROGMEM2CHAR(TD_S));web_interface.add4send(entry);web_interface.add4send(PROGMEM2CHAR(TD_E));
|
||||
|
||||
char* ICACHE_FLASH_ATTR strncpy_P(char* dest, const char* src, size_t size) {
|
||||
const char* read = src;
|
||||
char* write = dest;
|
||||
char ch = '.';
|
||||
while (size > 0 && ch != '\0')
|
||||
{
|
||||
ch = pgm_read_byte(read++);
|
||||
*write++ = ch;
|
||||
size--;
|
||||
}
|
||||
|
||||
return dest;
|
||||
}
|
||||
|
||||
char * progmem2char(const char* src)
|
||||
{
|
||||
static char buffer[300];
|
||||
strcpy_P(buffer,src);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
//cannot put it in class then cast it as std::function<void(void)> so put outside
|
||||
void handle_web_interface_root()
|
||||
@ -132,82 +224,82 @@ 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_1);
|
||||
web_interface.add4send(PAGE_HEAD_2);
|
||||
web_interface.add4send(PROGMEM2CHAR(PAGE_HEAD_1));
|
||||
web_interface.add4send(PROGMEM2CHAR(PAGE_HEAD_2));
|
||||
//top bar
|
||||
web_interface.add4send(NAV_START);
|
||||
web_interface.add4send(NAV_LEFT_PART1) ;
|
||||
web_interface.add4send(NAV_ELEMENT_ACTIVE) ;
|
||||
web_interface.add4send(NAV_LEFT_PART2a );
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_START));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART1)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_ELEMENT_ACTIVE)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART2a) );
|
||||
web_interface.add4send(IP.c_str());
|
||||
web_interface.add4send(NAV_LEFT_PART2b );
|
||||
web_interface.add4send(NAV_LEFT_PART3a );
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART2b));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART3a));
|
||||
web_interface.add4send(IP.c_str());
|
||||
web_interface.add4send(NAV_LEFT_PART3b) ;
|
||||
web_interface.add4send(NAV_RIGHT_PART) ;
|
||||
web_interface.add4send(NAV_END) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART3b));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_RIGHT_PART)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_END));
|
||||
//system part
|
||||
web_interface.add4send(PANEL_TOP);
|
||||
web_interface.add4send(F("System"));
|
||||
web_interface.add4send(PANEL_START);
|
||||
LABEL(F("Chip ID: "),String(system_get_chip_id()).c_str())
|
||||
LABEL_UNITS(F("CPU Frequency: "),String(system_get_cpu_freq()).c_str(),F("Hz"))
|
||||
LABEL_UNITS(F("Free Memory: "),String(system_get_free_heap_size()).c_str(),F(" octets"))
|
||||
LABEL(F("SDK Version: "),system_get_sdk_version())
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_TOP));
|
||||
web_interface.add4send(PROGMEM2CHAR(TITLE_SYSTEM));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_START));
|
||||
LABEL(PROGMEM2CHAR(CHIP_ID_TITLE),String(system_get_chip_id()).c_str())
|
||||
LABEL_UNITS(PROGMEM2CHAR(CPU_FREQ_TITLE),String(system_get_cpu_freq()).c_str(),PROGMEM2CHAR(UNIT_HZ))
|
||||
LABEL_UNITS(PROGMEM2CHAR(FREE_MEM_TITLE),String(system_get_free_heap_size()).c_str(),PROGMEM2CHAR(UNIT_OCTET))
|
||||
LABEL(PROGMEM2CHAR(SDK_VERSION_TITLE),system_get_sdk_version())
|
||||
#ifdef MDNS_FEATURE
|
||||
sstatus = F("http://");
|
||||
sstatus+=LOCAL_NAME;
|
||||
LABEL_UNITS(F("mDNS name: "),sstatus.c_str(),F(".local"))
|
||||
sstatus = PROGMEM2CHAR(HTTP_START);
|
||||
sstatus+=PROGMEM2CHAR(LOCAL_NAME);
|
||||
LABEL_UNITS(PROGMEM2CHAR(HTTP_MDNS_NAME),sstatus.c_str(),PROGMEM2CHAR(HTTP_END))
|
||||
#endif
|
||||
istatus = wifi_get_phy_mode();
|
||||
if (istatus==PHY_MODE_11B) sstatus=F("11b");
|
||||
else if (istatus==PHY_MODE_11G) sstatus=F("11g");
|
||||
else sstatus=F("11n");
|
||||
LABEL(F("Network: "),sstatus.c_str())
|
||||
if (istatus==PHY_MODE_11B) sstatus=PROGMEM2CHAR(VALUE_11B);
|
||||
else if (istatus==PHY_MODE_11G) sstatus=PROGMEM2CHAR(VALUE_11G);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_11N);
|
||||
LABEL(PROGMEM2CHAR(NETWORK_TITLE),sstatus.c_str())
|
||||
istatus = wifi_get_sleep_type();
|
||||
if (istatus==NONE_SLEEP_T) sstatus=F("None");
|
||||
else if (istatus==LIGHT_SLEEP_T) sstatus=F("Light");
|
||||
else sstatus=F("Modem");
|
||||
LABEL(F("Sleep mode: "),sstatus.c_str())
|
||||
//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())
|
||||
if (istatus==NONE_SLEEP_T) sstatus=PROGMEM2CHAR(VALUE_NONE);
|
||||
else if (istatus==LIGHT_SLEEP_T) sstatus=PROGMEM2CHAR(VALUE_LIGHT);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_MODEM);
|
||||
LABEL(PROGMEM2CHAR(SLEEP_MODE_TITLE),sstatus.c_str())
|
||||
//LABEL(sbuf,"Boot mode: ",String(system_get_boot_mode())) //no meaning so far
|
||||
LABEL(PROGMEM2CHAR(BOOT_VERSION_TITLE),String(system_get_boot_version()).c_str())
|
||||
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);
|
||||
LABEL(PROGMEM2CHAR(BAUD_RATE_TITLE),String(istatus).c_str())
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_END));
|
||||
//access point
|
||||
web_interface.add4send(PANEL_TOP);
|
||||
web_interface.add4send(F("Access Point"));
|
||||
if(wifi_get_opmode()==WIFI_AP || wifi_get_opmode()==WIFI_AP_STA) web_interface.add4send(F(" (enabled)"));
|
||||
else web_interface.add4send(F(" (disabled)"));
|
||||
web_interface.add4send(PANEL_START);
|
||||
LABEL(F("Mac address: "),wifi_config.mac2str(WiFi.softAPmacAddress(mac)))
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_TOP));
|
||||
web_interface.add4send(PROGMEM2CHAR(ACCESS_POINT_TITLE));
|
||||
if(wifi_get_opmode()==WIFI_AP || wifi_get_opmode()==WIFI_AP_STA) web_interface.add4send(PROGMEM2CHAR(VALUE_ENABLED));
|
||||
else web_interface.add4send(PROGMEM2CHAR(VALUE_DISABLED));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_START));
|
||||
LABEL(PROGMEM2CHAR(MAC_ADDRESS_TITLE),wifi_config.mac2str(WiFi.softAPmacAddress(mac)))
|
||||
if (wifi_get_opmode()==WIFI_AP || wifi_get_opmode()==WIFI_AP_STA)
|
||||
{
|
||||
if (wifi_softap_get_config(&apconfig))
|
||||
{
|
||||
LABEL(F("SSID: "),(char *)(apconfig.ssid))
|
||||
if(apconfig.ssid_hidden==1)sstatus=F("No");
|
||||
else sstatus=F("Yes");
|
||||
LABEL(F("Visible: "),sstatus.c_str())
|
||||
LABEL(F("Channel: "),String(apconfig.channel).c_str())
|
||||
if (apconfig.authmode==AUTH_OPEN)sstatus=F("None");
|
||||
else if (apconfig.authmode==AUTH_WEP)sstatus=F("WEP");
|
||||
else if (apconfig.authmode==AUTH_WPA_PSK)sstatus=F("WPA");
|
||||
else if (apconfig.authmode==AUTH_WPA2_PSK)sstatus=F("WPA2");
|
||||
else if (apconfig.authmode==AUTH_WPA_WPA2_PSK)sstatus=F("WPA/WPA2");
|
||||
else sstatus=F("MAX"); //what is this one ? WPS ? Cannot find information
|
||||
LABEL(F("Authentification: "),sstatus.c_str())
|
||||
LABEL(F("Maximum connections : "),String(apconfig.max_connection).c_str())
|
||||
LABEL(PROGMEM2CHAR(SSID_TITLE),(char *)(apconfig.ssid))
|
||||
if(apconfig.ssid_hidden==1)sstatus=PROGMEM2CHAR(VALUE_NO);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_YES);
|
||||
LABEL(PROGMEM2CHAR(VISIBLE_TITLE),sstatus.c_str())
|
||||
LABEL(PROGMEM2CHAR(CHANNEL_TITLE),String(apconfig.channel).c_str())
|
||||
if (apconfig.authmode==AUTH_OPEN)sstatus=PROGMEM2CHAR(VALUE_NONE);
|
||||
else if (apconfig.authmode==AUTH_WEP)sstatus=PROGMEM2CHAR(VALUE_WEP);
|
||||
else if (apconfig.authmode==AUTH_WPA_PSK)sstatus=PROGMEM2CHAR(VALUE_WPA);
|
||||
else if (apconfig.authmode==AUTH_WPA2_PSK)sstatus=PROGMEM2CHAR(VALUE_WPA2);
|
||||
else if (apconfig.authmode==AUTH_WPA_WPA2_PSK)sstatus=PROGMEM2CHAR(VALUE_WPAWPA2);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_MAX); //what is this one ? WPS ? Cannot find information
|
||||
LABEL(PROGMEM2CHAR(AUTENTIFICATION_TITLE),sstatus.c_str())
|
||||
LABEL(PROGMEM2CHAR(MAX_CONNECTION_TITLE),String(apconfig.max_connection).c_str())
|
||||
}
|
||||
if (wifi_softap_dhcps_status()==DHCP_STARTED)sstatus=F("Started");
|
||||
else sstatus=F("Stopped");
|
||||
LABEL(F("DHCP Server: "),sstatus.c_str())
|
||||
if (wifi_softap_dhcps_status()==DHCP_STARTED)sstatus=PROGMEM2CHAR(VALUE_STARTED);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_STOPPED);
|
||||
LABEL(PROGMEM2CHAR(DHCP_SERVER_TITLE),sstatus.c_str())
|
||||
if (wifi_get_ip_info(SOFTAP_IF,&info))
|
||||
{
|
||||
LABEL(F("IP: "),wifi_config.ip2str(info.ip.addr))
|
||||
LABEL(F("Gateway: "),wifi_config.ip2str(info.gw.addr))
|
||||
LABEL(F("Subnet: "),wifi_config.ip2str(info.netmask.addr))
|
||||
LABEL(PROGMEM2CHAR(IP_TITLE),wifi_config.ip2str(info.ip.addr))
|
||||
LABEL(PROGMEM2CHAR(GATEWAY_TITLE),wifi_config.ip2str(info.gw.addr))
|
||||
LABEL(PROGMEM2CHAR(SUBNET_TITLE),wifi_config.ip2str(info.netmask.addr))
|
||||
}
|
||||
//List number of client
|
||||
istatus = 0;
|
||||
@ -221,66 +313,66 @@ void handle_web_interface_root()
|
||||
stationtmp = STAILQ_NEXT(stationtmp, next);
|
||||
}
|
||||
//start table as at least one connected
|
||||
web_interface.add4send(TABLE_START);
|
||||
web_interface.add4send(CAPTION_S);
|
||||
web_interface.add4send(PROGMEM2CHAR(TABLE_START));
|
||||
web_interface.add4send(PROGMEM2CHAR(CAPTION_S));
|
||||
web_interface.add4send(String(istatus).c_str());
|
||||
web_interface.add4send(F(" connected station(s)"));
|
||||
web_interface.add4send(CAPTION_S);
|
||||
web_interface.add4send(THEAD_S);
|
||||
web_interface.add4send(TR_S);
|
||||
TH_ENTRY(F("#"))
|
||||
TH_ENTRY(F("Mac"))
|
||||
TH_ENTRY(F("IP"))
|
||||
web_interface.add4send(TR_E);
|
||||
web_interface.add4send(THEAD_E);
|
||||
web_interface.add4send(TBODY_S);
|
||||
web_interface.add4send(PROGMEM2CHAR(CONNECTED_STATIONS));
|
||||
web_interface.add4send(PROGMEM2CHAR(CAPTION_E));
|
||||
web_interface.add4send(PROGMEM2CHAR(THEAD_S));
|
||||
web_interface.add4send(PROGMEM2CHAR(TR_S));
|
||||
TH_ENTRY(PROGMEM2CHAR(NUMBER_LABEL))
|
||||
TH_ENTRY(PROGMEM2CHAR(MAC_LABEL))
|
||||
TH_ENTRY(PROGMEM2CHAR(IP_LABEL))
|
||||
web_interface.add4send(PROGMEM2CHAR(TR_E));
|
||||
web_interface.add4send(PROGMEM2CHAR(THEAD_E));
|
||||
web_interface.add4send(PROGMEM2CHAR(TBODY_S));
|
||||
istatus=0;
|
||||
while(station)
|
||||
{
|
||||
istatus++;
|
||||
//display each client
|
||||
web_interface.add4send(TR_S);
|
||||
web_interface.add4send(PROGMEM2CHAR(TR_S));
|
||||
THR_ENTRY(String(istatus).c_str())
|
||||
TD_ENTRY(wifi_config.mac2str(station->bssid))
|
||||
static char ipstr [16];
|
||||
if (0>sprintf(ipstr, IPSTR,IP2STR(&station->ip))) strcpy (ipstr, F("0.0.0.0"));
|
||||
TD_ENTRY(ipstr)
|
||||
web_interface.add4send(TR_E);
|
||||
//static char ipstr [16];
|
||||
//if (0>sprintf(ipstr, IPSTR,IP2STR(&station->ip))) strcpy (ipstr, "0.0.0.0");
|
||||
TD_ENTRY(wifi_config.ip2str((byte *)&station->ip))
|
||||
web_interface.add4send(PROGMEM2CHAR(TR_E));
|
||||
station = STAILQ_NEXT(station, next);
|
||||
}
|
||||
web_interface.add4send(TBODY_E);
|
||||
web_interface.add4send(PROGMEM2CHAR(TBODY_E));
|
||||
//close table
|
||||
web_interface.add4send(TABLE_END);
|
||||
web_interface.add4send(PROGMEM2CHAR(TABLE_END));
|
||||
wifi_softap_free_station_info();
|
||||
}
|
||||
web_interface.add4send(PANEL_END);
|
||||
web_interface.add4send(PANEL_TOP);
|
||||
web_interface.add4send(F("Station"));
|
||||
if(wifi_get_opmode()==WIFI_STA || wifi_get_opmode()==WIFI_AP_STA) web_interface.add4send(F(" (enabled)"));
|
||||
else web_interface.add4send(F(" (disabled)"));
|
||||
web_interface.add4send(PANEL_START);
|
||||
LABEL(F("Mac address: "),wifi_config.mac2str(WiFi.macAddress(mac)))
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_END));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_TOP));
|
||||
web_interface.add4send(PROGMEM2CHAR(STATION_TITLE));
|
||||
if(wifi_get_opmode()==WIFI_STA || wifi_get_opmode()==WIFI_AP_STA) web_interface.add4send(PROGMEM2CHAR(VALUE_ENABLED));
|
||||
else web_interface.add4send(PROGMEM2CHAR(VALUE_DISABLED));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_START));
|
||||
LABEL(PROGMEM2CHAR(MAC_ADDRESS_TITLE),wifi_config.mac2str(WiFi.macAddress(mac)))
|
||||
if(wifi_get_opmode()==WIFI_STA || wifi_get_opmode()==WIFI_AP_STA)
|
||||
{
|
||||
LABEL(F("Connection to: "),WiFi.SSID())
|
||||
LABEL(F("Channel: "),String(wifi_get_channel()).c_str())
|
||||
LABEL(PROGMEM2CHAR(CONNECTION_TO_TITLE),WiFi.SSID())
|
||||
LABEL(PROGMEM2CHAR(CHANNEL_TITLE),String(wifi_get_channel()).c_str())
|
||||
istatus = wifi_station_get_connect_status();
|
||||
if (istatus==STATION_GOT_IP) sstatus=F("Connected");
|
||||
else if (istatus==STATION_NO_AP_FOUND) sstatus=F("SSID not Available!");
|
||||
else if (istatus==STATION_CONNECT_FAIL) sstatus=F("Connecion failed!");
|
||||
else if (istatus==STATION_WRONG_PASSWORD) sstatus=F("Connecion failed! (Wrong Password)");
|
||||
else if (istatus==STATION_IDLE) sstatus=F("Idle");//should not happen
|
||||
else sstatus=F("Disconnected");
|
||||
LABEL(F("Status: "),sstatus.c_str())
|
||||
if (wifi_station_dhcpc_status()==DHCP_STARTED)sstatus=F("Started");
|
||||
else sstatus=F("Stopped");
|
||||
LABEL(F("DHCP Client: "),sstatus.c_str())
|
||||
LABEL(F("IP: "),wifi_config.ip2str(WiFi.localIP()))
|
||||
LABEL(F("Gateway: "),wifi_config.ip2str(WiFi.gatewayIP()))
|
||||
LABEL(F("Subnet: "),wifi_config.ip2str(WiFi.subnetMask()))
|
||||
if (istatus==STATION_GOT_IP) sstatus=PROGMEM2CHAR(VALUE_CONNECTED);
|
||||
else if (istatus==STATION_NO_AP_FOUND) sstatus=PROGMEM2CHAR(VALUE_NO_SSID);
|
||||
else if (istatus==STATION_CONNECT_FAIL) sstatus=PROGMEM2CHAR(VALUE_CONNECTION_FAILED);
|
||||
else if (istatus==STATION_WRONG_PASSWORD) sstatus=PROGMEM2CHAR(VALUE_CONNECTION_FAILED2);
|
||||
else if (istatus==STATION_IDLE) sstatus=PROGMEM2CHAR(VALUE_IDLE);//should not happen
|
||||
else sstatus=PROGMEM2CHAR(VALUE_DISCONNECTED);
|
||||
LABEL(PROGMEM2CHAR(STATUS_TITLE),sstatus.c_str())
|
||||
if (wifi_station_dhcpc_status()==DHCP_STARTED)sstatus=PROGMEM2CHAR(VALUE_STARTED);
|
||||
else sstatus=PROGMEM2CHAR(VALUE_STOPPED);
|
||||
LABEL(PROGMEM2CHAR(DHCP_CLIENT_TITLE),sstatus.c_str())
|
||||
LABEL(PROGMEM2CHAR(IP_TITLE),wifi_config.ip2str(WiFi.localIP()))
|
||||
LABEL(PROGMEM2CHAR(GATEWAY_TITLE),wifi_config.ip2str(WiFi.gatewayIP()))
|
||||
LABEL(PROGMEM2CHAR(SUBNET_TITLE),wifi_config.ip2str(WiFi.subnetMask()))
|
||||
}
|
||||
web_interface.add4send(PANEL_END);
|
||||
web_interface.add4send(PAGE_BOTTOM);
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_END));
|
||||
web_interface.add4send(PROGMEM2CHAR(PAGE_BOTTOM));
|
||||
web_interface.flushbuffer();
|
||||
}
|
||||
|
||||
@ -295,25 +387,25 @@ void handle_web_interface_configSys()
|
||||
byte bnetwork=0;
|
||||
byte bsleepmode=0;
|
||||
//check is it is a submission or a display
|
||||
if (web_interface.WebServer.hasArg(F("SUBMIT")))
|
||||
if (web_interface.WebServer.hasArg(PROGMEM2CHAR(SUBMIT_ID)))
|
||||
{ //is there a correct list of values?
|
||||
if (web_interface.WebServer.hasArg(BAUD_RATE) && web_interface.WebServer.hasArg(SLEEP_MODE)&& web_interface.WebServer.hasArg(NETWORK))
|
||||
if (web_interface.WebServer.hasArg(PROGMEM2CHAR(BAUD_RATE_ID)) && web_interface.WebServer.hasArg(PROGMEM2CHAR(SLEEP_MODE_ID))&& web_interface.WebServer.hasArg(PROGMEM2CHAR(NETWORK_ID)))
|
||||
{ //is each value correct ?
|
||||
ibaud = atoi(web_interface.WebServer.arg(BAUD_RATE).c_str());
|
||||
bnetwork = atoi(web_interface.WebServer.arg(NETWORK).c_str());
|
||||
bsleepmode = atoi(web_interface.WebServer.arg(SLEEP_MODE).c_str());
|
||||
ibaud = atoi(web_interface.WebServer.arg(PROGMEM2CHAR(BAUD_RATE_ID)).c_str());
|
||||
bnetwork = atoi(web_interface.WebServer.arg(PROGMEM2CHAR(NETWORK_ID)).c_str());
|
||||
bsleepmode = atoi(web_interface.WebServer.arg(PROGMEM2CHAR(SLEEP_MODE_ID)).c_str());
|
||||
if (!(ibaud==9600 || ibaud==19200|| ibaud==38400|| ibaud==57600|| ibaud==115200|| ibaud==230400) ||
|
||||
!(bnetwork==PHY_MODE_11B||bnetwork==PHY_MODE_11G||bnetwork==PHY_MODE_11N) ||
|
||||
!(bsleepmode==NONE_SLEEP_T ||bsleepmode==LIGHT_SLEEP_T ||bsleepmode==MODEM_SLEEP_T ))
|
||||
{
|
||||
msg_alert_error=true;
|
||||
smsg=F("Error in query!!");
|
||||
smsg=PROGMEM2CHAR(ERROR_QUERY);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
msg_alert_error=true;
|
||||
smsg=F("Error in query!!");
|
||||
smsg=PROGMEM2CHAR(ERROR_QUERY);
|
||||
}
|
||||
//if no error apply the changes
|
||||
if (msg_alert_error!=true)
|
||||
@ -321,13 +413,13 @@ void handle_web_interface_configSys()
|
||||
if(!CONFIG::write_buffer(EP_BAUD_RATE,(const byte *)&ibaud,BAUD_LENGH) ||!CONFIG::write_byte(EP_PHY_MODE,bnetwork) ||!CONFIG::write_byte(EP_SLEEP_MODE,bsleepmode))
|
||||
{
|
||||
msg_alert_error=true;
|
||||
smsg=F("Error in writing changes!!");
|
||||
smsg=PROGMEM2CHAR(ERROR_WRITING_CHANGES);
|
||||
}
|
||||
else
|
||||
if (!msg_alert_error)
|
||||
{
|
||||
msg_alert_success=true;
|
||||
smsg=F("Change saved, restarting module...");
|
||||
smsg=PROGMEM2CHAR(SAVED_CHANGES);
|
||||
}
|
||||
}
|
||||
|
||||
@ -335,81 +427,81 @@ void handle_web_interface_configSys()
|
||||
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(PROGMEM2CHAR(PAGE_HEAD_1));
|
||||
web_interface.add4send(PROGMEM2CHAR(PAGE_HEAD_2));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_START)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART1)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART2a)) ;
|
||||
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(PROGMEM2CHAR(NAV_LEFT_PART2b));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_ELEMENT_ACTIVE)) ;
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART3a));
|
||||
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(PANEL_TOP);
|
||||
web_interface.add4send(F("System"));
|
||||
web_interface.add4send(PANEL_START);
|
||||
web_interface.add4send(FORM_START);
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_LEFT_PART3b));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_RIGHT_PART));
|
||||
web_interface.add4send(PROGMEM2CHAR(NAV_END));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_TOP));
|
||||
web_interface.add4send(PROGMEM2CHAR(TITLE_SYSTEM));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_START));
|
||||
web_interface.add4send(PROGMEM2CHAR(FORM_START));
|
||||
|
||||
SELECT_START(F("SYS1"),F("Baud rate"),F("BAUD_RATE"))
|
||||
if (istatus==9600)stmp = F("selected");
|
||||
SELECT_START(PROGMEM2CHAR(SYS_1_ID),PROGMEM2CHAR(BAUD_RATE_NAME),PROGMEM2CHAR(BAUD_RATE_ID))
|
||||
if (istatus==9600)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("9600"), stmp.c_str(),F("9600"))
|
||||
if (istatus==19200)stmp = F("selected");
|
||||
OPTION(PROGMEM2CHAR(VALUE_9600), stmp.c_str(),PROGMEM2CHAR(VALUE_9600))
|
||||
if (istatus==19200)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("19200"), stmp.c_str(),F("19200"))
|
||||
if (istatus==38400)stmp = F("selected");
|
||||
OPTION(PROGMEM2CHAR(VALUE_19200), stmp.c_str(),PROGMEM2CHAR(VALUE_19200))
|
||||
if (istatus==38400)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("38400"), stmp.c_str(),F("38400"))
|
||||
if (istatus==57600)stmp = F("selected");
|
||||
OPTION(PROGMEM2CHAR(VALUE_38400), stmp.c_str(),PROGMEM2CHAR(VALUE_38400))
|
||||
if (istatus==57600)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("57600"), stmp.c_str(),F("57600"))
|
||||
if (istatus==115200)stmp = F("selected");
|
||||
OPTION(PROGMEM2CHAR(VALUE_57600), stmp.c_str(),PROGMEM2CHAR(VALUE_57600))
|
||||
if (istatus==115200)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("115200"), stmp.c_str(),F("115200"))
|
||||
if (istatus==230400)stmp = F("selected");
|
||||
OPTION(PROGMEM2CHAR(VALUE_115200), stmp.c_str(),PROGMEM2CHAR(VALUE_115200))
|
||||
if (istatus==230400)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(F("230400"), stmp.c_str(),F("230400"))
|
||||
OPTION(PROGMEM2CHAR(VALUE_230400), stmp.c_str(),PROGMEM2CHAR(VALUE_230400))
|
||||
SELECT_END
|
||||
|
||||
web_interface.add4send(BR);
|
||||
web_interface.add4send(PROGMEM2CHAR(BR));
|
||||
|
||||
if (!CONFIG::read_byte(EP_PHY_MODE, &bflag ))bflag=0;
|
||||
SELECT_START(F("SYS2"),F("Network"),NETWORK)
|
||||
if (bflag==PHY_MODE_11B)stmp = F("selected");
|
||||
SELECT_START(PROGMEM2CHAR(SYS_2_ID),PROGMEM2CHAR(NETWORK_NAME),PROGMEM2CHAR(NETWORK_ID))
|
||||
if (bflag==PHY_MODE_11B)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(String(PHY_MODE_11B).c_str(), stmp.c_str(),F("11b"))
|
||||
if (bflag==PHY_MODE_11G)stmp = F("selected");
|
||||
OPTION(String(PHY_MODE_11B).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_11B))
|
||||
if (bflag==PHY_MODE_11G)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(String(PHY_MODE_11G).c_str(), stmp.c_str(),F("11g"))
|
||||
if (bflag==PHY_MODE_11N)stmp = F("selected");
|
||||
OPTION(String(PHY_MODE_11G).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_11G))
|
||||
if (bflag==PHY_MODE_11N)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
if (wifi_get_opmode()==WIFI_STA )
|
||||
{
|
||||
OPTION(String(PHY_MODE_11N).c_str(), stmp.c_str(),F("11n"))
|
||||
OPTION(String(PHY_MODE_11N).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_11N))
|
||||
}
|
||||
SELECT_END
|
||||
|
||||
web_interface.add4send(BR);
|
||||
web_interface.add4send(PROGMEM2CHAR(BR));
|
||||
|
||||
if (!CONFIG::read_byte(EP_SLEEP_MODE, &bflag ))bflag=0;
|
||||
SELECT_START(F("SYS3"),F("Sleep Mode"),SLEEP_MODE)
|
||||
if (bflag==NONE_SLEEP_T)stmp = F("selected");
|
||||
SELECT_START(PROGMEM2CHAR(SYS_3_ID),PROGMEM2CHAR(SLEEP_MODE_NAME),PROGMEM2CHAR(SLEEP_MODE_ID))
|
||||
if (bflag==NONE_SLEEP_T)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(String(NONE_SLEEP_T).c_str(), stmp.c_str(),F("None"))
|
||||
if (bflag==LIGHT_SLEEP_T)stmp = F("selected");
|
||||
OPTION(String(NONE_SLEEP_T).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_NONE))
|
||||
if (bflag==LIGHT_SLEEP_T)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(String(LIGHT_SLEEP_T).c_str(), stmp.c_str(),F("Light"))
|
||||
if (bflag==MODEM_SLEEP_T)stmp = F("selected");
|
||||
OPTION(String(LIGHT_SLEEP_T).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_LIGHT))
|
||||
if (bflag==MODEM_SLEEP_T)stmp = PROGMEM2CHAR(VALUE_SELECTED);
|
||||
else stmp="";
|
||||
OPTION(String(MODEM_SLEEP_T).c_str(), stmp.c_str(),F("Modem"))
|
||||
OPTION(String(MODEM_SLEEP_T).c_str(), stmp.c_str(),PROGMEM2CHAR(VALUE_MODEM))
|
||||
SELECT_END
|
||||
|
||||
web_interface.add4send(FORM_SUBMIT);
|
||||
web_interface.add4send(FORM_END);
|
||||
web_interface.add4send(PANEL_END);
|
||||
web_interface.add4send(PROGMEM2CHAR(FORM_SUBMIT));
|
||||
web_interface.add4send(PROGMEM2CHAR(FORM_END));
|
||||
web_interface.add4send(PROGMEM2CHAR(PANEL_END));
|
||||
if(msg_alert_error)
|
||||
{
|
||||
MSG_ERROR(smsg.c_str())
|
||||
@ -418,7 +510,7 @@ if(msg_alert_success)
|
||||
{
|
||||
MSG_SUCCESS(smsg.c_str())
|
||||
}
|
||||
web_interface.add4send(PAGE_BOTTOM);
|
||||
web_interface.add4send(PROGMEM2CHAR(PAGE_BOTTOM));
|
||||
web_interface.flushbuffer();
|
||||
if (msg_alert_success && !msg_alert_error)
|
||||
{
|
||||
@ -431,9 +523,9 @@ void handle_not_found()
|
||||
String IP;
|
||||
if (wifi_get_opmode()==WIFI_STA ) IP=wifi_config.ip2str(WiFi.localIP());
|
||||
else IP=wifi_config.ip2str(WiFi.softAPIP());
|
||||
web_interface.add4send(T404_PAGE);
|
||||
web_interface.add4send(PROGMEM2CHAR(T404_PAGE));
|
||||
web_interface.add4send(IP.c_str());
|
||||
web_interface.add4send(T404_PAGE_2);
|
||||
web_interface.add4send(PROGMEM2CHAR(T404_PAGE_2));
|
||||
web_interface.flushbuffer();
|
||||
}
|
||||
|
||||
@ -492,12 +584,12 @@ void WEBINTERFACE_CLASS::add4send(const char * data2send, bool bimmediatsend)
|
||||
{//send current buffer first
|
||||
if(!bsendingstarted)
|
||||
{ //no header send so first send using header 2500 limit allow to add extra without calculation
|
||||
web_interface.WebServer.send(200, F("text/html"), buffer2send);
|
||||
web_interface.WebServer.send(200, "text/html", buffer2send);
|
||||
bsendingstarted=true;
|
||||
}
|
||||
else
|
||||
{ //direct data send
|
||||
web_interface.WebServer.client().print(buffer2send);
|
||||
web_interface.WebServer.sendContent(buffer2send);
|
||||
}
|
||||
buffer2send=data2send;
|
||||
//do we need to purge or to store ?
|
||||
@ -505,7 +597,7 @@ void WEBINTERFACE_CLASS::add4send(const char * data2send, bool bimmediatsend)
|
||||
{//if some data flush
|
||||
if (buffer2send.length()>0)
|
||||
{
|
||||
web_interface.WebServer.client().print(buffer2send);
|
||||
web_interface.WebServer.sendContent(buffer2send);
|
||||
//reset buffer
|
||||
buffer2send="";
|
||||
}
|
||||
@ -519,8 +611,8 @@ void WEBINTERFACE_CLASS::add4send(const char * data2send, bool bimmediatsend)
|
||||
WEBINTERFACE_CLASS::WEBINTERFACE_CLASS (int port):WebServer(port)
|
||||
{
|
||||
//init what will handle "/"
|
||||
WebServer.on(F("/"),HTTP_ANY, handle_web_interface_root);
|
||||
WebServer.on(F("/CONFIGSYS"),HTTP_ANY, handle_web_interface_configSys);
|
||||
WebServer.on("/",HTTP_ANY, handle_web_interface_root);
|
||||
WebServer.on("/CONFIGSYS",HTTP_ANY, handle_web_interface_configSys);
|
||||
WebServer.onNotFound( handle_not_found);
|
||||
buffer2send="";
|
||||
}
|
||||
|
@ -56,7 +56,7 @@ byte WIFI_CONFIG::split_ip (char * ptr,byte * part)
|
||||
char * WIFI_CONFIG::mac2str(uint8_t mac [WL_MAC_ADDR_LENGTH])
|
||||
{
|
||||
static char macstr [18];
|
||||
if (0>sprintf(macstr,F("%02X:%02X:%02X:%02X:%02X:%02X"),mac[0],mac[1],mac[2],mac[3],mac[4],mac[5])) strcpy (macstr, F("00:00:00:00:00:00"));
|
||||
if (0>sprintf(macstr,"%02X:%02X:%02X:%02X:%02X:%02X",mac[0],mac[1],mac[2],mac[3],mac[4],mac[5])) strcpy (macstr, "00:00:00:00:00:00");
|
||||
return macstr;
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ char * WIFI_CONFIG::mac2str(uint8_t mac [WL_MAC_ADDR_LENGTH])
|
||||
char * WIFI_CONFIG::ip2str(IPAddress Ip )
|
||||
{
|
||||
static char ipstr [16];
|
||||
if (0>sprintf(ipstr, F("%i.%i.%i.%i"),Ip[0],Ip[1],Ip[2],Ip[3])) strcpy (ipstr, F("0.0.0.0"));
|
||||
if (0>sprintf(ipstr, "%i.%i.%i.%i",Ip[0],Ip[1],Ip[2],Ip[3])) strcpy (ipstr, "0.0.0.0");
|
||||
return ipstr;
|
||||
}
|
||||
|
||||
@ -154,7 +154,7 @@ bool WIFI_CONFIG::Setup()
|
||||
// - second argument is the IP address to advertise
|
||||
// we send our IP address on the WiFi network
|
||||
// Note: for AP mode we would use WiFi.softAPIP()!
|
||||
if (!mdns.begin(LOCAL_NAME, currentIP)) {
|
||||
if (!mdns.begin(PROGMEM2CHAR(LOCAL_NAME), currentIP)) {
|
||||
Serial.println(F("Error setting up MDNS responder!"));
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user