1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-07 16:23:38 +03:00

fix fail on slow streams

This commit is contained in:
John Doe 2015-07-01 17:06:59 +03:00 committed by Ivan Grokhotkov
parent 2e08c5d797
commit d828312299

View File

@ -399,12 +399,18 @@ bool EspClass::updateSketch(Stream& in, uint32_t size, bool restartOnFail) {
size_t rd = in.readBytes(buffer.get(), willRead); size_t rd = in.readBytes(buffer.get(), willRead);
if (rd != willRead) { if (rd != willRead) {
#ifdef DEBUG_SERIAL #ifdef DEBUG_SERIAL
DEBUG_SERIAL.println("stream read failed"); DEBUG_SERIAL.printf("stream read less: %u/%u\n", rd, willRead);
#endif #endif
if(restartOnFail) ESP.restart(); if(rd == 0){ //we got nothing from the client
return false; //we should actually give it a bit of a chance to send us something
//connection could be slow ;)
if(restartOnFail) ESP.restart();
return false;
}
//we at least got some data, lets write it to the flash
willRead = rd;
} }
if(addr == freeSpaceStart) { if(addr == freeSpaceStart) {
// check for valid first magic byte // check for valid first magic byte
if(*((uint8 *) buffer.get()) != 0xE9) { if(*((uint8 *) buffer.get()) != 0xE9) {