diff --git a/TFT_Drivers/ST7789_Defines.h b/TFT_Drivers/ST7789_Defines.h index 2027107..4dbad37 100644 --- a/TFT_Drivers/ST7789_Defines.h +++ b/TFT_Drivers/ST7789_Defines.h @@ -20,6 +20,13 @@ #endif #endif +// 1.47" 172x320 Round Rectangle Color IPS TFT Display +#if (TFT_HEIGHT == 320) && (TFT_WIDTH == 172) + #ifndef CGRAM_OFFSET + #define CGRAM_OFFSET + #endif +#endif + // Delay between some initialisation commands #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked diff --git a/TFT_Drivers/ST7789_Rotation.h b/TFT_Drivers/ST7789_Rotation.h index 797854f..b3b8963 100644 --- a/TFT_Drivers/ST7789_Rotation.h +++ b/TFT_Drivers/ST7789_Rotation.h @@ -15,6 +15,11 @@ colstart = 0; rowstart = 20; } + else if(_init_width == 172) + { + colstart = 34; + rowstart = 0; + } else { colstart = 0; @@ -39,6 +44,11 @@ colstart = 20; rowstart = 0; } + else if(_init_width == 172) + { + colstart = 0; + rowstart = 34; + } else { colstart = 0; @@ -63,6 +73,11 @@ colstart = 0; rowstart = 20; } + else if(_init_width == 172) + { + colstart = 34; + rowstart = 0; + } else { colstart = 0; @@ -86,6 +101,11 @@ colstart = 20; rowstart = 0; } + else if(_init_width == 172) + { + colstart = 0; + rowstart = 34; + } else { colstart = 80; diff --git a/User_Setup.h b/User_Setup.h index 043097a..34cb119 100644 --- a/User_Setup.h +++ b/User_Setup.h @@ -77,6 +77,7 @@ // For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation // #define TFT_WIDTH 80 // #define TFT_WIDTH 128 +// #define TFT_WIDTH 172 // ST7789 172 x 320 // #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 // #define TFT_HEIGHT 160 // #define TFT_HEIGHT 128 diff --git a/User_Setup_Select.h b/User_Setup_Select.h index b5ec322..072c9fc 100644 --- a/User_Setup_Select.h +++ b/User_Setup_Select.h @@ -85,7 +85,8 @@ //#include // Setup file for ESP32 S2 with SPI ILI9341 -//#include // Setup file for ESP32 S2 with ST7789 +//#include // Setup file for ESP32 S2 with ST7789 +//#include // Setup file for ESP32 with ST7789 1.47" 172x320 //#include //#include diff --git a/User_Setups/Setup72_ESP32_ST7789_172x320.h b/User_Setups/Setup72_ESP32_ST7789_172x320.h new file mode 100644 index 0000000..19407d0 --- /dev/null +++ b/User_Setups/Setup72_ESP32_ST7789_172x320.h @@ -0,0 +1,30 @@ +// Support for 1.47" 320x172 Round Rectangle Color IPS TFT Display + +#define ST7789_DRIVER // Full configuration option, define additional parameters below for this display + +#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +#define TFT_WIDTH 172 // ST7789 172 x 320 +#define TFT_HEIGHT 320 // ST7789 240 x 320 + +#define TFT_BL 21 // LED back-light control pin +#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW) + +#define TFT_MOSI 23 +#define TFT_SCLK 18 +#define TFT_CS 5 // Chip select control pin +#define TFT_DC 22 // Data Command control pin +#define TFT_RST 17 // Reset pin (could connect to RST pin) + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +#define SMOOTH_FONT + +#define SPI_FREQUENCY 27000000 diff --git a/User_Setups/SetupX_Template.h b/User_Setups/SetupX_Template.h index 7ef6afe..398d163 100644 --- a/User_Setups/SetupX_Template.h +++ b/User_Setups/SetupX_Template.h @@ -77,6 +77,7 @@ // For ST7789, ST7735, ILI9163 and GC9A01 ONLY, define the pixel width and height in portrait orientation // #define TFT_WIDTH 80 // #define TFT_WIDTH 128 +// #define TFT_WIDTH 172 // ST7789 172 x 320 // #define TFT_WIDTH 240 // ST7789 240 x 240 and 240 x 320 // #define TFT_HEIGHT 160 // #define TFT_HEIGHT 128