Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Adafruit_SPITFT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,7 @@ void Adafruit_SPITFT::writePixels(uint16_t *colors, uint32_t len, bool block,

return;
#elif defined(ARDUINO_ARCH_RP2040)
spi_inst_t *pi_spi = hwspi._spi == &SPI ? spi0 : spi1;
spi_inst_t *pi_spi = hwspi._spi == &SPI ? __SPI0_DEVICE : __SPI1_DEVICE;

if (!bigEndian) {
// switch to 16-bit writes
Expand Down Expand Up @@ -1410,7 +1410,7 @@ void Adafruit_SPITFT::writeColor(uint16_t color, uint32_t len) {
}
} while (len);
#elif defined(ARDUINO_ARCH_RP2040)
spi_inst_t *pi_spi = hwspi._spi == &SPI ? spi0 : spi1;
spi_inst_t *pi_spi = hwspi._spi == &SPI ? __SPI0_DEVICE : __SPI1_DEVICE;
color = __builtin_bswap16(color);

while (len--)
Expand Down Expand Up @@ -2169,7 +2169,7 @@ void Adafruit_SPITFT::spiWrite(uint8_t b) {
#elif defined(ESP8266) || defined(ESP32)
hwspi._spi->write(b);
#elif defined(ARDUINO_ARCH_RP2040)
spi_inst_t *pi_spi = hwspi._spi == &SPI ? spi0 : spi1;
spi_inst_t *pi_spi = hwspi._spi == &SPI ? __SPI0_DEVICE : __SPI1_DEVICE;
spi_write_blocking(pi_spi, &b, 1);
#else
hwspi._spi->transfer(b);
Expand Down Expand Up @@ -2454,7 +2454,7 @@ void Adafruit_SPITFT::SPI_WRITE16(uint16_t w) {
#elif defined(ESP8266) || defined(ESP32)
hwspi._spi->write16(w);
#elif defined(ARDUINO_ARCH_RP2040)
spi_inst_t *pi_spi = hwspi._spi == &SPI ? spi0 : spi1;
spi_inst_t *pi_spi = hwspi._spi == &SPI ? __SPI0_DEVICE : __SPI1_DEVICE;
w = __builtin_bswap16(w);
spi_write_blocking(pi_spi, (uint8_t *)&w, 2);
#elif defined(ARDUINO_ARCH_RTTHREAD)
Expand Down Expand Up @@ -2512,7 +2512,7 @@ void Adafruit_SPITFT::SPI_WRITE32(uint32_t l) {
#elif defined(ESP8266) || defined(ESP32)
hwspi._spi->write32(l);
#elif defined(ARDUINO_ARCH_RP2040)
spi_inst_t *pi_spi = hwspi._spi == &SPI ? spi0 : spi1;
spi_inst_t *pi_spi = hwspi._spi == &SPI ? __SPI0_DEVICE : __SPI1_DEVICE;
l = __builtin_bswap32(l);
spi_write_blocking(pi_spi, (uint8_t *)&l, 4);
#elif defined(ARDUINO_ARCH_RTTHREAD)
Expand Down
10 changes: 10 additions & 0 deletions Adafruit_SPITFT.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,16 @@ typedef volatile ADAGFX_PORT_t *PORTreg_t; ///< PORT register type
/*! For first arg to parallel constructor */
enum tftBusWidth { tft8bitbus, tft16bitbus };

// SPI defaults for RP2040
#if defined(ARDUINO_ARCH_RP2040)
#ifndef __SPI0_DEVICE
#define __SPI0_DEVICE spi0
#endif
#ifndef __SPI1_DEVICE
#define __SPI1_DEVICE spi1
#endif
#endif

// CLASS DEFINITION --------------------------------------------------------

/*!
Expand Down