1. 06 2月, 2023 1 次提交
  2. 09 8月, 2022 1 次提交
  3. 27 4月, 2022 1 次提交
  4. 26 4月, 2022 1 次提交
  5. 11 8月, 2021 1 次提交
  6. 02 8月, 2021 1 次提交
    • K
      [WiFiClient] Default connection timeout, when no timeout provided (#5487) · be84c821
      Krzysiek S 提交于
      ## The problem
      WiFiClient's connect method variant where no timeout is passed can block esp32 MCU and may then cause watchdog to kick in and reset the device. This behavior is different from that, what is in arduino-esp8266 core.
      
      ## Summary
      Some cross-esp libraries (working both on esp32 and 8266), like PubSubClient simply call connect method on WiFiClient, to get connected to remote server. However, connect behavior varies betwen esp arduino 8266 and esp arduino 32 cores. This pull request tries introduce same behavior - to make connect method non-blocking on esp32, like it is with 8266 arduino core.
      
      ## Proposed solution
      Introduce default fixed timeout that can be changed by #define - by default set to 3 seconds.
      
      ### Affected components: 
      WiFiClient
      
      ### Affected methods:
      ```c++ 
      int connect(IPAddress ip, uint16_t port);
      int connect(const char *host, uint16_t port);
      ```
      
      ### Impact
      May impact projects or libraries using connect method variant without specified timeout, where:
      - remote is located far away or
      - connection is heavily limited, or
      - remote is slow, when it comes to accept the connection
      be84c821
  7. 09 6月, 2021 1 次提交
    • P
      Fix crash in WiFiClient when read() called after stop() (#5197) · cb7aef1e
      Paolo Messina 提交于
      Thi may happen if read() gets called repeatedly (such as in HttpClient to parse response headers) and the connection is closed unexpectedly or the remote peer may have unexpected behavior that causes the underlying socket to report an error. In that case read() itself calls stop(), which invalidates the receive buffer object. Then when read() is called again without checking, such as inside readStringUntil(), the _rxBuffer is null and ESP32 crashes.
      cb7aef1e
  8. 14 4月, 2021 1 次提交
  9. 05 4月, 2021 1 次提交
  10. 01 12月, 2020 1 次提交
  11. 27 10月, 2020 1 次提交
  12. 29 1月, 2020 2 次提交
  13. 21 1月, 2020 1 次提交
    • M
      fix WiFiClient.connected() (#3654) · bb0a194b
      Mark D 提交于
      WiFiClient.connected() was hanging thinking there was still a connection when the remote had already closed. The one-liner in this patch addresses recv() returning 0 and errno==128. I couldn't find the corresponding errno for 128 but its caught by the case statement which includes EPIPE, ENOTCONN, ECONNRESET and ECONNABORTED so I assume its one of those. Broken pipe maybe?
      ```c
      [D][WiFiClient.cpp:511] connected(): Disconnected: RES: 0, ERR: 128
      ```
      EDIT: added comment to reflect that recv() can set errno when it returns 0.
      bb0a194b
  14. 20 1月, 2020 1 次提交
    • G
      Update WiFiClient.cpp (#3608) · 89351e3a
      Guil-T 提交于
      fixed the connected() function so that it only checks errno if recv returns a value of -1.
      
      "in the even of an error, errno is set to indicate the error" --manpage
      
      This fixes the ESP32 Webserver when dealing with a modern webserver with a slow SD card.
      89351e3a
  15. 10 7月, 2019 1 次提交
  16. 12 4月, 2019 2 次提交
    • V
      replace with strerror (#2663) · 1efcd21b
      Victor Aprea 提交于
      1efcd21b
    • V
      Alternative Improve _uploadReadByte (#2656) · 25c0b522
      Victor Aprea 提交于
      * add opportunity for more than one retry to _uploadReadByte
      
      * an alternative timeout-based method to making _uploadReadByte more resilient
      
      * move timing variables in the correct scope
      
      * implement and use client.getTimeout instead of hard-coded timeout in _uploadReadByte
      
      * add missing return
      
      * some refactoring to address respecting the timeout in a potentially deadlocked connection
      
      * fix spelling in comment
      
      * address review comments; move impl to cpp file for getTimeout, and remove local variable for currentMillis
      
      * remove redundant cast
      
      * need to check for timeout outside the inner while as well
      
      * update WebUpdate example to print something in unexpected callback condition
      
      * update log_e messages per review comments
      25c0b522
  17. 10 4月, 2019 1 次提交
    • D
      Reset retry counter upon successful write (#2638) · a0c975df
      dyarkovoy 提交于
      Currently  WiFiClient::write is unable to send messages over 25Kb, because of the hard-coded retry limit of 10, that is getting decremented on every successful send. Since we cannot send more than 2*MTU bytes in one go, and have only 10 retries, write() is limited to approximately 25Kb. Technically it is not a bug, as it correctly returns the number of sent bytes and the caller can set up futher retries. But not all libs are aware of this behavior, for example, WebServer is not.
      I suggest improving current behavior by resetting retry counter every time we had a successful write, so the limit of 10 retries will apply to Failed writes only, and will not apply to Successful writes. This will allow to write() blobs of arbitrary sizes.
      a0c975df
  18. 14 2月, 2019 1 次提交
  19. 02 1月, 2019 1 次提交
  20. 07 12月, 2018 1 次提交
  21. 05 12月, 2018 1 次提交
  22. 03 12月, 2018 1 次提交
  23. 29 11月, 2018 1 次提交
    • L
      Clean warnings when all warning enabled (#2112) · ce340faf
      Luc 提交于
      * Clean warnings when all warning enabled
      
      Not used variables / functions due to debug log
      
      Dual define with different values :
      cores\esp32/binary.h
      #define B110 6
      #define B1000000 64
      
      tools/sdk/include/newlib/sys/termios.h
      #define B110        3
      #define B1000000   23
      
      Local variable returned in WiFiclient Secure
      
      * change due to deprecated function
      
      * Update with proper variable and label
      
      * Update esp32-hal-i2c.c
      
      * Apply changes requested
      
      * Fix warnings due to #define conflict thanks @atanisoft
      ce340faf
  24. 19 11月, 2018 1 次提交
    • J
      Feature/http client (#1973) · 01d22c88
      Jeroen88 提交于
      * Pass client parameter into two new begin() functions. Set other begin() functions deprecated. Updated library version to 1.2
      
      * Added working HTTPS example on a public url with a certificate
      
      * Remove two unnecessary tests in ::disconnect()
      
      * Add a scoping block to BasicHttpsClient.ino to assure HTTPClient is destroyed before WiFiClientSecure
      
      * Added check to handle mixup of old and present api properly
      
      * Correct HTTPClient::setTimeout() to convert milliseconds to seconds. Correct WiFiClient::setTimeout() to call Stream::setTimeout() with seconds converted back to milliseconds. Remove inproper checks for _insecure.
      
      * Added small comment because it looked like the Travis build did not finish
      01d22c88
  25. 17 7月, 2018 1 次提交
  26. 11 7月, 2018 1 次提交
  27. 10 7月, 2018 1 次提交
  28. 06 7月, 2018 1 次提交
  29. 27 6月, 2018 1 次提交
    • M
      Update IDF to aaf1239 (#1539) · a59eafbc
      Me No Dev 提交于
      * fix sdmmc config
      
      * Fix warnings in EEPROM
      
      from @Curclamas
      
      * remove leftover TAG in EEPROM
      
      * Initial add of @stickbreaker i2c
      
      * Add log_n
      
      * fix warnings when log is off
      
      * i2c code clean up and reorganization
      
      * add flags to interrupt allocator
      
      * fix sdmmc config
      
      * Fix warnings in EEPROM
      
      from @Curclamas
      
      * remove leftover TAG in EEPROM
      
      * fix errors with latest IDF
      
      * fix debug optimization (#1365)
      
      incorrect optimization for debugging tick markers.
      
      * Fix some missing BT header
      
      * Change BTSerial log calls
      
      * Update BLE lib
      
      * Arduino-ESP32 release management scripted (#1515)
      
      * Calculate an absolute path for a custom partitions table (#1452)
      
      * * Arduino-ESP32 release management scripted
      (ready-to-merge)
      
      * * secure env for espressif/arduino-esp32
      
      * * build tests enabled
      * gitter webhook enabled
      
      * * gitter room link fixed
      * better comment
      
      * * filepaths fixed
      
      * BT Serial adjustments
      
      * * don't run sketch builds & tests for tagged builds
      
      * Return false from WiFi.hostByName() if hostname is not resolved
      
      * Free BT Memory when BT is not used
      
      * WIFI_MODE_NULL is not supported anymore
      
      * Select some key examples to build with PlatformIO to save some time
      
      * Update BLE lib
      
      * Fixed BLE lib
      
      * Major WiFi overhaul
      
      - auto reconnect on connection loss now works
      - moved to event groups
      - some code clean up and procedure optimizations
      - new methods to get a more elaborate system ststus
      
      * Add cmake tests to travis
      
      * Add initial AsyncUDP
      
      * Add NetBIOS lib and fix CMake includes
      
      * Add Initial WebServer
      
      * Fix WebServer and examples
      
      * travis not quiting on build fail
      
      * Try different travis build
      
      * Update IDF to aaf1239
      
      * Fix WPS Example
      
      * fix script permission and add some fail tests to sketch builder
      
      * Add missing space in WiFiClient::write(Stream &stream)
      a59eafbc
  30. 14 5月, 2018 1 次提交
  31. 18 10月, 2017 1 次提交
  32. 29 9月, 2017 1 次提交
  33. 01 8月, 2017 1 次提交
    • B
      Handle partial socket send (#503) · 37ef5a43
      bbx10 提交于
      send() can return a value > 0 but less than size indicating it was able to accept some of the data in buffer. The caller must try again after updating the buffer pointer and size remaining.
      37ef5a43
  34. 14 6月, 2017 2 次提交
  35. 22 5月, 2017 2 次提交
  36. 20 3月, 2017 1 次提交