]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/nova/__init__.py
Merge pull request #307 from luke-iqt/master
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / nova / __init__.py
1 """Generic Connection class for Binho Nova to keep track of connection"""
2
3
4 class Connection:
5     """Connection class"""
6
7     __instance = None
8
9     @staticmethod
10     def getInstance():
11         """ Static access method. """
12         if Connection.__instance is None:
13             Connection()
14         return Connection.__instance
15
16     def __init__(self):
17         """ Virtually private constructor. """
18         if Connection.__instance is not None:
19             raise Exception("This class is a singleton!")
20
21         # pylint: disable=import-outside-toplevel
22         from binhoHostAdapter import binhoHostAdapter
23         from binhoHostAdapter import binhoUtilities
24
25         # pylint: enable=import-outside-toplevel
26
27         utilities = binhoUtilities.binhoUtilities()
28         devices = utilities.listAvailableDevices()
29
30         if len(devices) > 0:
31             Connection.__instance = binhoHostAdapter.binhoHostAdapter(devices[0])
32         else:
33             raise RuntimeError("No Binho Nova found!")