Skip to content

WiFiClient connect timeout #252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 31, 2025

Conversation

JAndrassy
Copy link
Contributor

@JAndrassy JAndrassy commented Sep 17, 2023

Following the support in the firmware in arduino/nina-fw#89, here is the implementation of WiFiClient.connect timeout.

Additionally the strange 10 seconds waiting time is removed.

overview of Client API in Arduino networking libraries:
https://github.com/JAndrassy/Arduino-Networking-API/blob/main/ArduinoNetAPILibs.md#client-getters-and-setters

@github-actions

This comment was marked as outdated.

@per1234 per1234 added type: enhancement Proposed improvement topic: code Related to content of the project itself labels Sep 18, 2023
@JAndrassy JAndrassy force-pushed the client_connect_timeout branch from 0114f39 to 4aa71f6 Compare October 8, 2023 09:10
@github-actions
Copy link

github-actions bot commented Oct 8, 2023

Memory usage change @ 4aa71f6

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 💚 -280 - 0 -0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018:mode=on 💚 -390 - 0 -0.8 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 💚 -276 - 0 -0.11 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 💚 -276 - 0 -0.11 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 💚 -276 - 0 -0.11 - 0.0 0 - 0 0.0 - 0.0
Click for full report table
Board examples/AP_SimpleWebServer
flash
% examples/AP_SimpleWebServer
RAM for global variables
% examples/ConnectNoEncryption
flash
% examples/ConnectNoEncryption
RAM for global variables
% examples/ConnectWithWEP
flash
% examples/ConnectWithWEP
RAM for global variables
% examples/ConnectWithWPA
flash
% examples/ConnectWithWPA
RAM for global variables
% examples/ConnectWithWPA2Enterprise
flash
% examples/ConnectWithWPA2Enterprise
RAM for global variables
% examples/ScanNetworks
flash
% examples/ScanNetworks
RAM for global variables
% examples/ScanNetworksAdvanced
flash
% examples/ScanNetworksAdvanced
RAM for global variables
% examples/SimpleWebServerWiFi
flash
% examples/SimpleWebServerWiFi
RAM for global variables
% examples/Tools/CheckFirmwareVersion
flash
% examples/Tools/CheckFirmwareVersion
RAM for global variables
% examples/Tools/FirmwareUpdater
flash
% examples/Tools/FirmwareUpdater
RAM for global variables
% examples/Tools/SerialNINAPassthrough
flash
% examples/Tools/SerialNINAPassthrough
RAM for global variables
% examples/WiFiChatServer
flash
% examples/WiFiChatServer
RAM for global variables
% examples/WiFiPing
flash
% examples/WiFiPing
RAM for global variables
% examples/WiFiSSLClient
flash
% examples/WiFiSSLClient
RAM for global variables
% examples/WiFiStorage
flash
% examples/WiFiStorage
RAM for global variables
% examples/WiFiUdpNtpClient
flash
% examples/WiFiUdpNtpClient
RAM for global variables
% examples/WiFiUdpSendReceiveString
flash
% examples/WiFiUdpSendReceiveString
RAM for global variables
% examples/WiFiWebClient
flash
% examples/WiFiWebClient
RAM for global variables
% examples/WiFiWebClientRepeating
flash
% examples/WiFiWebClientRepeating
RAM for global variables
% examples/WiFiWebServer
flash
% examples/WiFiWebServer
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect -276 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -276 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -276 -0.0 0 0.0 0 0.0 0 0.0 -280 -0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -280 -0.0 0 0.0 -280 -0.0 0 0.0 -276 -0.0 0 0.0
arduino:megaavr:uno2018:mode=on -374 -0.77 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -374 -0.77 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -374 -0.77 0 0.0 0 0.0 0 0.0 -390 -0.8 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -390 -0.8 0 0.0 -390 -0.8 0 0.0 -374 -0.77 0 0.0
arduino:samd:mkrvidor4000 -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 -276 -0.11 0 0.0 -272 -0.1 0 0.0
arduino:samd:mkrwifi1010 -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 -276 -0.11 0 0.0 -272 -0.1 0 0.0
arduino:samd:nano_33_iot -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -272 -0.1 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 -276 -0.11 0 0.0 -276 -0.11 0 0.0 -272 -0.1 0 0.0
Click for full report CSV
Board,examples/AP_SimpleWebServer<br>flash,%,examples/AP_SimpleWebServer<br>RAM for global variables,%,examples/ConnectNoEncryption<br>flash,%,examples/ConnectNoEncryption<br>RAM for global variables,%,examples/ConnectWithWEP<br>flash,%,examples/ConnectWithWEP<br>RAM for global variables,%,examples/ConnectWithWPA<br>flash,%,examples/ConnectWithWPA<br>RAM for global variables,%,examples/ConnectWithWPA2Enterprise<br>flash,%,examples/ConnectWithWPA2Enterprise<br>RAM for global variables,%,examples/ScanNetworks<br>flash,%,examples/ScanNetworks<br>RAM for global variables,%,examples/ScanNetworksAdvanced<br>flash,%,examples/ScanNetworksAdvanced<br>RAM for global variables,%,examples/SimpleWebServerWiFi<br>flash,%,examples/SimpleWebServerWiFi<br>RAM for global variables,%,examples/Tools/CheckFirmwareVersion<br>flash,%,examples/Tools/CheckFirmwareVersion<br>RAM for global variables,%,examples/Tools/FirmwareUpdater<br>flash,%,examples/Tools/FirmwareUpdater<br>RAM for global variables,%,examples/Tools/SerialNINAPassthrough<br>flash,%,examples/Tools/SerialNINAPassthrough<br>RAM for global variables,%,examples/WiFiChatServer<br>flash,%,examples/WiFiChatServer<br>RAM for global variables,%,examples/WiFiPing<br>flash,%,examples/WiFiPing<br>RAM for global variables,%,examples/WiFiSSLClient<br>flash,%,examples/WiFiSSLClient<br>RAM for global variables,%,examples/WiFiStorage<br>flash,%,examples/WiFiStorage<br>RAM for global variables,%,examples/WiFiUdpNtpClient<br>flash,%,examples/WiFiUdpNtpClient<br>RAM for global variables,%,examples/WiFiUdpSendReceiveString<br>flash,%,examples/WiFiUdpSendReceiveString<br>RAM for global variables,%,examples/WiFiWebClient<br>flash,%,examples/WiFiWebClient<br>RAM for global variables,%,examples/WiFiWebClientRepeating<br>flash,%,examples/WiFiWebClientRepeating<br>RAM for global variables,%,examples/WiFiWebServer<br>flash,%,examples/WiFiWebServer<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,-276,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-276,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-276,-0.0,0,0.0,0,0.0,0,0.0,-280,-0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-280,-0.0,0,0.0,-280,-0.0,0,0.0,-276,-0.0,0,0.0
arduino:megaavr:uno2018:mode=on,-374,-0.77,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-374,-0.77,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-374,-0.77,0,0.0,0,0.0,0,0.0,-390,-0.8,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-390,-0.8,0,0.0,-390,-0.8,0,0.0,-374,-0.77,0,0.0
arduino:samd:mkrvidor4000,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,-276,-0.11,0,0.0,-272,-0.1,0,0.0
arduino:samd:mkrwifi1010,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,-276,-0.11,0,0.0,-272,-0.1,0,0.0
arduino:samd:nano_33_iot,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-272,-0.1,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,-276,-0.11,0,0.0,-276,-0.11,0,0.0,-272,-0.1,0,0.0

@per1234 per1234 linked an issue Jan 31, 2024 that may be closed by this pull request
@pennam pennam added the 2.x.x label Mar 19, 2025
@github-actions github-actions bot removed the 2.x.x label Mar 20, 2025
@pennam pennam added the 2.x.x label Mar 25, 2025
@github-actions github-actions bot removed the 2.x.x label Mar 26, 2025
@pennam pennam changed the base branch from master to 2.x.x March 28, 2025 08:32
Copy link
Contributor

@pennam pennam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @JAndrassy Thanks for your contribution. I may have found a small bug, please take a look at my suggestion.

I think we should add the timeout parameter also to :

void ServerDrv::startClient(uint32_t ipAddress, uint16_t port, uint8_t sock, uint8_t protMode)

Copy link

Memory usage change @ 93bd849

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table
Board examples/PreferencesCounter
flash
% examples/PreferencesCounter
RAM for global variables
% examples/PreferencesValidation
flash
% examples/PreferencesValidation
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrvidor4000 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:nano_33_iot 0 0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/PreferencesCounter<br>flash,%,examples/PreferencesCounter<br>RAM for global variables,%,examples/PreferencesValidation<br>flash,%,examples/PreferencesValidation<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkrvidor4000,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkrwifi1010,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:nano_33_iot,0,0.0,0,0.0,0,0.0,0,0.0

@pennam pennam merged commit 37945d0 into arduino-libraries:2.x.x Mar 31, 2025
8 checks passed
@JAndrassy JAndrassy deleted the client_connect_timeout branch March 31, 2025 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Non blocking WiFi.begin() & Client.connect()
3 participants