arduino-esp32/libraries
Krzysiek S be84c8219c
[WiFiClient] Default connection timeout, when no timeout provided (#5487)
## 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
2021-08-02 15:05:44 +03:00
..
ArduinoOTA Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
AsyncUDP Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
BLE Corrected CLASSIC_BT_ENABLED to CONFIG_BT_CLASSIC_ENABLED. (#5471) 2021-07-29 15:06:43 +03:00
BluetoothSerial Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
DNSServer Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
EEPROM Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
ESP32 Fixed typo in comments. (#5407) 2021-07-19 13:38:40 +03:00
ESPmDNS Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
FFat Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
FS Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
HTTPClient Support for Transfer-Encoding headers that specify "identify" (#5486) 2021-08-02 15:04:48 +03:00
HTTPUpdate Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
HTTPUpdateServer Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
LittleFS Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
NetBIOS Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
Preferences Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
RainMaker Fix compilation for use as IDF component (#5265) 2021-06-09 12:56:12 +03:00
SD Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
SD_MMC Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
SimpleBLE Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
SPI Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
SPIFFS Examples update, add a note for configTime() that only one ntp server is supported by lwip (#5343) 2021-07-22 20:09:28 +03:00
Ticker Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
Update Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
USB Various USB fixes (#5422) 2021-07-20 11:59:13 +03:00
WebServer IDF master c13afea63 (#5214) 2021-05-31 16:32:51 +03:00
WiFi [WiFiClient] Default connection timeout, when no timeout provided (#5487) 2021-08-02 15:05:44 +03:00
WiFiClientSecure fix: WiFiClientSecure connection timeout (#5398) (#5418) 2021-07-21 13:20:23 +03:00
WiFiProv Bump library versions to 2.0.0 (#5182) 2021-05-18 14:00:49 +03:00
Wire Enable I2C_BUFFER_LENGTH definition for Wire lib (#5172) 2021-06-10 13:15:35 +03:00
README.md v2.0.0 Add support for ESP32S2 and update ESP-IDF to 4.4 (#4996) 2021-04-05 14:23:58 +03:00

ESP32 Libraries

arduino-esp32 includes libraries for Arduino compatibility along with some object wrappers around hardware specific devices. Examples are included in the examples folder under each library folder. The ESP32 includes additional examples which need no special drivers.

ArduinoOTA

Over The Air firmware update daemon. Use espota.py to upload to the device.

AsyncUDP

Asynchronous task driven UDP datagram client/server

AzureIoT

Library to interact with Microsoft Azure IoT services

BLE

Bluetooth Low Energy v4.2 client/server framework

BluetoothSerial

Serial to Bluetooth redirection server

DNSServer

A basic UDP DNS daemon (includes captive portal demo)

EEPROM

Arduino compatibility for EEPROM (using flash)

ESP32

Additional examples

  • AnalogOut
  • Camera
  • ChipID
  • DeepSleep
  • ESPNow
  • FreeRTOS
  • GPIO
  • HallSensor
  • I2S
  • ResetReason
  • RMT
  • Time
  • Timer
  • Touch

ESPmDNS

mDNS service advertising

FFat

FAT indexed filesystem on SPI flash

FS

Filesystem virtualization framework

HTTPClient

A simple HTTP client, compatible with WiFiClientSecure

HTTPUpdate

Download a firmware update from HTTPd and apply it using Update

NetBIOS

NetBIOS name advertiser

Preferences

Flash keystore using ESP32 NVS

ESP RainMaker

End-to-end platform by Espressif that enables Makers to realize their IoT ideas faster

SD

Secure Digital card filesystem using SPI access

SD_MMC

Secure Digital card filesystem using 4-lane access

SimpleBLE

Minimal BLE advertiser

SPI

Arduino compatible Serial Peripheral Interface driver (master only)

SPIFFS

SPI Flash Filesystem (see spiffs-plugin to upload to device)

Ticker

A timer to call functions on an interval

Update

Sketch Update using ESP32 OTA functionality

WebServer

A simple HTTP daemon

WiFi

Arduino compatible WiFi driver (includes Ethernet driver)

WiFiClientSecure

Arduino compatible WiFi client object using embedded encryption

Wire

Arduino compatible I2C driver (master only)