]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/busio.py
Merge branch 'udoo_x86'
[hackapet/Adafruit_Blinka.git] / src / busio.py
index 1e636a0724148ce034d0423c521748790fa51a3e..279bd46f80ba4910aff9e1518d54c70c482f5cc7 100755 (executable)
@@ -7,12 +7,15 @@ See `CircuitPython:busio` in CircuitPython for more details.
 * Author(s): cefn
 """
 
-import threading
+try:
+    import threading
+except ImportError:
+    threading = None
 
-from adafruit_blinka import Enum, Lockable, agnostic
-from adafruit_blinka.agnostic import board_id, detector
 import adafruit_platformdetect.constants.boards as ap_board
 import adafruit_platformdetect.constants.chips as ap_chip
+from adafruit_blinka import Enum, Lockable, agnostic
+from adafruit_blinka.agnostic import board_id, detector
 
 # pylint: disable=import-outside-toplevel,too-many-branches,too-many-statements
 # pylint: disable=too-many-arguments,too-many-function-args
@@ -69,8 +72,8 @@ class I2C(Lockable):
                     (scl, sda), i2cPorts
                 )
             )
-
-        self._lock = threading.RLock()
+        if threading is not None:
+            self._lock = threading.RLock()
 
     def deinit(self):
         """Deinitialization"""
@@ -80,11 +83,13 @@ class I2C(Lockable):
             pass
 
     def __enter__(self):
-        self._lock.acquire()
+        if threading is not None:
+            self._lock.acquire()
         return self
 
     def __exit__(self, exc_type, exc_value, traceback):
-        self._lock.release()
+        if threading is not None:
+            self._lock.release()
         self.deinit()
 
     def scan(self):