8
8
#include < WiFiServer.h>
9
9
#include < WiFiClient.h>
10
10
#include < ESP8266WebServer.h>
11
- #include < ESP8266mDNS.h>
12
11
13
12
#include " mainPage.h"
14
13
@@ -23,8 +22,8 @@ int clockMode;
23
22
time_t syncInterval = 3600 ;
24
23
25
24
ESP8266WebServer server (80 );
26
- MDNSResponder mdns;
27
25
26
+ String clockName = " " ;
28
27
String w_ssid;
29
28
String w_psk;
30
29
long timezone ;
@@ -41,6 +40,7 @@ void handleRoot() {
41
40
s.replace (" @@NTPSRV@@" , ipToString (timeServer));
42
41
s.replace (" @@NTPINT@@" , String (syncInterval));
43
42
s.replace (" @@SYNCSTATUS@@" , timeStatus () == timeSet ? " OK" : " Overdue" );
43
+ s.replace (" @@CLOCKNAME@@" , clockName);
44
44
server.send (200 , " text/html" , s);
45
45
}
46
46
@@ -69,6 +69,9 @@ void handleForm() {
69
69
syncInterval = syncInt.toInt ();
70
70
response += " The NTP sync interval is: " + syncInt + " s\r\n " ;
71
71
72
+ clockName = server.arg (" clockname" );
73
+ response += " Clock name is: " + clockName;
74
+
72
75
server.send (200 , " text/plain" , response);
73
76
saveSettings ();
74
77
if (update_wifi == " 1" ) {
@@ -86,14 +89,12 @@ void setup() {
86
89
server.on (" /" , handleRoot);
87
90
server.on (" /form" , handleForm);
88
91
server.begin ();
89
- mdns.begin (CLOCK_NAME, WiFi.localIP ());
90
92
}
91
93
92
94
void loop () {
93
95
server.handleClient ();
94
96
if (displayIP ()) return ;
95
97
if (clockMode == MODE_CLOCK) {
96
- mdns.update ();
97
98
if (timeStatus () != timeNotSet) {
98
99
if (now () != prevDisplay) { // update the display only if time has changed
99
100
prevDisplay = now ();
@@ -131,6 +132,8 @@ void setupWiFi() {
131
132
#define EEPROM_TIMESERVER_LENGTH 4
132
133
#define EEPROM_INTERVAL_OFFSET EEPROM_TIMESERVER_OFFSET + EEPROM_TIMESERVER_LENGTH
133
134
#define EEPROM_INTERVAL_LENGTH 2
135
+ #define EEPROM_NAME_OFFSET EEPROM_INTERVAL_OFFSET + EEPROM_INTERVAL_LENGTH
136
+ #define EEPROM_NAME_LENGTH 32
134
137
135
138
void readSettings () {
136
139
EEPROM.begin (EEPROM_WIFI_SIZE);
@@ -166,6 +169,15 @@ void readSettings() {
166
169
syncInterval;
167
170
syncInterval = time_t (EEPROM.read (EEPROM_INTERVAL_OFFSET)) << 8 ;
168
171
syncInterval |= EEPROM.read (EEPROM_INTERVAL_OFFSET+1 );
172
+
173
+ clockName = " " ;
174
+ for (int i = 0 ; i < EEPROM_NAME_LENGTH ; i++) {
175
+ char c = EEPROM.read (EEPROM_NAME_OFFSET + i);
176
+ if (c) {
177
+ clockName += c;
178
+ }
179
+ }
180
+ clockName.replace (" +" , " " );
169
181
EEPROM.end ();
170
182
}
171
183
@@ -197,6 +209,10 @@ void saveSettings() {
197
209
// Write the interval.
198
210
EEPROM.write (EEPROM_INTERVAL_OFFSET, (syncInterval >> 8 ) & 0xff );
199
211
EEPROM.write (EEPROM_INTERVAL_OFFSET+1 , syncInterval & 0xff );
212
+ // Write the clock name.
213
+ for (int i = 0 ; i < clockName.length () ; i++) {
214
+ EEPROM.write (EEPROM_NAME_OFFSET + i, clockName.charAt (i));
215
+ }
200
216
EEPROM.end ();
201
217
}
202
218
0 commit comments