X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/05eccbdb7a4966de1a8d8fec15369c967806275f..refs/heads/revert-863-do-not-upload-bdist:/src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py diff --git a/src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py b/src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py index ec836ce..f294e1e 100644 --- a/src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py +++ b/src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT """I2C Classes for RP2040s with u2if firmware""" from .rp2040_u2if import rp2040_u2if @@ -36,7 +39,7 @@ class I2C: out_end=None, in_start=0, in_end=None, - stop=False + stop=False, ): """Write data from buffer_out to an address and then read data from an address and into buffer_in @@ -54,6 +57,7 @@ class I2C: # pylint: enable=unused-argument + class I2C_Pico(I2C): """I2C Class for Pico u2if""" @@ -69,6 +73,7 @@ class I2C_Pico(I2C): super().__init__(index, frequency=frequency) + class I2C_Feather(I2C): """I2C Class for Feather u2if""" @@ -82,8 +87,51 @@ class I2C_Feather(I2C): super().__init__(index, frequency=frequency) + +class I2C_Feather_CAN(I2C): + """I2C Class for Feather EPD u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 3 and sda.id == 2: + index = 1 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + + super().__init__(index, frequency=frequency) + + +class I2C_Feather_EPD(I2C): + """I2C Class for Feather EPD u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 3 and sda.id == 2: + index = 1 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + + super().__init__(index, frequency=frequency) + + +class I2C_Feather_RFM(I2C): + """I2C Class for Feather EPD u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 3 and sda.id == 2: + index = 1 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + + super().__init__(index, frequency=frequency) + + class I2C_QTPY(I2C): - """I2C Class for QT2040 Trinkey u2if""" + """I2C Class for QT Py 2if""" def __init__(self, scl, sda, *, frequency=100000): index = None @@ -97,6 +145,34 @@ class I2C_QTPY(I2C): super().__init__(index, frequency=frequency) + +class I2C_ItsyBitsy(I2C): + """I2C Class for ItsyBitsy u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 3 and sda.id == 2: + index = 1 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + + super().__init__(index, frequency=frequency) + + +class I2C_MacroPad(I2C): + """I2C Class for MacroPad u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 21 and sda.id == 20: + index = 0 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + super().__init__(index, frequency=frequency) + + class I2C_QT2040_Trinkey(I2C): """I2C Class for QT2040 Trinkey u2if""" @@ -111,3 +187,15 @@ class I2C_QT2040_Trinkey(I2C): super().__init__(index, frequency=frequency) +class I2C_KB2040(I2C): + """I2C Class for KB2040 u2if""" + + def __init__(self, scl, sda, *, frequency=100000): + index = None + if scl.id == 13 and sda.id == 12: + index = 0 + if index is None: + raise ValueError("I2C not found on specified pins.") + self._index = index + + super().__init__(index, frequency=frequency)