From 4bff9a73ee8a8e06277208c2b4014896fbdd308a Mon Sep 17 00:00:00 2001 From: Jerry Needell Date: Sun, 24 Feb 2019 12:27:59 -0500 Subject: [PATCH] increase CWLAP timeout, modify simpletest to fix AP Scan --- .../adafruit_espatcontrol.py | 2 +- examples/espatcontrol_simpletest.py | 19 ++++++++++++++----- examples/espatcontrol_webclient.py | 6 ++++-- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/adafruit_espatcontrol/adafruit_espatcontrol.py b/adafruit_espatcontrol/adafruit_espatcontrol.py index 9cece08..db2138f 100644 --- a/adafruit_espatcontrol/adafruit_espatcontrol.py +++ b/adafruit_espatcontrol/adafruit_espatcontrol.py @@ -450,7 +450,7 @@ def scan_APs(self, retries=3): # pylint: disable=invalid-name try: if self.mode != self.MODE_STATION: self.mode = self.MODE_STATION - scan = self.at_response("AT+CWLAP", timeout=3).split(b'\r\n') + scan = self.at_response("AT+CWLAP", timeout=5).split(b'\r\n') except RuntimeError: continue routers = [] diff --git a/examples/espatcontrol_simpletest.py b/examples/espatcontrol_simpletest.py index f2203f5..25cf3d7 100644 --- a/examples/espatcontrol_simpletest.py +++ b/examples/espatcontrol_simpletest.py @@ -14,6 +14,7 @@ # With a Metro or Feather M4 uart = busio.UART(board.TX, board.RX, timeout=0.1) resetpin = DigitalInOut(board.D5) +rtspin = DigitalInOut(board.D6) # With a Particle Argon """ @@ -28,23 +29,31 @@ esp_boot.value = True """ + print("ESP AT commands") -esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, run_baudrate=9600, - reset_pin=resetpin, debug=False) +esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, + reset_pin=resetpin, rts_pin=rtspin, debug=False) print("Resetting ESP module") esp.hard_reset() +first_pass = True while True: try: - print("Checking connection...") - while not esp.is_connected: - print("Initializing ESP module") + if first_pass : + print("Scanning for AP's") + for ap in esp.scan_APs(): + print(ap) + print("Checking connection...") + # secrets dictionary must contain 'ssid' and 'password' at a minimum print("Connecting...") esp.connect(secrets) print("Connected to AT software version ", esp.version) + first_pass = False print("Pinging 8.8.8.8...", end="") print(esp.ping("8.8.8.8")) time.sleep(10) except (ValueError,RuntimeError, adafruit_espatcontrol.OKError) as e: print("Failed to get data, retrying\n", e) + print("Resetting ESP module") + esp.hard_reset() continue diff --git a/examples/espatcontrol_webclient.py b/examples/espatcontrol_webclient.py index 678b117..a756485 100644 --- a/examples/espatcontrol_webclient.py +++ b/examples/espatcontrol_webclient.py @@ -15,11 +15,13 @@ # With a Metro or Feather M4 uart = busio.UART(board.TX, board.RX, timeout=0.1) resetpin = DigitalInOut(board.D5) +rtspin = DigitalInOut(board.D6) # With a Particle Argon """ uart = busio.UART(board.ESP_RX, board.ESP_TX, timeout=0.1) resetpin = DigitalInOut(board.ESP_WIFI_EN) +rtspin = DigitalInOut(board.ESP_CTS) esp_boot = DigitalInOut(board.ESP_BOOT_MODE) from digitalio import Direction esp_boot.direction = Direction.OUTPUT @@ -29,8 +31,8 @@ URL = "http://wifitest.adafruit.com/testwifi/index.html" print("ESP AT GET URL", URL) -esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, run_baudrate=9600, - reset_pin=resetpin, debug=False) +esp = adafruit_espatcontrol.ESP_ATcontrol(uart, 115200, + reset_pin=resetpin, rts_pin=rtspin, debug=False) print("Resetting ESP module") esp.hard_reset()