diff --git a/cores/esp8266/Updater.cpp b/cores/esp8266/Updater.cpp index fb539cc3da..7eb33e337d 100644 --- a/cores/esp8266/Updater.cpp +++ b/cores/esp8266/Updater.cpp @@ -37,7 +37,7 @@ void UpdaterClass::_reset() { _command = U_FLASH; if(_ledPin != -1) { - digitalWrite(_ledPin, _ledStateRestore); + digitalWrite(_ledPin, !_ledOn); // off } } @@ -50,10 +50,7 @@ bool UpdaterClass::begin(size_t size, int command, int ledPin, uint8_t ledOn) { } _ledPin = ledPin; - _ledOn = ledOn; - if(_ledPin != -1) { - _ledStateRestore = digitalRead(_ledPin); - } + _ledOn = !!ledOn; // 0(LOW) or 1(HIGH) /* Check boot mode; if boot mode is 1 (UART download mode), we will not be able to reset into normal mode once update is done. @@ -376,7 +373,7 @@ size_t UpdaterClass::writeStream(Stream &data) { while(remaining()) { if(_ledPin != -1) { - digitalWrite(LED_BUILTIN, _ledOn); // Switch LED on + digitalWrite(_ledPin, _ledOn); // Switch LED on } size_t bytesToRead = _bufferSize - _bufferLen; if(bytesToRead > remaining()) { @@ -394,7 +391,7 @@ size_t UpdaterClass::writeStream(Stream &data) { } } if(_ledPin != -1) { - digitalWrite(LED_BUILTIN, _ledOn == HIGH ? LOW : HIGH); // Switch LED off + digitalWrite(_ledPin, !_ledOn); // Switch LED off } _bufferLen += toRead; if((_bufferLen == remaining() || _bufferLen == _bufferSize) && !_writeBuffer()) diff --git a/cores/esp8266/Updater.h b/cores/esp8266/Updater.h index 7fcbb56a5c..73c3a9b87a 100644 --- a/cores/esp8266/Updater.h +++ b/cores/esp8266/Updater.h @@ -165,7 +165,6 @@ class UpdaterClass { int _ledPin; uint8_t _ledOn; - int _ledStateRestore; }; extern UpdaterClass Update;