+# 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"""
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"""
raise ValueError("No SPI port on specified pin.")
super().__init__(index, baudrate=baudrate)
+
class SPI_MacroPad(SPI):
"""SPI Class for MacroPad u2if"""
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)
\ No newline at end of file