Skip to content

Commit 9018913

Browse files
committed
Update for #379
Added support for ST7789 135 x 240 display which needs offsets Added Setup135_ST7789.h as an example setup file for ESP8266
1 parent 4a38aa6 commit 9018913

File tree

5 files changed

+101
-11
lines changed

5 files changed

+101
-11
lines changed

TFT_Drivers/ST7789_Rotation.h

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,16 @@
55
switch (rotation) {
66
case 0: // Portrait
77
#ifdef CGRAM_OFFSET
8-
colstart = 0;
9-
rowstart = 0;
8+
if (_init_width == 135)
9+
{
10+
colstart = 52;
11+
rowstart = 40;
12+
}
13+
else
14+
{
15+
colstart = 0;
16+
rowstart = 0;
17+
}
1018
#endif
1119
writedata(TFT_MAD_COLOR_ORDER);
1220

@@ -16,8 +24,16 @@
1624

1725
case 1: // Landscape (Portrait + 90)
1826
#ifdef CGRAM_OFFSET
19-
colstart = 0;
20-
rowstart = 0;
27+
if (_init_width == 135)
28+
{
29+
colstart = 40;
30+
rowstart = 53;
31+
}
32+
else
33+
{
34+
colstart = 0;
35+
rowstart = 0;
36+
}
2137
#endif
2238
writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER);
2339

@@ -27,8 +43,16 @@
2743

2844
case 2: // Inverter portrait
2945
#ifdef CGRAM_OFFSET
30-
colstart = 0;
31-
rowstart = 80;
46+
if (_init_width == 135)
47+
{
48+
colstart = 53;
49+
rowstart = 40;
50+
}
51+
else
52+
{
53+
colstart = 0;
54+
rowstart = 80;
55+
}
3256
#endif
3357
writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
3458

@@ -37,8 +61,16 @@
3761
break;
3862
case 3: // Inverted landscape
3963
#ifdef CGRAM_OFFSET
40-
colstart = 80;
41-
rowstart = 0;
64+
if (_init_width == 135)
65+
{
66+
colstart = 40;
67+
rowstart = 52;
68+
}
69+
else
70+
{
71+
colstart = 80;
72+
rowstart = 0;
73+
}
4274
#endif
4375
writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
4476

User_Setup_Select.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@
5050
//#include <User_Setups/Setup23_TTGO_TM.h> // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT
5151
//#include <User_Setups/Setup24_ST7789.h> // Setup file configured for ST7789 240 x 240
5252

53-
//#include <User_Setups/Setup43_ST7735.h> // Setup file configured for my ST7735S 80x160
53+
//#include <User_Setups/Setup43_ST7735.h> // Setup file configured for my ST7735S 80x160
54+
55+
//#include <User_Setups/Setup135_ST7789.h> // Setup file for ESP8266 and ST7789 125 x 240 TFT
5456

5557
//#include <User_Setups/SetupX_Template.h>
5658

User_Setups/Setup135_ST7789.h

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// ST7789 135 x 240 display with no chip select line
2+
3+
#define ST7789_DRIVER // Configure all registers
4+
5+
#define TFT_WIDTH 135
6+
#define TFT_HEIGHT 240
7+
8+
#define CGRAM_OFFSET // Library will add offsets required
9+
10+
//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
11+
//#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
12+
13+
//#define TFT_INVERSION_ON
14+
//#define TFT_INVERSION_OFF
15+
16+
// DSTIKE stepup
17+
//#define TFT_DC 23
18+
//#define TFT_RST 32
19+
//#define TFT_MOSI 26
20+
//#define TFT_SCLK 27
21+
22+
// Generic ESP32 setup
23+
//#define TFT_MISO 19
24+
//#define TFT_MOSI 23
25+
//#define TFT_SCLK 18
26+
//#define TFT_CS -1 // Not connected
27+
//#define TFT_DC 2
28+
//#define TFT_RST 4 // Connect reset to ensure display initialises
29+
30+
// For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation
31+
#define TFT_CS -1 // Define as not used
32+
#define TFT_DC PIN_D1 // Data Command control pin
33+
//#define TFT_RST PIN_D4 // TFT reset pin (could connect to NodeMCU RST, see next line)
34+
#define TFT_RST -1 // TFT reset pin connect to NodeMCU RST, must also then add 10K pull down to TFT SCK
35+
36+
37+
#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
38+
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
39+
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
40+
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
41+
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:.
42+
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
43+
//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT
44+
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts
45+
46+
#define SMOOTH_FONT
47+
48+
49+
// #define SPI_FREQUENCY 27000000
50+
#define SPI_FREQUENCY 40000000
51+
52+
#define SPI_READ_FREQUENCY 20000000
53+
54+
#define SPI_TOUCH_FREQUENCY 2500000
55+
56+
// #define SUPPORT_TRANSACTIONS

library.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "TFT_eSPI",
3-
"version": "1.4.15",
3+
"version": "1.4.16",
44
"keywords": "tft, ePaper, display, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, ST7789, RM68140",
55
"description": "A TFT and ePaper SPI graphics library for ESP8266 and ESP32",
66
"repository":

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=TFT_eSPI
2-
version=1.4.15
2+
version=1.4.16
33
author=Bodmer
44
maintainer=Bodmer
55
sentence=A fast TFT graphics library for ESP8266 and ESP32 processors for the Arduino IDE

0 commit comments

Comments
 (0)