Skip to content

Commit c7e776b

Browse files
committed
Moving state transition into function update_handleConnected (from changeConnectionState)
1 parent b005175 commit c7e776b

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/Arduino_WiFiConnectionHandler.cpp

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void WiFiConnectionHandler::update() {
109109
switch (netConnectionState) {
110110
case NetworkConnectionState::INIT: update_handleInit (networkStatus); break;
111111
case NetworkConnectionState::CONNECTING: netConnectionState = update_handleConnecting (networkStatus); break;
112-
case NetworkConnectionState::CONNECTED: update_handleConnected (networkStatus); break;
112+
case NetworkConnectionState::CONNECTED: netConnectionState = update_handleConnected (networkStatus); break;
113113
case NetworkConnectionState::GETTIME: netConnectionState = update_handleGetTime (); break;
114114
case NetworkConnectionState::DISCONNECTING: update_handleDisconnecting(networkStatus); break;
115115
case NetworkConnectionState::DISCONNECTED: netConnectionState = update_handleDisconnected (); break;
@@ -258,15 +258,26 @@ NetworkConnectionState WiFiConnectionHandler::update_handleConnecting(int & netw
258258
}
259259
}
260260

261-
void WiFiConnectionHandler::update_handleConnected(int & networkStatus) {
261+
NetworkConnectionState WiFiConnectionHandler::update_handleConnected(int & networkStatus) {
262262
networkStatus = WiFi.status();
263263

264264
Debug.print(DBG_VERBOSE, "WiFi.status(): %d", networkStatus);
265-
if (networkStatus != WL_CONNECTED) {
266-
changeConnectionState(NetworkConnectionState::DISCONNECTED);
267-
return;
265+
if (networkStatus != WL_CONNECTED)
266+
{
267+
execNetworkEventCallback(_on_disconnect_event_callback, 0);
268+
269+
Debug.print(DBG_VERBOSE, "WiFi.status(): %d", WiFi.status());
270+
Debug.print(DBG_ERROR, "Connection to \"%s\" lost.", ssid);
271+
272+
if (keepAlive) {
273+
Debug.print(DBG_ERROR, "Attempting reconnection");
274+
}
275+
276+
connectionTickTimeInterval = CHECK_INTERVAL_DISCONNECTED;
277+
return NetworkConnectionState::DISCONNECTED;
268278
}
269279
Debug.print(DBG_VERBOSE, "Connected to \"%s\"", ssid);
280+
return NetworkConnectionState::CONNECTED;
270281
}
271282

272283
NetworkConnectionState WiFiConnectionHandler::update_handleGetTime() {

src/Arduino_WiFiConnectionHandler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ class WiFiConnectionHandler : public ConnectionHandler {
8686

8787
void update_handleInit (int & networkStatus);
8888
NetworkConnectionState update_handleConnecting (int & networkStatus);
89-
void update_handleConnected (int & networkStatus);
89+
NetworkConnectionState update_handleConnected (int & networkStatus);
9090
NetworkConnectionState update_handleGetTime ();
9191
void update_handleDisconnecting(int const networkStatus);
9292
NetworkConnectionState update_handleDisconnected ();

0 commit comments

Comments
 (0)