Reputation: 29
I have two co-routines. I start led blinking and wifi connection, but after wifi connection is complete i want to stop led blinking function.
Led blinking function:
async def blink:
while True:
led.on()
await uasyncio.sleep(seconds)
led.off()
await uasyncio.sleep(seconds)
Upvotes: 2
Views: 998
Reputation: 531
use an asyncio.Event e.g.
async def main():
wifi_connected = asyncio.Event()
async def connect_to_wifi():
led.on()
await ... # do connection stuff
wifi_connected.set()
async def wait_for_connection():
await wifi_connected.wait()
led.off()
await asyncio.gather(connect_to_wifi(), wait_for_connection())
asyncio.run(main())
Upvotes: 1