diff --git a/src/utility/server_drv.cpp b/src/utility/server_drv.cpp index 4fc35b4e..b8565f2e 100644 --- a/src/utility/server_drv.cpp +++ b/src/utility/server_drv.cpp @@ -130,7 +130,7 @@ void ServerDrv::startClient(const char* host, uint8_t host_len, uint32_t ipAddre SpiDrv::spiSlaveDeselect(); //Wait the reply elaboration - SpiDrv::waitForSlaveReady(/* feed_watchdog = */ (protMode == TLS_BEARSSL_MODE)); + SpiDrv::waitForSlaveReady(); SpiDrv::spiSlaveSelect(); // Wait for reply diff --git a/src/utility/spi_drv.cpp b/src/utility/spi_drv.cpp index 3fa29981..dbd52993 100644 --- a/src/utility/spi_drv.cpp +++ b/src/utility/spi_drv.cpp @@ -215,16 +215,16 @@ void SpiDrv::waitForSlaveSign() while (!waitSlaveSign()); } -void SpiDrv::waitForSlaveReady(bool const feed_watchdog) +void SpiDrv::waitForSlaveReady() { - unsigned long const start = millis(); + unsigned long trigger_time = millis(); while (!waitSlaveReady()) { - if (feed_watchdog) { - if ((millis() - start) < 10000) { - WiFi.feedWatchdog(); - } + if (static_cast(trigger_time - millis()) <=0) { + WiFi.feedWatchdog(); + trigger_time = millis() + 10000; } + delay(10); } } diff --git a/src/utility/spi_drv.h b/src/utility/spi_drv.h index d8d1186c..bbeafa0c 100644 --- a/src/utility/spi_drv.h +++ b/src/utility/spi_drv.h @@ -59,7 +59,7 @@ class SpiDrv static char spiTransfer(volatile char data); - static void waitForSlaveReady(bool const feed_watchdog = false); + static void waitForSlaveReady(); //static int waitSpiChar(char waitChar, char* readChar);