X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/7f1793b45cf96e21564be8bb7a3a7be999512a9c..3b51fbd50535eb8bea56e5a0ccb676d418e625d6:/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!")