From ee4e3227b47cfc736e73db987ed9e1a772a385d6 Mon Sep 17 00:00:00 2001 From: hornet Date: Sun, 9 Oct 2022 00:41:32 -0400 Subject: [PATCH] Added discovery improvements --- droid.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/droid.py b/droid.py index a5f815a..c880d5e 100644 --- a/droid.py +++ b/droid.py @@ -1,6 +1,6 @@ import asyncio from time import sleep -from bleak import BleakScanner, BleakClient +from bleak import BleakScanner, BleakClient, BleakError class Droid(): def __init__(self, profile): @@ -101,12 +101,24 @@ def findDroid(candidate, data): return False async def main(): - myDroid = await BleakScanner.find_device_by_filter(findDroid) - print (myDroid) + myDroid = None + + while myDroid is None or myDroid == "None": + try: + myDroid = await BleakScanner.find_device_by_filter(findDroid) + if myDroid is None: + print("Droid discovery timed out. Retrying...") + except BleakError as err: + print("Droid discovery failed. Retrying...") + continue + + print (f"Astromech successfully discovered: [ {myDroid} ]") + d = Droid(myDroid) - await d.connect() - sleep (3) + try: + await d.connect() + sleep (3) # await arms.run_routine("05") # sleep (5) # await arms.set_soundbank("05")