@@ -31,18 +31,19 @@ class WiFiConnectionManager : public ConnectionManager {
31
31
32
32
void changeConnectionState (NetworkConnectionState _newState);
33
33
34
+ const int CHECK_INTERVAL_IDLE = 100 ;
34
35
const int CHECK_INTERVAL_INIT = 100 ;
35
36
const int CHECK_INTERVAL_CONNECTING = 500 ;
36
- const int CHECK_INTERVAL_GETTIME = 100 ;
37
+ const int CHECK_INTERVAL_GETTIME = 666 ;
37
38
const int CHECK_INTERVAL_CONNECTED = 10000 ;
38
39
const int CHECK_INTERVAL_RETRYING = 5000 ;
39
40
const int CHECK_INTERVAL_DISCONNECTED = 1000 ;
40
41
const int CHECK_INTERVAL_ERROR = 500 ;
41
42
42
- const int MAX_GETTIME_RETRY = 30 ;
43
+ const int MAX_GETTIME_RETRIES = 30 ;
43
44
44
45
const char *ssid, *pass;
45
- unsigned long lastConnectionTickTime, lastNetworkStep ;
46
+ unsigned long lastConnectionTickTime;
46
47
unsigned long getTimeRetries;
47
48
48
49
WiFiClient wifiClient;
@@ -54,8 +55,8 @@ static const unsigned long NETWORK_CONNECTION_INTERVAL = 30000;
54
55
WiFiConnectionManager::WiFiConnectionManager (const char *ssid, const char *pass) :
55
56
ssid(ssid), pass(pass),
56
57
lastConnectionTickTime(millis()),
57
- connectionTickTimeInterval(CHECK_INTERVAL_INIT ),
58
- getTimeRetries(MAX_GETTIME_RETRY ) {
58
+ connectionTickTimeInterval(CHECK_INTERVAL_IDLE ),
59
+ getTimeRetries(MAX_GETTIME_RETRIES ) {
59
60
}
60
61
61
62
unsigned long WiFiConnectionManager::getTime () {
@@ -80,7 +81,7 @@ void WiFiConnectionManager::changeConnectionState(NetworkConnectionState _newSta
80
81
case CONNECTION_STATE_GETTIME:
81
82
newInterval = CHECK_INTERVAL_GETTIME;
82
83
debugMessage (" Acquiring Time from Network" , 3 );
83
- getTimeRetries = MAX_GETTIME_RETRY ;
84
+ getTimeRetries = MAX_GETTIME_RETRIES ;
84
85
break ;
85
86
case CONNECTION_STATE_CONNECTED:
86
87
newInterval = CHECK_INTERVAL_CONNECTED;
@@ -111,7 +112,6 @@ void WiFiConnectionManager::check() {
111
112
switch (netConnectionState) {
112
113
case CONNECTION_STATE_INIT:
113
114
networkStatus = WiFi.status ();
114
-
115
115
sprintf (msgBuffer, " WiFi.status(): %d" , networkStatus);
116
116
debugMessage (msgBuffer, 2 );
117
117
if (networkStatus == NETWORK_HARDWARE_ERROR) {
@@ -120,7 +120,6 @@ void WiFiConnectionManager::check() {
120
120
lastConnectionTickTime = now;
121
121
return ;
122
122
}
123
-
124
123
sprintf (msgBuffer, " Current WiFi Firmware: %s" , WiFi.firmwareVersion ());
125
124
debugMessage (msgBuffer, 0 );
126
125
if (strcmp (WiFi.firmwareVersion (), WIFI_FIRMWARE_VERSION_REQUIRED) != 0 ){
@@ -133,36 +132,28 @@ void WiFiConnectionManager::check() {
133
132
break ;
134
133
case CONNECTION_STATE_CONNECTING:
135
134
networkStatus = WiFi.begin (ssid, pass);
136
-
137
135
sprintf (msgBuffer, " WiFi.status(): %d" , networkStatus);
138
136
debugMessage (msgBuffer, 4 );
139
137
if (networkStatus != NETWORK_CONNECTED) {
140
-
141
138
sprintf (msgBuffer, " Connection to \" %s\" failed" , ssid);
142
- debugMessage (msgBuffer, 0 );
143
-
144
-
139
+ debugMessage (msgBuffer, 0 );
145
140
sprintf (msgBuffer, " Retrying in \" %d\" milliseconds" , connectionTickTimeInterval);
146
141
debugMessage (msgBuffer, 2 );
147
142
// changeConnectionState(CONNECTION_STATE_CONNECTING);
148
143
return ;
149
144
} else {
150
-
151
145
sprintf (msgBuffer, " Connected to \" %s\" " , ssid);
152
146
debugMessage (msgBuffer, 2 );
153
147
changeConnectionState (CONNECTION_STATE_GETTIME);
154
148
return ;
155
149
}
156
150
break ;
157
151
case CONNECTION_STATE_GETTIME:
158
-
159
152
unsigned long networkTime;
160
153
networkTime = WiFi.getTime ();
161
-
162
154
debugMessage (" ." , 3 , false , false );
163
155
if (networkTime > lastValidTimestamp){
164
156
lastValidTimestamp = networkTime;
165
-
166
157
sprintf (msgBuffer, " Network Time: %u" , networkTime);
167
158
debugMessage (msgBuffer, 3 );
168
159
changeConnectionState (CONNECTION_STATE_CONNECTED);
@@ -175,24 +166,18 @@ void WiFiConnectionManager::check() {
175
166
case CONNECTION_STATE_CONNECTED:
176
167
// keep testing connection
177
168
networkStatus = WiFi.status ();
178
-
179
169
sprintf (msgBuffer, " WiFi.status(): %d" , networkStatus);
180
170
debugMessage (msgBuffer, 4 );
181
171
if (networkStatus != WL_CONNECTED) {
182
172
changeConnectionState (CONNECTION_STATE_DISCONNECTED);
183
173
return ;
184
174
}
185
-
186
175
sprintf (msgBuffer, " Connected to \" %s\" " , ssid);
187
176
debugMessage (msgBuffer, 4 );
188
177
break ;
189
178
case CONNECTION_STATE_DISCONNECTED:
190
- // WiFi.disconnect();
191
179
WiFi.end ();
192
-
193
-
194
180
changeConnectionState (CONNECTION_STATE_CONNECTING);
195
- // wifiClient.stop();
196
181
break ;
197
182
}
198
183
lastConnectionTickTime = now;
0 commit comments