Skip to content

Inconsistency in setTimeout implementation #6835

Closed
@cziter15

Description

@cziter15

Board / hardware

Doesn't really matter, affect all ESP32 boards

Version

v2.0.3

Description

This is not really a bug to be honest. It's rather small inconsistency that can cause big troubles and might be somehow tweaked in arduino-esp32 to match other implementations of Client.

In development of my hobby IoT framework I've encountered inconsistent behavior between Arduino for ESP32 and ESP8266.

The problem is that everywhere in Arduino framework timeout passed to TCP clients is passed in milliseconds (in Arduino-esp8266 too). However, ESP32's WiFiClient doesn't follow that rule and wants seconds. This is described in header files, but users porting existing code might not notice that fact.

https://www.arduino.cc/reference/en/libraries/ethernet/client.setconnectiontimeout/
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/src/WiFiClient.h (setTimeout method in base client class)

https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/src/WiFiClient.h (setTimeout method)

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions