1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-09-11 05:52:31 +03:00

Refactoring to PolledTimeout or optimistic_yield on the grounds that these are not wait loops on slow input.

This commit is contained in:
Dirk O. Kaar
2019-12-02 16:07:36 +01:00
parent 117f163099
commit f382fc9d77
5 changed files with 19 additions and 21 deletions

View File

@@ -150,7 +150,7 @@ IPAddress ESP8266WiFiMesh::getStaticIP()
void ESP8266WiFiMesh::disableStaticIP()
{
WiFi.config(0u,0u,0u);
yield();
optimistic_yield(10000);
staticIPActivated = false;
}
@@ -185,9 +185,9 @@ void ESP8266WiFiMesh::deactivateAP()
void ESP8266WiFiMesh::restartAP()
{
deactivateAP();
yield();
optimistic_yield(10000);
activateAP();
yield();
optimistic_yield(10000);
}
ESP8266WiFiMesh * ESP8266WiFiMesh::getAPController()
@@ -331,9 +331,9 @@ bool ESP8266WiFiMesh::latestTransmissionSuccessful()
void ESP8266WiFiMesh::fullStop(WiFiClient &currClient)
{
currClient.stop();
yield();
optimistic_yield(10000);
WiFi.disconnect();
yield();
optimistic_yield(10000);
}
/**
@@ -375,7 +375,7 @@ transmission_status_t ESP8266WiFiMesh::exchangeInfo(WiFiClient &currClient)
verboseModePrint("Transmitting"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
currClient.print(getMessage() + '\r');
yield();
optimistic_yield(10000);
if (!waitForClientTransmission(currClient, _stationModeTimeoutMs))
{
@@ -390,7 +390,7 @@ transmission_status_t ESP8266WiFiMesh::exchangeInfo(WiFiClient &currClient)
}
String response = currClient.readStringUntil('\r');
yield();
optimistic_yield(10000);
currClient.flush();
/* Pass data to user callback */
@@ -443,7 +443,7 @@ transmission_status_t ESP8266WiFiMesh::attemptDataTransferKernel()
}
currClient.stop();
yield();
optimistic_yield(10000);
return transmissionOutcome;
}
@@ -476,7 +476,7 @@ transmission_status_t ESP8266WiFiMesh::connectToNode(const String &targetSSID, i
WiFiMode_t storedWiFiMode = WiFi.getMode();
WiFi.mode(WIFI_OFF);
WiFi.mode(storedWiFiMode);
yield();
optimistic_yield(10000);
#else
// Disable static IP so that we can connect to other servers via DHCP (DHCP is slower but required for connecting to more than one server, it seems (possible bug?)).
@@ -500,7 +500,7 @@ transmission_status_t ESP8266WiFiMesh::connectToNode(const String &targetSSID, i
{
verboseModePrint(F("... "), false);
WiFi.disconnect();
yield();
optimistic_yield(10000);
initiateConnectionToAP(targetSSID, targetChannel, targetBSSID);
attemptNumber++;
}
@@ -527,7 +527,7 @@ void ESP8266WiFiMesh::attemptTransmission(const String &message, bool concluding
if(initialDisconnect)
{
WiFi.disconnect();
yield();
optimistic_yield(10000);
}
latestTransmissionOutcomes.clear();
@@ -565,7 +565,7 @@ void ESP8266WiFiMesh::attemptTransmission(const String &message, bool concluding
for(NetworkInfo &currentNetwork : connectionQueue)
{
WiFi.disconnect();
yield();
optimistic_yield(10000);
String currentSSID;
int currentWiFiChannel = NETWORK_INFO_DEFAULT_INT;
@@ -614,7 +614,7 @@ void ESP8266WiFiMesh::attemptTransmission(const String &message, bool concluding
if(concludingDisconnect)
{
WiFi.disconnect();
yield();
optimistic_yield(10000);
}
}
@@ -658,7 +658,7 @@ void ESP8266WiFiMesh::acceptRequest()
/* Read in request and pass it to the supplied requestHandler */
String request = _client.readStringUntil('\r');
yield();
optimistic_yield(10000);
_client.flush();
String response = _requestHandler(request, *this);
@@ -669,7 +669,7 @@ void ESP8266WiFiMesh::acceptRequest()
verboseModePrint("Responding"); // Not storing strings in flash (via F()) to avoid performance impacts when using the string.
_client.print(response + '\r');
_client.flush();
yield();
optimistic_yield(10000);
}
}
}