]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/nova/__init__.py
d9b7f7577d79b25e31118d489792d27b7f62c116
[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         devices = binhoUtilities.listAvailableDevices()
27
28         if len(devices) > 0:
29             Connection.__instance = binhoHostAdapter.binhoHostAdapter(devices[0])
30         else:
31             raise RuntimeError("No Binho Nova found!")