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