Commit Graph

149 Commits

Author SHA1 Message Date
Bodmer b7b0660fb9
Update TFT_eSPI_Generic.h 2022-02-09 14:01:17 +00:00
Bodmer 2ee3f36f68
Update TFT_eSPI_ESP8266.h 2022-02-09 14:00:13 +00:00
Bodmer a4a149405f
Update TFT_eSPI_ESP32.h 2022-02-09 13:59:00 +00:00
Bodmer 9cfcf7cbfe
Revert "Support esp32 - c3" 2022-02-08 18:42:27 +00:00
gql19950701 8a1d91652f Support esp32 - c3 2022-02-08 11:31:32 +08:00
Bodmer 29094c9c07
Update TFT_eSPI_Generic.h 2022-02-06 15:54:50 +01:00
Bodmer 0dc68c45b8
Update TFT_eSPI_RP2040.h 2022-02-06 15:53:00 +01:00
Bodmer 4dd4cb678d
Update TFT_eSPI_ESP8266.h 2022-02-06 15:50:03 +01:00
Bodmer 3b50740a29
Update TFT_eSPI_ESP32.h 2022-02-06 15:48:42 +01:00
Bodmer 9ff32bf501 Resolve compile error for STM32F parallel interface 2022-02-04 10:54:47 +00:00
Bodmer b6db90ada4 Add new anit-aliased graphics functions
Examples to follow.
2022-02-03 15:37:44 +00:00
Dr. Stefan Labich 14ff368d5f added USE_FSPI_PORT flag to support more ESP32-S2 boards 2022-02-02 16:52:09 +01:00
Bodmer cb2f5be6c8 Allow use of older (pre 2.0.0) ESP32 board packages 2022-01-29 18:52:00 +00:00
Bodmer 3528ac1457 Update PlatformIO example ini file 2022-01-29 16:43:42 +00:00
Bodmer 47895f1e7b Allow RP2040 to read from SPI TFT 2022-01-27 22:15:04 +00:00
Bodmer 230463317f Update TFT_eSPI_RP2040.h 2022-01-26 22:37:27 +00:00
Bodmer e61fb8c78d Fix #1547 for RP2040 processor with ST7789 TFT
Add Arduino Nano Connect setup example 62
2022-01-26 22:20:34 +00:00
Bodmer 493b1a7fe5 Update RP2040 PIO support
Add example user setup 61
2022-01-05 00:19:19 +00:00
Bodmer 553307aa63
Fix typo 2022-01-03 23:29:31 +00:00
Bodmer c725f201ee
Update TFT_eSPI_RP2040.c 2022-01-02 19:50:04 +00:00
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
Bodmer ee91f723e7 Update DMA fn clipping for viewport 2020-10-06 20:00:59 +01:00
Bodmer 49cef1f35d Support for SSD1963 and ST7706 SPI read
The SSD1963 support has been tested with a 480x800 pixel display from Buy Display.
Support for reading an ST7796 SPI display has been added.
pushToSprite added to keywords list.
2020-10-02 01:07:15 +01:00
Bodmer d7fdcc0991 Fix #740 and #704
#740: To avoid ambiguity the pushSprite for writing a sprite to another sprite has been renamed pushToSprite

#704: Change to 18 bit colurs for SSD1963 with SPI interface

Remove outdated TFT_SPIFFS_Jpeg example
2020-09-07 22:04:42 +01:00
Bodmer dc114db01b Srite class updates + others
Add 2 new pushSprite functions:
1. Sprite to sprite
2. windowed are of sprite to screen
Examples to follow
Bug fixes to sprite class
2020-08-05 20:06:44 +01:00
Bodmer 90cabab91a Update to aid use of ESP32 with multiple displays #687
Fix issue when using ESP32 & using multiple TFT displays & not defining TFT_CS.

Note: Future support for multiple displays in all possible hardware combinations may not be practical.
2020-07-09 14:20:34 +01:00
Bodmer 24750c605d Add option to use STM32 SPI port 2
See new #define options in "Setup29_ILI9341_STM32.h"
2020-06-13 21:05:47 +01:00
Bodmer 960ff6c7b9 Ensure ESP32_PARALLEL defined 2020-05-14 15:33:03 +01:00
Bodmer 232330d5cd
Correct typo 2020-05-13 22:32:54 +01:00
Bodmer cd10a92f11 Allow ESP32 SPI pins to be undefined
See #618
2020-05-13 18:28:44 +01:00
Bodmer cc3a1084fb Fix #617 2020-05-09 19:51:03 +01:00
Bodmer cc4f35f8c1 ESP32 DMA update
dmaBusy() checks and is no longer blocking
pushImageDMA() faster if setAddrWindow is not built into transaction list.
2020-05-08 21:25:38 +01:00
Bodmer f6748bf906 Add ESP32 SPI DMA capability
DMA test examples now work on ESP32
2020-05-05 21:21:28 +01:00
Bodmer 1f2d4b0a75 Issue #510 part STM32F103 workaround 2020-05-01 20:57:03 +01:00
Bodmer e937a3496f Diagnostic sketch update + others
Read_User_Setup updated to be compatible with STM32 and new structure format.
Reduction in compiler warnings
Update Sprite destructor
Update version to 2.2.1
2020-04-16 14:33:42 +01:00
Bodmer 5ff03cd2e9 Support STM32F1xx
STM32F1xx processors do not have MODER direction configuration.
2020-03-29 14:18:14 +01:00
Bodmer 732bdd32eb Port A+B and BRR update
PortA and Port B direction control now works on all STM processors.
Correct BRR to BSRR to support all STM processors.
2020-03-27 21:59:18 +00:00
Bodmer 1015c564f4 Fix STM32 parallel read on port A or B 2020-03-27 02:14:12 +00:00
Bodmer 919febefd6 Fix #581 2020-03-27 01:31:10 +00:00
Bodmer f71df4ffe5 #581 fallout update 2020-03-25 16:57:59 +00:00
Bodmer d1b0bab912 Fix #581 2020-03-25 15:29:53 +00:00
Bodmer 89bf0ce6c1 Fix #581 plus
Update 4 bit Sprite code
Update Animate_Dial example to use italic font with minimised character set, add original jpeg graphic.
Raise to 2.1.8
2020-03-25 14:27:38 +00:00
Bodmer ac8845d589 Fix #566 plus others
Fix image rendering issue.
Deprecate use of pushColors.
Improve ES8266 image rendering performance for ESP8266 and ILI9488.
Add getTextPadding().
2020-03-07 16:26:44 +00:00
Bodmer 65ccbf0139 STM32 update
Boost performance for ILI9488 display with STM32 processors.
Enable smooth fonts in setup files (smooth fonts for STM32 processors is now supported with fonts in program memory)
2020-03-02 22:25:39 +00:00
Bodmer 55e97ffe33
Fix #539 2020-02-16 18:50:39 +00:00
Bodmer 0fd8803ba2 Add smooth fonts in program memory for ESP32/8266
The 4 new smooth font  "Font_Demo_1/2/3/4_Array" examples now work on ESP32 and ESP8266.
2020-02-15 23:58:21 +00:00
Bodmer c689b4211d Add FLASH based anti-aliased fonts
Processors (such as STM32) that are not supported by a SPIFFS library can now use anti-aliased (smooth) fonts stored in FLASH (program) memory.
2020-02-14 23:54:37 +00:00
Bodmer 0e0fd75277 Raise to version 2.0.0
The library has been cleaned up as it has got a bit untidy due to the large number of small incremental changes.

4bit Sprite examples renaed to be consistent with others.

alphaBlend example moved to generic folder (alphaBlend fn was moved to TFT_eSPI class).
Added sections + explanatory comments to functions prototypes.

Temporary comments added for potential gotchas for noobs when using DMA.

spi_begin/end functions renamed to reflect functionality. Old fns  retained for backwards compatibility with user setup.h files.
2020-01-26 21:17:49 +00:00
Bodmer 7f53a571f4 Add STM32 and generic processor support 2020-01-11 23:32:10 +00:00
Bodmer 1476da56ba Restructured code, added ST7796
RPi MHS-4.0 inch Display-B type display now supported.
2020-01-11 00:58:38 +00:00