Added ST7796 (222x480) support (#2774)

* Added ST7796 gram offset

* Added LilyGo-T-PicoPro setup

* Fix ST7796 Compilation Warning

* Added T-Beam-Shield User_Steup

* Added  boards setups
This commit is contained in:
Lewis He
2023-08-03 03:09:15 +08:00
committed by GitHub
parent 52384e420a
commit 3b7dd6568d
5 changed files with 116 additions and 0 deletions

View File

@ -1,7 +1,12 @@
// Change the width and height if required (defined in portrait mode)
// or use the constructor to over-ride defaults
#ifndef TFT_WIDTH
#define TFT_WIDTH 320
#endif
#ifndef TFT_HEIGHT
#define TFT_HEIGHT 480
#endif
// Generic commands used by TFT_eSPI.cpp
#define TFT_NOP 0x00

View File

@ -9,21 +9,49 @@
writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER);
_width = _init_width;
_height = _init_height;
#ifdef CGRAM_OFFSET
if (_init_width == 222)
{
colstart = 49;
rowstart = 0;
}
#endif
break;
case 1:
writedata(TFT_MAD_MV | TFT_MAD_COLOR_ORDER);
_width = _init_height;
_height = _init_width;
#ifdef CGRAM_OFFSET
if (_init_width == 222)
{
colstart = 0;
rowstart = 49;
}
#endif
break;
case 2:
writedata(TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
_width = _init_width;
_height = _init_height;
#ifdef CGRAM_OFFSET
if (_init_width == 222)
{
colstart = 49;
rowstart = 0;
}
#endif
break;
case 3:
writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER);
_width = _init_height;
_height = _init_width;
#ifdef CGRAM_OFFSET
if (_init_width == 222)
{
colstart = 0;
rowstart = 49;
}
#endif
break;
// These next rotations are for bottom up BMP drawing
case 4:

View File

@ -134,6 +134,8 @@
//#include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
//#include <User_Setups/Setup210_LilyGo_T_Embed_S3.h> // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT
//#include <User_Setups/Setup211_LilyGo_T_QT_Pro_S3.h> // For the LilyGo T-QT Pro S3 based ESP32S3 with GC9A01 128 x 128 TFT
// #include <User_Setups/Setup212_LilyGo_T_PicoPro.h> // For the LilyGo T-PICO-Pro with ST7796 222 x 480 TFT
// #include <User_Setups/Setup213_LilyGo_T_Beam_Shield.h> // For the LilyGo T-BEAM V1.x with ST7796 222 x 480 TFT
//#include <User_Setups/Setup250_ESP32_S3_Box_Lite.h> // For the ESP32 S3 Box Lite
//#include <User_Setups/Setup251_ESP32_S3_Box.h> // For the ESP32 S3 Box

View File

@ -0,0 +1,45 @@
// ST7796 222 x 480 display with no chip select line
#define USER_SETUP_ID 212
#define ST7796_DRIVER // Configure all registers
#define TFT_WIDTH 222
#define TFT_HEIGHT 480
#define CGRAM_OFFSET // Library will add offsets required
// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
#define TFT_INVERSION_ON
#define TFT_MISO 4
#define TFT_MOSI 7
#define TFT_SCLK 6
#define TFT_CS 8
#define TFT_DC 9
#define TFT_RST 10
#define TFT_BACKLIGHT_ON 1
#define TFT_BL 11
#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
#define SPI_FREQUENCY 40000000
#define SPI_READ_FREQUENCY 20000000
#define SPI_TOUCH_FREQUENCY 2500000
// #define SUPPORT_TRANSACTIONS

View File

@ -0,0 +1,36 @@
// ST7796 222 x 480 display with no chip select line
#define USER_SETUP_ID 213
#define ST7796_DRIVER // Configure all registers
#define TFT_WIDTH 222
#define TFT_HEIGHT 480
#define CGRAM_OFFSET // Library will add offsets required
// #define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
#define TFT_INVERSION_ON
#define TFT_MISO -1
#define TFT_MOSI 14
#define TFT_SCLK 15
#define TFT_CS 25
#define TFT_DC 13
#define TFT_RST 2
#define TFT_BL 4
#define TFT_BACKLIGHT_ON HIGH
#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 40000000