From 7304f9bf5a736f191909b7f6969cc60c097032c9 Mon Sep 17 00:00:00 2001 From: adrionics Date: Tue, 21 May 2019 01:30:59 -0600 Subject: [PATCH] Update Updater.cpp --- cores/esp8266/Updater.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index 800a1cbb7..1f37f76ef 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -3,6 +3,7 @@ #include "eboot_command.h" #include #include +#include //#define DEBUG_UPDATER Serial @@ -446,7 +447,7 @@ size_t UpdaterClass::writeStream(Stream &data, uint16_t streamTimeout) { _reset(); return 0; } - unsigned long timeout = millis(); + esp8266::polledTimeout::oneShotMs timeOut(streamTimeout); if (_progress_callback) { _progress_callback(0, _size); } @@ -464,7 +465,7 @@ size_t UpdaterClass::writeStream(Stream &data, uint16_t streamTimeout) { } toRead = data.readBytes(_buffer + _bufferLen, bytesToRead); if(toRead == 0) { //Timeout - if (millis() - timeout > streamTimeout) { + if (timeOut) { _currentAddress = (_startAddress + _size); _setError(UPDATE_ERROR_STREAM); _reset(); @@ -472,7 +473,7 @@ size_t UpdaterClass::writeStream(Stream &data, uint16_t streamTimeout) { } delay(100); } else { - timeout = millis(); + timeOut.reset(); } if(_ledPin != -1) { digitalWrite(_ledPin, !_ledOn); // Switch LED off