Skip to content

Commit d7d03f9

Browse files
authored
Merge pull request #6869 from dok-net/refactooptimisticyield
Minor yield() cleanup: optimistic_yield, proper polledTimeout use
2 parents 117f163 + 7571c72 commit d7d03f9

File tree

3 files changed

+4
-5
lines changed

3 files changed

+4
-5
lines changed

Diff for: cores/esp8266/HardwareSerial.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ unsigned long HardwareSerial::detectBaudrate(time_t timeoutMillis)
146146
if ((detectedBaudrate = testBaudrate())) {
147147
break;
148148
}
149-
yield();
150149
delay(100);
151150
}
152151
return detectedBaudrate;

Diff for: cores/esp8266/debug.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void hexdump(const void *mem, uint32_t len, uint8_t cols)
5454
}
5555
src += linesize;
5656
len -= linesize;
57-
yield();
57+
optimistic_yield(10000);
5858
}
5959
os_printf("\n");
6060
}

Diff for: libraries/ESP8266WiFi/src/ESP8266WiFiSTA.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -431,10 +431,10 @@ int8_t ESP8266WiFiSTAClass::waitForConnectResult(unsigned long timeoutLength) {
431431
if((wifi_get_opmode() & 1) == 0) {
432432
return WL_DISCONNECTED;
433433
}
434-
using esp8266::polledTimeout::oneShot;
435-
oneShot timeout(timeoutLength); // number of milliseconds to wait before returning timeout error
434+
// if probing doesn't trip, this yields
435+
using oneShotYieldMs = esp8266::polledTimeout::timeoutTemplate<false, esp8266::polledTimeout::YieldPolicy::YieldOrSkip>;
436+
oneShotYieldMs timeout(timeoutLength); // number of milliseconds to wait before returning timeout error
436437
while(!timeout) {
437-
yield();
438438
if(status() != WL_DISCONNECTED) {
439439
return status();
440440
}

0 commit comments

Comments
 (0)