diff --git a/README.md b/README.md index a8014dbd1..a347be7cb 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Arduino core for ESP8266 WiFi chip # Quick links -- [Latest release documentation](https://arduino-esp8266.readthedocs.io/en/2.5.1/) +- [Latest release documentation](https://arduino-esp8266.readthedocs.io/en/2.5.2/) - [Current "git version" documentation](https://arduino-esp8266.readthedocs.io/en/latest/) - [Install git version](https://arduino-esp8266.readthedocs.io/en/latest/installing.html#using-git-version) ([sources](doc/installing.rst#using-git-version)) @@ -36,7 +36,7 @@ Starting with 1.6.4, Arduino allows installation of third-party platform package #### Latest release [![Latest release](https://img.shields.io/github/release/esp8266/Arduino.svg)](https://github.com/esp8266/Arduino/releases/latest/) Boards manager link: `https://arduino.esp8266.com/stable/package_esp8266com_index.json` -Documentation: [https://arduino-esp8266.readthedocs.io/en/2.5.1/](https://arduino-esp8266.readthedocs.io/en/2.5.1/) +Documentation: [https://arduino-esp8266.readthedocs.io/en/2.5.2/](https://arduino-esp8266.readthedocs.io/en/2.5.2/) ### Using git version (basic instructions) [![Linux build status](https://travis-ci.org/esp8266/Arduino.svg)](https://travis-ci.org/esp8266/Arduino) diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp index 7ae53e6b9..b71a5fa7b 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp @@ -248,6 +248,7 @@ void WiFiClientSecure::_freeSSL() { _recvapp_len = 0; // This connection is toast _handshake_done = false; + _timeout = 15000; } bool WiFiClientSecure::_clientConnected() { @@ -1009,6 +1010,9 @@ bool WiFiClientSecure::_connectSSL(const char* hostName) { _x509_insecure = nullptr; _x509_knownkey = nullptr; + // reduce timeout after successful handshake to fail fast if server stop accepting our data for whathever reason + if (ret) _timeout = 5000; + return ret; } diff --git a/libraries/ESP8266WiFi/src/include/ClientContext.h b/libraries/ESP8266WiFi/src/include/ClientContext.h index 0126621a6..2f2891510 100644 --- a/libraries/ESP8266WiFi/src/include/ClientContext.h +++ b/libraries/ESP8266WiFi/src/include/ClientContext.h @@ -456,7 +456,8 @@ protected: } _send_waiting = true; - esp_yield(); + // This delay will be interrupted by esp_schedule on next received ack + delay(_timeout_ms); } while(true); _send_waiting = false; diff --git a/tools/elf2bin.py b/tools/elf2bin.py index 5d63c4fdb..214cd9407 100755 --- a/tools/elf2bin.py +++ b/tools/elf2bin.py @@ -25,7 +25,7 @@ import subprocess import sys import tempfile -fmodeb = { 'dout': 3, 'dio': 2, 'quot': 1, 'qio': 0 } +fmodeb = { 'dout': 3, 'dio': 2, 'qout': 1, 'qio': 0 } ffreqb = { '40': 0, '26': 1, '20': 2, '80': 15 } fsizeb = { '512K': 0, '256K': 1, '1M': 2, '2M': 3, '4M': 4, '8M': 8, '16M': 9 } diff --git a/tools/platformio-build.py b/tools/platformio-build.py index 18b44c2c2..ce5bbb2de 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -135,16 +135,16 @@ env.Append( ElfToBin=Builder( action=env.VerboseAction(" ".join([ '"$PYTHONEXE"', - '"%s"' % env.subst(join(FRAMEWORK_DIR, "tools", "elf2bin.py")), - "--eboot", '"%s"' % env.subst(join( - FRAMEWORK_DIR, "bootloaders", "eboot", "eboot.elf")), - "--app", '"%s"' % "$SOURCE", + '"%s"' % join(FRAMEWORK_DIR, "tools", "elf2bin.py"), + "--eboot", '"%s"' % join( + FRAMEWORK_DIR, "bootloaders", "eboot", "eboot.elf"), + "--app", "$SOURCE", "--flash_mode", "$BOARD_FLASH_MODE", "--flash_freq", "${__get_board_f_flash(__env__)}", "--flash_size", "${__get_flash_size(__env__)}", - "--path", '"%s"' % env.subst(join( - platform.get_package_dir("toolchain-xtensa"), "bin")), - "--out", '"$TARGET"' + "--path", '"%s"' % join( + platform.get_package_dir("toolchain-xtensa"), "bin"), + "--out", "$TARGET" ]), "Building $TARGET"), suffix=".bin" )