Commit Graph

79 Commits

Author SHA1 Message Date
Bodmer 8a2398451b RP2040: add SPI PIO interface option, enhance 8 bit parallel PIO
The RP2040 processors can now drive 8 bit parallel and SPI displays using the PIO hardware.

The PIO offloads the processor by providing:
1. PIO managed setWindow sequence
2. PIO managed block and screen fill
2022-01-02 01:08:22 +00:00
Bodmer eee56b2cec Add RP2040 8 bit parallel support with DMA
The RP2040 can now be used with 8 bit parallel TFT interface displays. DMA is also supported for both SPI and 8 bit parallel displays.
2021-12-18 17:06:16 +00:00
Bodmer 64a45f6e07
Merge pull request #1241 from matixan/master
Add option to use SPI3 in STM32F4 (and possibly also in F2)
2021-12-11 22:51:23 +00:00
Bodmer 5959550dd7 Allow RP2040 SPI 0 or SPI 1 ports to be used
Auto set of CGRAM offset for 135 x 240 ST7789 display
2021-12-05 22:34:37 +00:00
Bodmer 84a6945716 Updates for ESP32C3 2021-12-01 15:55:15 +00:00
Bodmer 07e77ad051 Fix generic driver
tft_Write_16N was missing.
2021-11-27 23:26:47 +00:00
Bodmer a2822e6d99 Fix VSPI port for ESP32
ESP32 S2 edits caused a problem
2021-11-18 22:03:49 +00:00
Bodmer 9a084839bd Add ESP32 S2 support
Tested with ESP32 board package 2.0.1

Additional boards manager URL may need to be updated to load the latest ESP32 board package!
2021-11-18 16:44:32 +00:00
Bodmer 0ad6de9161 Fix RP2040 with RPi type display
RPi display requires 16 bit commands and slower DC and CS strobe timings.
2021-11-05 00:09:42 +00:00
Bodmer 9d33b3eac2 RP2040 DMA image copy bug fix
memcpy should be memmove since areas overlap.
2021-11-04 21:44:15 +00:00
Mateusz Czarnecki 28be85212e
Added option to use SPI3 in STM32F4 2021-06-23 14:53:42 +02:00
Bodmer 58f457ba97 Raise issue 2021-05-24 12:04:03 +01:00
Bodmer c7a3f464c3
Fix #1204
This include can now be used with either the latest versions of Arduino official or Earle Philhower's board package.
2021-05-24 11:58:31 +01:00
Bodmer 8efb988cda Over-ride SPI pin defaults for RP2040
See #1188
2021-05-16 13:11:11 +01:00
Bodmer 5a6ef1d05d Fix #1188
Support debugged for ILI9488 TFT with RP2040 processors.
Minor improvements to ESP32 code.
2021-05-15 19:45:33 +01:00
Bodmer 612e76343e Remove unused macros 2021-05-11 01:29:56 +01:00
Bodmer 6b40880375 Merge branch 'master' of https://github.com/Bodmer/TFT_eSPI 2021-05-11 00:22:46 +01:00
Bodmer 9fc8fa6956 Add 2nd init sequence for ILI9341, see #1172
Use:
  #define ILI9341_2_DRIVER
in the setup file to invoke new initicode, instead of:
  #define ILI9341_DRIVER
2021-05-11 00:22:38 +01:00
arduino12 e1161c17f4 Add support for SSD1351! (128*128 OLED)
TODO:
Implement read functions as well..
2021-04-26 20:40:18 +03:00
Bodmer ff3a888212
Fix error 2021-04-24 09:54:13 +01:00
Bodmer 079d7f6ee5 Use RP2040 built-in byte swap for DMA 2021-04-24 01:12:55 +01:00
Bodmer 715b4de525 Fix #1148 (RP2040 pgmspace.h warnings) 2021-04-21 22:48:21 +01:00
Bodmer f33674c1a2 Fix #1144 (RP2040 SPI pin settings)
Library now uses setup defined pins for SPI instead of defaults set by board package.
2021-04-19 00:30:28 +01:00
Bodmer 8a8ad47521 Add DMA for RP2040 with SPI displays 2021-04-18 23:21:38 +01:00
Bodmer add47960b1 Port D test 2021-04-15 01:35:28 +01:00
Bodmer f96efe5d59 Remove Dxx pins for RP2040
Dxx pin names are not used with RPi Pico
Note: A0-3 are defined for pins 26-29
2021-04-12 23:22:27 +01:00
Bodmer 534372ef99 Fix errors with "Arduino Mbed OS RP2040 Boards"
Arduino RP2040 support introduces a new issue.

This is a temporary fix.
2021-04-12 19:39:23 +01:00
Bodmer fce86c0f2e Improve RPi Pico (RP2040) rendering performance 2021-04-05 16:39:33 +01:00
Bodmer 135610b00d
Update TFT_eSPI_RP2040.h 2021-03-30 08:02:55 +01:00
Bodmer f6e90349d8 Add support for Raspberry Pi Pico
Setup file "Setup60_RP2040_ILI9341.h" used for testing with ILI9341 SPI display.
2021-03-30 01:53:27 +01:00
Bodmer 1c36c2c933 Support pseudo 16 bit
See #299
2021-03-27 22:27:09 +00:00
Bodmer 4cc57699fa Fix #1100
Fix STM32 + SSD1963 combination
2021-03-27 00:35:55 +00:00
Bodmer cd025dbc79 Fix #1046
ESP32 DMA did not work if MISO pin is not defined in setup file (affected TTGO T-Display setup 21)
2021-03-13 15:03:21 +00:00
Bodmer b1fb969e86
Update TFT_eSPI_ESP32.c 2021-01-27 05:20:31 +00:00
Bodmer e829dcac21
Avoid compiler optimising out register writes
Precautionary change to avoid potential issues in future developments and during debug
2021-01-27 05:10:53 +00:00
Bodmer 22c514cce9 #940 - Extend allowed TFT_WR pin allocation for ESP32
TFT_WR is 8 bit parallel mode can now be allocated to GPIO >31
Note: allocating a GPIO higher than 31 has a small perfomance impact (~1.23x slower) since signle register write with the data mask cannot be performed.
2021-01-17 12:03:21 +00:00
Maximilian Gerhardt b3dab67178
Fix uncompilable TFT_eSPI_ESP32.h when TFT_RD >= 32 2021-01-17 03:13:10 +01:00
Bodmer 64239999e4 Fix #893 2020-12-31 19:44:33 +00:00
Bodmer 8e75cfa83f Fix #893 2020-12-31 00:15:26 +00:00
Bodmer a4e94634a6
Update TFT_eSPI_STM32.c 2020-12-28 01:03:56 +00:00
Bodmer acdfeb0b36 Fix #873
Minor performance boost to ESP32 block write
2020-12-23 01:10:11 +00:00
Bodmer 974cd7d9cb
Allow DMA for RPi displays 2020-12-19 13:56:02 +00:00
Bodmer 1b54ce87e9 Optional ESP32 DMA engine control of TFT_CS
This change has no impact on examples
See also #850
2020-12-11 21:10:12 +00:00
Bodmer 2162936b40 Enable ESP32 DMA controlled TFT_CS
ESP32 DMA will hold TFT_CS low automatically.
STM32 will not do this and requires bracketing DMA transfers with startWrite and endWrite as in examples.
2020-12-07 17:43:40 +00:00
Bodmer fd16a6066d Update ILI9486 driver for SPI 2020-11-26 14:18:28 +00:00
Bodmer d6e573c230 Fix SPI ILI9481
ILI9481 with 8 bit parallel worked OK but SPI needs an 18 bit colour interface.
2020-11-25 22:54:30 +00:00
Bodmer df23e14675 Make DMA wait handling consistent for ESP32 and STM32 2020-11-19 00:36:59 +00:00
Bodmer bf5bf1852e Add dmaWait() for STM32 2020-11-19 00:15:21 +00:00
Bodmer 579961bd5d
Fix #630 2020-11-15 15:26:19 +00:00
Bodmer 45eb2d38e5 Update TFT_eSPI_Generic.h 2020-11-10 11:28:22 +00:00