Skip to content

Commit c9b494b

Browse files
authored
Merge pull request #6006 from DavePutz/issue_5980
Correct ping timeout for espressif
2 parents 54589de + 6563f71 commit c9b494b

File tree

1 file changed

+3
-1
lines changed
  • ports/espressif/common-hal/wifi

1 file changed

+3
-1
lines changed

ports/espressif/common-hal/wifi/Radio.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "shared-bindings/ipaddress/IPv4Address.h"
3737
#include "shared-bindings/wifi/ScannedNetworks.h"
3838
#include "shared-bindings/wifi/AuthMode.h"
39+
#include "shared-bindings/time/__init__.h"
3940
#include "shared-module/ipaddress/__init__.h"
4041

4142
#include "components/esp_wifi/include/esp_wifi.h"
@@ -399,7 +400,8 @@ mp_int_t common_hal_wifi_radio_ping(wifi_radio_obj_t *self, mp_obj_t ip_address,
399400

400401
uint32_t received = 0;
401402
uint32_t total_time_ms = 0;
402-
while (received == 0 && total_time_ms < timeout_ms && !mp_hal_is_interrupted()) {
403+
uint32_t start_time = common_hal_time_monotonic_ms();
404+
while (received == 0 && (common_hal_time_monotonic_ms() - start_time < timeout_ms) && !mp_hal_is_interrupted()) {
403405
RUN_BACKGROUND_TASKS;
404406
esp_ping_get_profile(ping, ESP_PING_PROF_DURATION, &total_time_ms, sizeof(total_time_ms));
405407
esp_ping_get_profile(ping, ESP_PING_PROF_REPLY, &received, sizeof(received));

0 commit comments

Comments
 (0)