Skip to content

Commit

Permalink
Merge pull request #166 from pimoroni/patch-cheerlights-try-try-again
Browse files Browse the repository at this point in the history
Retry failed HTTP connections in cheerlights.py
  • Loading branch information
Gadgetoid committed Jun 5, 2021
2 parents bd359b7 + ff8917c commit 28a0a82
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions micropython/examples/pico_wireless/cheerlights.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import picowireless
from micropython import const

WIFI_SSID = "your SSID here!"
WIFI_SSID = "Your SSID here!"
WIFI_PASS = "Your PSK here!"

CLOUDFLARE_DNS = (1, 1, 1, 1)
Expand Down Expand Up @@ -31,7 +31,7 @@ def connect(host_address, port, client_sock, timeout=1000):
return False


def http_request(client_sock, host_address, port, request_host, request_path, handler):
def http_request(client_sock, host_address, port, request_host, request_path, handler, timeout=5000):
print("Connecting to {1}.{2}.{3}.{4}:{0}...".format(port, *host_address))
if not connect(host_address, port, client_sock):
print("Connection failed!")
Expand All @@ -46,7 +46,14 @@ def http_request(client_sock, host_address, port, request_host, request_path, ha

picowireless.send_data(client_sock, http_request)

t_start = time.time()

while True:
if time.time() - t_start > timeout:
picowireless.client_stop(client_sock)
print("HTTP request to {}:{} timed out...".format(host_address, port))
return False

avail_length = picowireless.avail_data(client_sock)
if avail_length > 0:
break
Expand Down

0 comments on commit 28a0a82

Please sign in to comment.