X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/7f1793b45cf96e21564be8bb7a3a7be999512a9c..c2bc4a90827f28abb6b51eae659a1f80a65c0497:/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..d6ab78c 100644 --- a/src/adafruit_blinka/microcontroller/nova/__init__.py +++ b/src/adafruit_blinka/microcontroller/nova/__init__.py @@ -0,0 +1,36 @@ +# 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( # pylint: disable=broad-exception-raised + "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!")