Commit Graph

73 Commits

Author SHA1 Message Date
Bodmer
9418a61bac Fix inline issue with some processors
Remove inline

Other tweaks for compatibility
2023-04-26 13:40:40 +01:00
Bodmer
3c6dab0a52 Add ability to set the RP2040 parallel interface speed
// For RP2040 processor and 8 or 16 bit parallel displays:
// The parallel interface write cycle period is derived from a division of the CPU clock
// speed so scales with the processor clock. This means that the divider ratio may need
// to be increased when overclocking. I may also need to be adjusted dependant on the
// display controller type (ILI94341, HX8357C etc). If RP2040_PIO_CLK_DIV is not defined
// the library will set default values which may not suit your display.
// The display controller data sheet will specify the minimum write cycle period. The
// controllers often work reliably for shorter periods, however if the period is too short
// the display may not initialise or graphics will become corrupted.
// PIO write cycle frequency = (CPU clock/(4 * RP2040_PIO_CLK_DIV))
//#define RP2040_PIO_CLK_DIV 1 // 32ns write cycle at 125MHz CPU clock
#define RP2040_PIO_CLK_DIV 2 // 64ns write cycle at 125MHz CPU clock
//#define RP2040_PIO_CLK_DIV 3 // 96ns write cycle at 125MHz CPU clock
2022-11-05 18:12:28 +00:00
Nicolas Boulicault
2882f1d794 ST7735: Add support for RobotLCD Arduino shield
Without this change, my LCD screen only displays some bars on the screen after init.
2022-08-23 18:17:56 +02:00
Bodmer
7bf48bb179 Add 16 bit parallel for RP2040 processor
Correct legacy comments
Add ESP32 S3 parallel setup 70d
Add setups 105-107 for RP2040 with 16 bit display
Add file conversion notes to PNG array example
2022-05-16 19:58:05 +01:00
Bodmer
79b41bc833 Add #define to disable warnings (#1788)
// Define in setup to disable all #warnings in library (can be put in User_Setup_Select.h)
#define DISABLE_ALL_LIBRARY_WARNINGS
2022-04-27 22:28:52 +01:00
Bodmer
7fc8b99b64 Add new background fill approach to smooth fonts
A new background rendering approach is used for smooth fonts which almost eliminates flicker. tft.print... can now be used with a background rendered for smooth fonts. Font_Demo_1/2/3... examples have been updated.
A new "docs" folder has been created and files moved there. The Tools folder now only contains support tools.

#1757 fixed by using Arduino calls.

A new USER_SETUP_ID parameter can be added to setup files and checked via a new verifySetupID(id); function.

Version raised to v2.4.50
2022-04-18 19:15:40 +01:00
Mingjie Li
40306ae615 Add ST7789 172x320 display 2022-03-09 22:20:58 +08: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
f42daecdb8 Update notes in response to #1475
On ESP8266 when using overlap, only one SPI device can share the FLASH SPI bus .
2021-12-08 00:22:53 +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
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
fce86c0f2e Improve RPi Pico (RP2040) rendering performance 2021-04-05 16:39:33 +01:00
Bodmer
dba2ef1855
Correct leftover from testing 2021-03-30 23:05:29 +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
c11ecd6932 Merge branch 'master' of https://github.com/Bodmer/TFT_eSPI 2021-03-20 23:10:37 +00:00
Bodmer
865983e39c Correct typos 2021-03-20 23:10:33 +00:00
Bodmer
e6df924f10
Typo 2021-03-17 23:36:48 +00:00
unknown
4780bd2fee add GC9A01 option and set ILI9341 as default 2021-02-16 10:16:12 +08:00
unknown
f19e98c192 add GC9A01 option 2021-02-16 00:21:08 +08:00
Bodmer
42e6fc87ff Feature update
Add ILI9225 support
Add viewport feature to Sprites
Rationalise common TFT_eSPI and Sprite functions and variables to use inherited functions width(), height(), rotation(), write(), pivot, cursor, swapBytes.
2020-12-01 20:06:32 +00:00
Bodmer
f96c42253c Add support for choosing colour order on ST7735
See #639
2020-11-02 17:59:04 +00:00
Bodmer
1c66d306d5 Add SSD1963 for #704
Remove setWindow optimisation clash with TFT_eFEX
2020-08-15 00:19:03 +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
1917e8f542 Add fast STM32 parallel mode 2020-03-28 13:47:22 +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
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
Bodmer
c6faa24494 Update notes for #268 2019-11-11 22:17:14 +00:00
Bodmer
e9d405ea1f Fix image cropping bug plus minor update
Images/sprites overlapping both sides of the display were not correctly
cropped.
Option added to allow RGB<>BGR colourr swap option to be used.
ESP8266 Wemos D1 R1 pin numbering difference accomodated.
TTGO T4 setup changed to use HSPI port.
2019-10-21 22:56:35 +01:00
Ricard Bitria Ribes
f14ee2cd9f Add new driver RM68140
-Added new RM68140 480x320 TFT. It works like ILI9481 but needed some changes to make setRotation() work properly.
-Fixed some PlatformIO warnings
2019-07-20 20:57:22 +02:00
Bodmer
9f17920115 Add ESP32 SD support for smooth font plus performance updates
Added SD card storage for smooth fonts with ESP32
ESP32 will use PSRAM (if available and enabled) to hold smooth font
metrics
Improve performance of ESP32 Sprite shared functions
Add basic ST7789 driver option
Latent bug fixes for pin mask
2019-04-15 12:23:16 +01:00
Bodmer
dd4e184b53
Remove obsolete comment 2019-02-13 09:30:44 +00:00
Bodmer
054a824eb8 Add ESP32 VSPI or HSPI port option + others
If the VSPI port is in use and pins are not accessible (e.g. TTGO
T-Beam)
then add or uncomment the following line in the setup header file:
//#define USE_HSPI_PORT

Minor performance tweaks for ESP32 to minimise the occurence of the slow
transaction overhead.

setAddrWindow now takes xstart, ystart, width and height as inputs

Multi-sample raw touch x and y for noisy displays

Example update for setAddrWindow change compatibility
2019-01-22 18:41:31 +00:00
Bodmer
4e6736e596 Add backlight support
The backlight control pin and ON state can be defined in the setup.h
file. Addresses #229, #226, #221

Comments updated and ILI9488 warning added.
2019-01-06 19:03:31 +00:00
Bodmer
05359a4dff Misc updates
Speed up Sprite rotation on an ESP32
Update utf8 serial decoder to handle illegal format strings
Remove need for D0_USED_FOR_xx (issue #271)
Clean up setup files
Correct various comment typos
2019-01-06 17:45:06 +00:00
Bodmer
41dea61bfd Correct #263, add setup file for 160x80 TFT, add invert option
Fixed bug where wrong wodth was returned for 1bpp Sprite
Improved speed for copying a 1bpp Sprite into another 1bpp Sprite (
affects Sprite pushImage() function only)
Added option to setup for colour inversion
2018-11-30 23:27:10 +00:00
Bodmer
beda811a3a Add R61581 driver as detailed in #238
Not tested by Bodmer, tested by s60sc as in #238
2018-11-25 19:41:29 +00:00
Bodmer
1cf2305e4d Add capability to read TFT SDA bi-directional pin
Tested on an ESP32 with ST7789V display
SDA read is very slow on an ESP8266 (to be investigated)
Added new setup #define TFT_SDA_READ
Add new ESP32 and ESP8266 compatible in example/Generic folder to test
capture of TFT screen
2018-11-23 03:09:07 +00:00
Bodmer
419a7ef8de Add option for different RGB colour order with ST7789
// For ST7789 ONLY, define the colour order IF the blue and red are
swapped on your display
//#define TFT_RGB_ORDER TFT_RGB  // Colour order Red-Green-Blue
//#define TFT_RGB_ORDER TFT_BGR  // Colour order Blue-Green-Red
2018-11-19 23:49:32 +00:00
Bodmer
7a3d6bcab9 Minor performance improvements for ESP32
Remove legacy changes for double buffered SPI
Eliminate unecessary ESP32 SPI read/modify write
Eliminate two stage control bit changes (may impact some diplays with
setup/hold  timing and show ESP32 hardware register bug?)
Add single register write for CS and DC command
Make setAddrWindow smarter (as used in previous AVR library)
Improve compatibility with GFX sketches
Re-arrange comments slightly to improve positioning
2018-11-14 01:05:16 +00:00
Gavin Smalley
d4ff3c8dce Add support for red-tabbed 80x160 screen. 2018-11-07 14:56:27 +00:00
Bodmer
cbc2e66dfd Update for WROVER to address #232
The library supported 240x240 ST7789 displays only which require an 80
pixel offset in rotation 2 and 3
The library now also supports the 240x320 display which has a different
RGB colour order.
2018-11-06 00:41:14 +00:00
Bodmer
3faaa32198
Merge pull request #179 from tablatronix/160x80_BGR
160x80 bgr
2018-10-29 19:33:55 +00:00
Bodmer
1a0b37097a Add new anti-aliased (smooth) font examples + bug fixes
Four new examples have been added to show different methods of rendering
the anta-aliased fonts.  A few minor bugs have been corrected associated
with the font rendering. drawNumber and drawFloat handle fixed width
mono fonts with no digit movement.
2018-10-21 17:53:27 +01:00
Shawn A
d8684840aa update user_setup 2018-07-30 12:10:42 -05:00
Bodmer
73c1831e7b Add option for a different TFT read SPI frequency
#define SPI_READ_FREQUENCY  20000000 // Optional reduced SPI frequency
for reading TFT

Also weeded out some compiler warnings
2018-07-29 15:00:09 +01:00
Bodmer
51ed23af0f Support ST7789 rotation offset and boards with no chip select
Other minor changes to tidy code up
Put back in ability to call init() multiple times in sketch
2018-07-06 18:48:24 +01:00
Bodmer
53119823f9 Add support for ST7789 display (240 x 240) 2018-06-01 18:26:09 +01:00