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