diff --git a/TFT_Drivers/ST7796_Defines.h b/TFT_Drivers/ST7796_Defines.h index ab75c48..1540508 100644 --- a/TFT_Drivers/ST7796_Defines.h +++ b/TFT_Drivers/ST7796_Defines.h @@ -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 diff --git a/TFT_Drivers/ST7796_Rotation.h b/TFT_Drivers/ST7796_Rotation.h index 4788538..c5f6ad6 100644 --- a/TFT_Drivers/ST7796_Rotation.h +++ b/TFT_Drivers/ST7796_Rotation.h @@ -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: diff --git a/User_Setup_Select.h b/User_Setup_Select.h index 135cb3d..bd13702 100644 --- a/User_Setup_Select.h +++ b/User_Setup_Select.h @@ -134,6 +134,8 @@ //#include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT //#include // For the LilyGo T-Embed S3 based ESP32S3 with ST7789 170 x 320 TFT //#include // For the LilyGo T-QT Pro S3 based ESP32S3 with GC9A01 128 x 128 TFT +// #include // For the LilyGo T-PICO-Pro with ST7796 222 x 480 TFT +// #include // For the LilyGo T-BEAM V1.x with ST7796 222 x 480 TFT //#include // For the ESP32 S3 Box Lite //#include // For the ESP32 S3 Box diff --git a/User_Setups/Setup212_LilyGo_T_PicoPro.h b/User_Setups/Setup212_LilyGo_T_PicoPro.h new file mode 100644 index 0000000..404704b --- /dev/null +++ b/User_Setups/Setup212_LilyGo_T_PicoPro.h @@ -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 \ No newline at end of file diff --git a/User_Setups/Setup213_LilyGo_T_Beam_Shield.h b/User_Setups/Setup213_LilyGo_T_Beam_Shield.h new file mode 100644 index 0000000..d9ebc87 --- /dev/null +++ b/User_Setups/Setup213_LilyGo_T_Beam_Shield.h @@ -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