]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
initial qt2040 trinkey
authorcaternuson <caternuson@gmail.com>
Wed, 19 May 2021 20:46:16 +0000 (13:46 -0700)
committercaternuson <caternuson@gmail.com>
Wed, 19 May 2021 20:46:16 +0000 (13:46 -0700)
src/adafruit_blinka/board/qt2040_trinkey_u2if.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py
src/board.py
src/busio.py
src/digitalio.py

diff --git a/src/adafruit_blinka/board/qt2040_trinkey_u2if.py b/src/adafruit_blinka/board/qt2040_trinkey_u2if.py
new file mode 100644 (file)
index 0000000..287a662
--- /dev/null
@@ -0,0 +1,13 @@
+"""Pin definitions for the QT2040 Trinkey with u2if firmware."""
+
+from adafruit_blinka.microcontroller.rp2040_u2if import pin
+
+BUTTON = pin.GP12
+
+SCL = pin.GP17
+SDA = pin.GP16
+
+NEOPIXEL = pin.GP27
+
+# access u2if via pin instance to open for specifc VID/PID
+pin.GP0._u2if_open_hid(0x239A, 0x13C0)
index bf8d0ed61c2778ec5541b1f546c337063301586b..c7e7e7546f5b104ee56b0c5d2ed57c982bee2b0f 100644 (file)
@@ -82,3 +82,17 @@ class I2C_Feather(I2C):
 
         super().__init__(index, frequency=frequency)
 
+class I2C_QT2040_Trinkey(I2C):
+    """I2C Class for QT2040 Trinkey u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 17 and sda.id == 16:
+            index = 0
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)
+
+
index a34ef4e25386690222aff4a66f2dcb0f5d82423c..2ab103844dd6fabe370c19348cb6ac12f40736ff 100755 (executable)
@@ -230,6 +230,9 @@ elif board_id == ap_board.PICO_U2IF:
 elif board_id == ap_board.FEATHER_U2IF:
     from adafruit_blinka.board.feather_u2if import *
 
+elif board_id == ap_board.QT2040_TRINKEY_U2IF:
+    from adafruit_blinka.board.qt2040_trinkey_u2if import *
+
 elif "sphinx" in sys.modules:
     pass
 
index cfdfa636f35699385c5b31b1de232e4597422e1a..7d32a8b5adeed50399aa86d53a7b83b22d27a728 100755 (executable)
@@ -61,6 +61,11 @@ class I2C(Lockable):
         if detector.board.feather_u2if:
             from adafruit_blinka.microcontroller.rp2040_u2if.i2c import I2C_Feather as _I2C
 
+            self._i2c = _I2C(scl, sda, frequency=frequency)
+            return
+        if detector.board.qt2040_trinkey_u2if:
+            from adafruit_blinka.microcontroller.rp2040_u2if.i2c import I2C_QT2040_Trinkey as _I2C
+
             self._i2c = _I2C(scl, sda, frequency=frequency)
             return
         if detector.chip.id == ap_chip.RP2040:
index 9b44c56e3267804b5b51e2362fd392ba6c8d085e..4f78cc0fda40c837a65352fea5cccd6f33378d12 100755 (executable)
@@ -85,6 +85,8 @@ elif detector.board.pico_u2if:
     from adafruit_blinka.microcontroller.rp2040_u2if.pin import Pin
 elif detector.board.feather_u2if:
     from adafruit_blinka.microcontroller.rp2040_u2if.pin import Pin
+elif detector.board.qt2040_trinkey_u2if:
+    from adafruit_blinka.microcontroller.rp2040_u2if.pin import Pin
 
 from adafruit_blinka import Enum, ContextManaged