Skip to content

Commit 9172033

Browse files
committed
Prevent WDT resets in SD library (#1815)
1 parent 4341297 commit 9172033

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

libraries/SD/src/utility/Sd2Card.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@ uint8_t Sd2Card::cardCommand(uint8_t cmd, uint32_t arg) {
138138
// wait for response
139139
for (uint8_t i = 0; ((status_ = spiRec()) & 0x80) && i != 0xFF; i++)
140140
;
141+
#ifdef ESP8266
142+
optimistic_yield(10000);
143+
#endif
141144
return status_;
142145
}
143146
//------------------------------------------------------------------------------
@@ -569,6 +572,9 @@ uint8_t Sd2Card::setSckRate(uint8_t sckRateID) {
569572
uint8_t Sd2Card::waitNotBusy(uint16_t timeoutMillis) {
570573
uint16_t t0 = millis();
571574
do {
575+
#ifdef ESP8266
576+
optimistic_yield(10000);
577+
#endif
572578
if (spiRec() == 0XFF) return true;
573579
}
574580
while (((uint16_t)millis() - t0) < timeoutMillis);
@@ -579,6 +585,9 @@ uint8_t Sd2Card::waitNotBusy(uint16_t timeoutMillis) {
579585
uint8_t Sd2Card::waitStartBlock(void) {
580586
uint16_t t0 = millis();
581587
while ((status_ = spiRec()) == 0XFF) {
588+
#ifdef ESP8266
589+
optimistic_yield(10000);
590+
#endif
582591
if (((uint16_t)millis() - t0) > SD_READ_TIMEOUT) {
583592
error(SD_CARD_ERROR_READ_TIMEOUT);
584593
goto fail;

0 commit comments

Comments
 (0)