X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka.git/blobdiff_plain/7f1793b45cf96e21564be8bb7a3a7be999512a9c..70b2c4be7ea920982168bb03fc55aa5b0563639c:/src/adafruit_blinka/microcontroller/nova/__init__.py diff --git a/src/adafruit_blinka/microcontroller/nova/__init__.py b/src/adafruit_blinka/microcontroller/nova/__init__.py index e69de29..4846370 100644 --- a/src/adafruit_blinka/microcontroller/nova/__init__.py +++ b/src/adafruit_blinka/microcontroller/nova/__init__.py @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""Generic Connection class for Binho Nova to keep track of connection""" + + +class Connection: + """Connection class""" + + __instance = None + + @staticmethod + def getInstance(): + """Static access method.""" + if Connection.__instance is None: + Connection() + return Connection.__instance + + def __init__(self): + """Virtually private constructor.""" + if Connection.__instance is not None: + raise Exception("This class is a singleton!") + + # pylint: disable=import-outside-toplevel + from binhoHostAdapter import binhoHostAdapter + from binhoHostAdapter import binhoUtilities + + # pylint: enable=import-outside-toplevel + devices = binhoUtilities.listAvailableDevices() + + if len(devices) > 0: + Connection.__instance = binhoHostAdapter.binhoHostAdapter(devices[0]) + else: + raise RuntimeError("No Binho Nova found!")