diff --git a/README.md b/README.md index 7013014..82d8a48 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,20 @@ Implemented interfaces: +### Adafruit Feather ThinkInk RP2040 +
+ +Implemented interfaces: + - GPIO + - ADC + - PWM + - UART0 + - I2C0 & I2C1 + - SPI0 & SPI1 + - WS2812B + +
+ ### Adafruit Qt Py RP2040
diff --git a/firmware/README.md b/firmware/README.md index 56007d0..c614686 100644 --- a/firmware/README.md +++ b/firmware/README.md @@ -33,6 +33,8 @@ SUBSYSTEM=="usb", ATTR{idVendor}=="239a", ATTR{idProduct}=="00f7", MODE="0666" KERNEL=="hidraw*", ATTRS{idVendor}=="cafe", ATTRS{idProduct}=="4005", TAG+="uaccess", GROUP="plugdev", MODE="0660" # Adafruit Feather KERNEL=="hidraw*", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="00f1", TAG+="uaccess", GROUP="plugdev", MODE="0660" +# Adafruit Feather ThinkInk +KERNEL=="hidraw*", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="812C", TAG+="uaccess", GROUP="plugdev", MODE="0660" # Adafruit ItsyBitsy KERNEL=="hidraw*", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="00fd", TAG+="uaccess", GROUP="plugdev", MODE="0660" # Adafruit QT2040 Trinkey @@ -64,6 +66,7 @@ The firmware to upload to Pico is u2if/firmware/source/build/u2if.uf2 Compatible board can be: - PICO - FEATHER + - FEATHER_EPD - ITSYBITSY - QTPY - QT2040_TRINKEY diff --git a/firmware/build-all.sh b/firmware/build-all.sh index 9dc0864..6e6747c 100755 --- a/firmware/build-all.sh +++ b/firmware/build-all.sh @@ -30,4 +30,5 @@ build feather FEATHER 0 0 1000 0 build itsybitsy ITSYBITSY 0 0 1000 0 build qtpy QTPY 0 0 1000 0 build qt2040_trinkey QT2040_TRINKEY 0 0 1000 0 +build feather_epd FEATHER_EPD 0 1 1 0 diff --git a/firmware/source/CMakeLists.txt b/firmware/source/CMakeLists.txt index f6219bb..a6805a9 100644 --- a/firmware/source/CMakeLists.txt +++ b/firmware/source/CMakeLists.txt @@ -14,7 +14,7 @@ pico_sdk_init() set(BOARD "PICO" CACHE STRING "BaseName chosen by the user at CMake configure time") -set_property(CACHE BOARD PROPERTY STRINGS PICO FEATHER ITSYBITSY QTPY QT2040_TRINKEY) +set_property(CACHE BOARD PROPERTY STRINGS PICO FEATHER FEATHER_EPD ITSYBITSY QTPY QT2040_TRINKEY) message(STATUS "Selected board:'${BOARD}'") # might help for feather? diff --git a/firmware/source/board_config.h.in b/firmware/source/board_config.h.in index ed450d2..1b3cf46 100644 --- a/firmware/source/board_config.h.in +++ b/firmware/source/board_config.h.in @@ -13,6 +13,7 @@ #define ITSYBITSY 3 #define QTPY 4 #define QT2040_TRINKEY 5 +#define FEATHER_EPD 6 #define BOARD ${BOARD} @@ -131,6 +132,33 @@ #define U2IF_UART0_TX 1 #define U2IF_UART0_RX 2 +//--------------------------------------------------------- +// Feather ThinkInk +//--------------------------------------------------------- +#elif BOARD == FEATHER_EPD + // I2C0 + #define I2C0_ENABLED 1 + #define U2IF_I2C0_SDA 4 + #define U2IF_I2C0_SCL 5 + // I2C1 + #define I2C1_ENABLED 1 + #define U2IF_I2C1_SDA 2 + #define U2IF_I2C1_SCL 3 + // SPI0 + #define SPI0_ENABLED 1 + #define U2IF_SPI0_CK 22 + #define U2IF_SPI0_MOSI 23 + #define U2IF_SPI0_MISO 99 + // SPI1 + #define SPI1_ENABLED 1 + #define U2IF_SPI1_CK 14 + #define U2IF_SPI1_MOSI 15 + #define U2IF_SPI1_MISO 8 + // UART0 + #define UART0_ENABLED 1 + #define U2IF_UART0_TX 0 + #define U2IF_UART0_RX 1 + //--------------------------------------------------------- // Pico (default) //--------------------------------------------------------- diff --git a/firmware/source/usb_descriptors.c b/firmware/source/usb_descriptors.c index ffcb772..77dbfa6 100644 --- a/firmware/source/usb_descriptors.c +++ b/firmware/source/usb_descriptors.c @@ -44,6 +44,11 @@ #define USB_PRD "Feather RP2040 U2IF" #define USB_VID 0x239A #define USB_PID 0x00F1 +#elif BOARD == FEATHER_EPD + #define USB_MFG "Adafruit" + #define USB_PRD "Feather RP2040 ThinkInk U2IF" + #define USB_VID 0x239A + #define USB_PID 0x812C #elif BOARD == ITSYBITSY #define USB_MFG "Adafruit" #define USB_PRD "ItsyBitsy RP2040 U2IF" diff --git a/source/machine/u2if.py b/source/machine/u2if.py index 7344050..8161fd5 100644 --- a/source/machine/u2if.py +++ b/source/machine/u2if.py @@ -8,6 +8,7 @@ # (VID, PID) (0xcafe, 0x4005), # pico (0x239a, 0x00f1), # Adafruit Feather + (0x239a, 0x812C), # Adafruit Feather ThinkInk (0x239a, 0x00fd), # Adafruit ItsyBitsy (0x239a, 0x0109), # Adafruit QT2040 Trinket (0x239a, 0x00f7), # Adafruit QTPY