File tree Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Expand file tree Collapse file tree 1 file changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -433,7 +433,7 @@ bool UpdaterClass::_verifyEnd() {
433433    return  false ;
434434}
435435
436- size_t  UpdaterClass::writeStream (Stream &data) {
436+ size_t  UpdaterClass::writeStream (Stream &data,  uint16_t  streamTimeout ) {
437437    size_t  written = 0 ;
438438    size_t  toRead = 0 ;
439439    if (hasError () || !isRunning ())
@@ -446,6 +446,7 @@ size_t UpdaterClass::writeStream(Stream &data) {
446446        _reset ();
447447        return  0 ;
448448    }
449+     unsigned  long  timeout = millis ();
449450    if  (_progress_callback) {
450451        _progress_callback (0 , _size);
451452    }
@@ -463,14 +464,15 @@ size_t UpdaterClass::writeStream(Stream &data) {
463464        }
464465        toRead = data.readBytes (_buffer + _bufferLen,  bytesToRead);
465466        if (toRead == 0 ) { // Timeout
466-             delay (100 );
467-             toRead = data.readBytes (_buffer + _bufferLen, bytesToRead);
468-             if (toRead == 0 ) { // Timeout
469-                 _currentAddress = (_startAddress + _size);
470-                 _setError (UPDATE_ERROR_STREAM);
471-                 _reset ();
472-                 return  written;
473-             }
467+           if  (millis () - timeout > streamTimeout) {
468+             _currentAddress = (_startAddress + _size);
469+             _setError (UPDATE_ERROR_STREAM);
470+             _reset ();
471+             return  written;
472+           }
473+           delay (100 );
474+         } else  {
475+           timeout = millis ();
474476        }
475477        if (_ledPin != -1 ) {
476478            digitalWrite (_ledPin, !_ledOn); //  Switch LED off
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments