Closed
Description
Port, board and/or hardware
RP2 - Pico 2 W
MicroPython version
MicroPython v1.25.0-preview.229.g0d46e45a1 on 2025-01-27; Raspberry Pi Pico 2 W with RP2350
Reproduction
import time
import _thread
import urequests
SSID = ""
password = ""
def connect_normal():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, password)
print("Connecting to network")
start_time = time.time()
while not wlan.isconnected() and time.time() - start_time < 20:
print("Waiting for connection...")
time.sleep(2)
if wlan.isconnected():
print("Connected to network")
else:
print("Failed to connect to network")
print("Sleep for 2 seconds")
time.sleep(2)
wlan.disconnect()
def main_thread():
connect_normal()
def second_thread():
for (i) in range(10):
print("Second thread")
time.sleep(2)
_thread.start_new_thread(second_thread, ())
main_thread()
Other things tested but not working:
- Extending the 20-second time limit.
- Putting
wlan = network.WLAN(network.STA_IF)
,wlan.active(True)
, andwlan.connect(SSID, password)
before starting a thread. - Switching the functions
connection_normal
andsecond_thread
to run in the other thread. So the connection is made on the newly opened thread. - Building firmware with the latest Pico SDK develop
- Adding
rp2.country("NL")
andnetwork.country(country)
.
Expected behaviour
Expected to connect to the network and print Connected to network
.
Observed behaviour
No connection is established after the set time of 20 seconds. (Time is irrelevant as it never seems to connect). When the line _thread.start_new_thread(second_thread, ())
is commented out, a connection is found almost every single time.
Additional Information
No, I've provided everything above.
Code of Conduct
Yes, I agree