+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
"""SPI Classes for RP2040s with u2if firmware"""
from .rp2040_u2if import rp2040_u2if
+
# pylint: disable=protected-access, no-self-use
class SPI:
"""SPI Base Class for RP2040 u2if"""
# pylint: enable=too-many-arguments
+
class SPI_Pico(SPI):
+ """SPI Class for Pico u2if"""
def __init__(self, clock, *, baudrate=100000):
index = None
raise ValueError("No SPI port on specified pin.")
super().__init__(index, baudrate=baudrate)
+
class SPI_Feather(SPI):
+ """SPI Class for Feather u2if"""
def __init__(self, clock, *, baudrate=100000):
index = None
raise ValueError("No SPI port on specified pin.")
super().__init__(index, baudrate=baudrate)
+
+class SPI_Feather_CAN(SPI):
+ """SPI Class for Feather EPD u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 14:
+ index = 1
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_Feather_EPD(SPI):
+ """SPI Class for Feather EPD u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 22:
+ index = 0
+ if clock.id == 14:
+ index = 1
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_Feather_RFM(SPI):
+ """SPI Class for Feather EPD u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 14:
+ index = 1
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
class SPI_QTPY(SPI):
+ """SPI Class for QT Py u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 6:
+ index = 0
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_ItsyBitsy(SPI):
+ """SPI Class for ItsyBitsy u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 18:
+ index = 0
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_MacroPad(SPI):
+ """SPI Class for MacroPad u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 26:
+ index = 1
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_KB2040(SPI):
+ """SPI Class for KB2040 u2if"""
+
+ def __init__(self, clock, *, baudrate=100000):
+ index = None
+ if clock.id == 18:
+ index = 0
+ if index is None:
+ raise ValueError("No SPI port on specified pin.")
+ super().__init__(index, baudrate=baudrate)
+
+
+class SPI_Radxa_X4(SPI):
+ """SPI Class for Radxa X4 u2if"""
def __init__(self, clock, *, baudrate=100000):
index = None
if clock.id == 6:
index = 0
+ if clock.id == 10:
+ index = 1
if index is None:
raise ValueError("No SPI port on specified pin.")
- super().__init__(index, baudrate=baudrate)
\ No newline at end of file
+ super().__init__(index, baudrate=baudrate)