From ef45231b64fd3c6c800bd176181de728e1343265 Mon Sep 17 00:00:00 2001 From: megacct <96644325+megacct@users.noreply.github.com> Date: Fri, 14 Mar 2025 15:05:49 +0000 Subject: [PATCH 1/3] Update SocketHelpers.h to expose ping timeout --- libraries/SocketWrapper/src/SocketHelpers.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/SocketWrapper/src/SocketHelpers.h b/libraries/SocketWrapper/src/SocketHelpers.h index e285d166c..428ab4a63 100644 --- a/libraries/SocketWrapper/src/SocketHelpers.h +++ b/libraries/SocketWrapper/src/SocketHelpers.h @@ -118,9 +118,9 @@ class MbedSocketClass { * * return: RTT in milliseconds or -1 on error */ - int ping(const char* hostname, uint8_t ttl = 255); - int ping(const String &hostname, uint8_t ttl = 255); - int ping(IPAddress host, uint8_t ttl = 255); + int ping(const char* hostname, uint8_t ttl = 255, uint32_t timeout = 5000); + int ping(const String &hostname, uint8_t ttl = 255, uint32_t timeout = 5000); + int ping(IPAddress host, uint8_t ttl = 255, uint32_t timeout = 5000); /* * Download a file from an HTTP endpoint and save it in the provided `target` location on the fs @@ -185,7 +185,7 @@ class MbedSocketClass { void body_callback(const char* data, uint32_t data_len); - int ping(SocketAddress &socketAddress, uint8_t ttl, uint32_t timeout = 5000); + int ping(SocketAddress &socketAddress, uint8_t ttl, uint32_t timeout); static arduino::IPAddress ipAddressFromSocketAddress(SocketAddress socketAddress); static SocketAddress socketAddressFromIpAddress(arduino::IPAddress ip, uint16_t port); static nsapi_error_t gethostbyname(NetworkInterface* interface, const char* aHostname, SocketAddress* socketAddress); From 9b26bd61716a9ec6d39cc5d3d96f7193be1e9f48 Mon Sep 17 00:00:00 2001 From: megacct <96644325+megacct@users.noreply.github.com> Date: Fri, 14 Mar 2025 15:07:53 +0000 Subject: [PATCH 2/3] Update SocketHelpers.cpp to expose ping timeout --- libraries/SocketWrapper/src/SocketHelpers.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/SocketWrapper/src/SocketHelpers.cpp b/libraries/SocketWrapper/src/SocketHelpers.cpp index b7e39b42c..b113e510f 100644 --- a/libraries/SocketWrapper/src/SocketHelpers.cpp +++ b/libraries/SocketWrapper/src/SocketHelpers.cpp @@ -75,22 +75,22 @@ arduino::IPAddress arduino::MbedSocketClass::dnsIP(int n) { return ipAddressFromSocketAddress(ip); } -int arduino::MbedSocketClass::ping(const char *hostname, uint8_t ttl) +int arduino::MbedSocketClass::ping(const char *hostname, uint8_t ttl, uint32_t timeout) { SocketAddress socketAddress; gethostbyname(getNetwork(),hostname, &socketAddress); - return ping(socketAddress, ttl); + return ping(socketAddress, ttl, timeout); } -int arduino::MbedSocketClass::ping(const String &hostname, uint8_t ttl) +int arduino::MbedSocketClass::ping(const String &hostname, uint8_t ttl, uint32_t timeout) { - return ping(hostname.c_str(), ttl); + return ping(hostname.c_str(), ttl, timeout); } -int arduino::MbedSocketClass::ping(IPAddress host, uint8_t ttl) +int arduino::MbedSocketClass::ping(IPAddress host, uint8_t ttl, uint32_t timeout) { SocketAddress socketAddress = socketAddressFromIpAddress(host, 0); - return ping(socketAddress, ttl); + return ping(socketAddress, ttl, timeout); } void arduino::MbedSocketClass::config(arduino::IPAddress local_ip) { From d362a54ae00081c6bd3d03b5ae3107afe34a20d9 Mon Sep 17 00:00:00 2001 From: megacct <96644325+megacct@users.noreply.github.com> Date: Fri, 14 Mar 2025 15:29:03 +0000 Subject: [PATCH 3/3] Update MbedClient.cpp to correct read thread priority and name the thread --- libraries/SocketWrapper/src/MbedClient.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/SocketWrapper/src/MbedClient.cpp b/libraries/SocketWrapper/src/MbedClient.cpp index 296b64943..d678b78db 100644 --- a/libraries/SocketWrapper/src/MbedClient.cpp +++ b/libraries/SocketWrapper/src/MbedClient.cpp @@ -71,7 +71,7 @@ void arduino::MbedClient::configureSocket(Socket *_s) { } mutex->lock(); if (reader_th == nullptr) { - reader_th = new rtos::Thread(osPriorityNormal - 2); + reader_th = new rtos::Thread(osPriorityNormal, OS_STACK_SIZE, nullptr, "readSocket"); reader_th->start(mbed::callback(this, &MbedClient::readSocket)); } mutex->unlock();