// This header file contains a list of user setup files and defines which one // the compiler uses when the IDE performs a Verify/Compile or Upload. // // Users can create configurations for different boards and TFT displays. // This makes selecting between hardware setups easy by "uncommenting" one line. // The advantage of this hardware configuration method is that the examples // provided with the library should work with immediately without any other // changes being needed. It also improves the portability of users sketches to // other hardware configurations and compatible libraries. // // Create a shortcut to this file on your desktop to permit quick access for // editing. Re-compile and upload after making and saving any changes to this // file. // Customised User_Setup files are stored in the "User_Setups" folder. // It is also possible for the user tft settings to be included with the sketch, // see the "Sketch_with_tft_setup" generic example. This may be more convenient // for multiple projects. #ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in // platformio.ini, see notes in "Tools" folder. /////////////////////////////////////////////////////// // User configuration selection lines are below // /////////////////////////////////////////////////////// // Only ONE line below should be uncommented to define your setup. Add extra // lines and files as needed. #include // Default setup is root library folder //#include // Setup file for ESP8266 configured // for my ILI9341 #include // Setup file for // ESP8266 configured for my ST7735 #include // // Setup file for ESP8266 configured for my ILI9163 #include // // Setup file for ESP8266 configured for my // S6D02A1 #include // Setup file for // ESP8266 configured for my stock RPi TFT #include // // Setup file for ESP8266 configured // for my modified RPi TFT #include // // Setup file for ESP8266 configured for my ST7735 128x128 display #include // // Setup file for ESP8266 configured // for my ILI9163 128x128 display #include //// Setup file for ESP8266 configured for my ST7735 #include // // Setup file for ESP8266 configured // for ESP8266 and RPi TFT with touch //#include // Setup file configured // for ESP32 and RPi TFT with touch #include //// Setup file for the ESP32 based // M5Stack (Basic Core only) #include // // Setup file for the ESP32 with parallel bus TFT #include // // Setup file for the ESP32 with // parallel bus TFT #include // Setup // file for ESP8266 configured for HX8357D #include // // Setup file for the ESP32 with // parallel bus TFT #include // Setup // file for ESP8266 and any Waveshare ePaper display #include // // Setup file for ESP8266 configured // for ST7789 //#include // Setup file // configured for RM68140 with parallel bus //#include // Setup file for ESP8266 // and ILI9488 SPI bus TFT #include // // Setup file for ESP32 and ILI9488 SPI bus TFT //#include // Setup file for ESP32 and // TTGO T4 version 1.2 #include // // Setup file for ESP32 and TTGO T4 version 1.3 #include // // Setup file for ESP32 and TTGO TM // ST7789 SPI bus TFT // #include // // Setup file for DSTIKE/ESP32/ESP8266 configured for ST7789 240 x 240 #include // // Setup file for ESP32 and TTGO // T-Display ST7789V SPI bus TFT #include // // Setup file for ESP32 and TTGO // T-Wristband ST7735 SPI bus TFT //#include // ESP32 RPi MHS-4.0 // inch Display-B #include // // ESP8266 RPi MHS-4.0 inch Display-B //#include // Setup for Nucleo // board #include // Setup for // Nucleo board and parallel display #include // // Setup for Nucleo board and // parallel display #include // // Setup for "Blue/Black Pill" //#include // Setup for Nucleo // board //#include // Setup for Nucleo // board and parallel display #include // // Setup for STM32 port A // parallel display //#include // Setup file // configured for ESP32 and RPi ST7796 TFT with touch //#include // Setup file for // ESP32 and SPI ILI9341 240x320 #include // // Setup file for ESP8266 & ESP32 configured for my ST7735S 80x160 #include // // Setup file for ESP32 and TTGO // T-CameraPlus ST7789 SPI bus TFT 240x240 #include // // Setup file for ESP32 and TTGO // T-Watch ST7789 SPI bus TFT 240x240 #include // // Setup file for ESP32 and GC9A01 // SPI bus TFT 240x240 //#include // Setup file for ESP32 // configured for ST7735 128 x 128 animated eyes //#include // Setup file for ESP32 and // SSD1963 TFT display //#include // Setup file for LilyGo // LilyPi with ILI9481 display #include // // Setup file for LilyGo LilyPi with ST7796 display //#include // Setup file for RP2040 // with SPI ILI9341 #include // // Setup file for RP2040 with PIO SPI ILI9341 #include // // Setup file for // RP2040 with SPI ILI9341 //#include // Setup file for ESP32 // S2 with SPI ILI9341 // #include // // Setup file for ESP32 S3 with SPI ILI9341 #include // // Setup file for ESP32 C3 with // SPI ILI9341 #include // Setup // file for ESP32 S3 with SPI ILI9488 //#include // Setup file for ESP32 // S2 with ST7789 // #include // Setup file for ESP32 // with ST7789 1.47" 172x320 //#include // Setup file for // Pico/RP2040 with 8 bit parallel ILI9488 #include // // Setup file for Pico/RP2040 // with 8 bit parallel ILI9481 #include // // Setup file for Pico/RP2040 // with 8 bit parallel ILI9341 #include // // Setup file for Pico/RP2040 // with 8 bit parallel ILI9486 #include // // Setup file for Pico/RP2040 // with 8 bit parallel ST7796 //#include // Setup file // for RP2040 16 bit parallel display #include // // Setup file for // RP2040 16 bit parallel display #include // // Setup file for // RP2040 16 bit parallel display //#include // Setup file for ESP8266 // and ST7789 135 x 240 TFT //#include // Setup file for ESP32 and // Lilygo TTV ST7789 SPI bus TFT 135x240 #include // // Setup file for Lilygo // T-Display RP2040 (ST7789 on SPI bus with 135x240 TFT) //#include // Setup file for ESP32 and // GC9A01 240 x 240 TFT //#include // Setup file for ESP32 // based WT32_SC01 from Seeed //#include // Setup file for // ESP32/ESP8266 based SSD1351 128x128 1.5inch OLED display //#include // Setup file for ESP32/ESP8266 // based ST7789 240X280 1.69inch TFT //#include // Setup file for the // ESP32 TouchDown based on ILI9488 480 x 320 TFT //#include // Setup file for the // ESP32 TouchDown S3 based on ILI9488 480 x 320 TFT //#include // Setup file for // Bw16-based boards with ST7735 160 x 80 TFT //#include // Template file for a setup //#include // Setup file for Dustin // Watts PCB with ILI9488 #include // // Setup file for Dustin Watts PCB with ST7796 #include // // Setup file for Dustin Watts Pico // PCB with ST7796 #include // // Setup file for Dustin Watts PCB with ST7789 240 x 240 on 3.3V adapter board // #include // Setup file for // Dustin Watts PCB with GC9A01 240 x 240 on 3.3V adapter board #include // // Setup file for Dustin Watts // PCB with GC9A01 240 x 240 on 3.3V adapter board #include // // Setup file for Dustin Watts // PCB with ST7789 240 x 240 on 3.3V adapter board #include // // Setup file for Dustin Watts // PCB with ILI9341 #include #endif // USER_SETUP_LOADED ///////////////////////////////////////////////////////////////////////////////////// // // // DON'T TINKER WITH ANY OF THE FOLLOWING LINES, THESE ADD THE TFT DRIVERS // // // AND ESP8266 PIN DEFINITONS, THEY ARE HERE FOR BODMER'S CONVENIENCE! // // // ///////////////////////////////////////////////////////////////////////////////////// // Identical looking TFT displays may have a different colour ordering in the 16 // bit colour #define TFT_BGR 0 // Colour order Blue-Green-Red #define TFT_RGB 1 // Colour order Red-Green-Blue // Legacy setup support, RPI_DISPLAY_TYPE replaces RPI_DRIVER #if defined(RPI_DRIVER) #if !defined(RPI_DISPLAY_TYPE) #define RPI_DISPLAY_TYPE #endif #endif // Legacy setup support, RPI_ILI9486_DRIVER form is deprecated // Instead define RPI_DISPLAY_TYPE and also define driver (e.g. ILI9486_DRIVER) #if defined(RPI_ILI9486_DRIVER) #if !defined(ILI9486_DRIVER) #define ILI9486_DRIVER #endif #if !defined(RPI_DISPLAY_TYPE) #define RPI_DISPLAY_TYPE #endif #endif // Invoke 18 bit colour for selected displays #if !defined(RPI_DISPLAY_TYPE) && !defined(TFT_PARALLEL_8_BIT) && \ !defined(TFT_PARALLEL_16_BIT) && !defined(ESP32_PARALLEL) #if defined(ILI9481_DRIVER) || defined(ILI9486_DRIVER) || \ defined(ILI9488_DRIVER) #define SPI_18BIT_DRIVER #endif #endif // Load the right driver definition - do not tinker here ! #if defined(ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || \ defined(ILI9342_DRIVER) #include #define TFT_DRIVER 0x9341 #elif defined(ST7735_DRIVER) #include #define TFT_DRIVER 0x7735 #elif defined(ILI9163_DRIVER) #include #define TFT_DRIVER 0x9163 #elif defined(S6D02A1_DRIVER) #include #define TFT_DRIVER 0x6D02 #elif defined(ST7796_DRIVER) #include "TFT_Drivers/ST7796_Defines.h" #define TFT_DRIVER 0x7796 #elif defined(ILI9486_DRIVER) #include #define TFT_DRIVER 0x9486 #elif defined(ILI9481_DRIVER) #include #define TFT_DRIVER 0x9481 #elif defined(ILI9488_DRIVER) #include #define TFT_DRIVER 0x9488 #elif defined(HX8357D_DRIVER) #include "TFT_Drivers/HX8357D_Defines.h" #define TFT_DRIVER 0x8357 #elif defined(EPD_DRIVER) #include "TFT_Drivers/EPD_Defines.h" #define TFT_DRIVER 0xE9D #elif defined(ST7789_DRIVER) #include "TFT_Drivers/ST7789_Defines.h" #define TFT_DRIVER 0x7789 #elif defined(R61581_DRIVER) #include "TFT_Drivers/R61581_Defines.h" #define TFT_DRIVER 0x6158 #elif defined(ST7789_2_DRIVER) #include "TFT_Drivers/ST7789_2_Defines.h" #define TFT_DRIVER 0x778B #elif defined(RM68140_DRIVER) #include "TFT_Drivers/RM68140_Defines.h" #define TFT_DRIVER 0x6814 #elif defined(SSD1351_DRIVER) #include "TFT_Drivers/SSD1351_Defines.h" #define TFT_DRIVER 0x1351 #elif defined(SSD1963_480_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined(SSD1963_800_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined(SSD1963_800ALT_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined(SSD1963_800BD_DRIVER) #include "TFT_Drivers/SSD1963_Defines.h" #define TFT_DRIVER 0x1963 #elif defined(GC9A01_DRIVER) #include "TFT_Drivers/GC9A01_Defines.h" #define TFT_DRIVER 0x9A01 #elif defined(ILI9225_DRIVER) #include "TFT_Drivers/ILI9225_Defines.h" #define TFT_DRIVER 0x9225 #elif defined(RM68120_DRIVER) #include "TFT_Drivers/RM68120_Defines.h" #define TFT_DRIVER 0x6812 #elif defined(HX8357B_DRIVER) #include "TFT_Drivers/HX8357B_Defines.h" #define TFT_DRIVER 0x835B #elif defined(HX8357C_DRIVER) #include "TFT_Drivers/HX8357C_Defines.h" #define TFT_DRIVER 0x835C // <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE // XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp #elif defined(XYZZY_DRIVER) #include "TFT_Drivers/XYZZY_Defines.h" #define TFT_DRIVER 0x0000 #else #define TFT_DRIVER 0x0000 #endif // These are the pins for ESP8266 boards // Name GPIO NodeMCU Function #define PIN_D0 16 // GPIO16 WAKE #define PIN_D1 5 // GPIO5 User purpose #define PIN_D2 4 // GPIO4 User purpose #define PIN_D3 0 // GPIO0 Low on boot means enter FLASH mode #define PIN_D4 \ 2 // GPIO2 TXD1 (must be high on boot to go to UART0 FLASH mode) #define PIN_D5 14 // GPIO14 HSCLK #define PIN_D6 12 // GPIO12 HMISO #define PIN_D7 13 // GPIO13 HMOSI RXD2 #define PIN_D8 \ 15 // GPIO15 HCS TXD0 (must be low on boot to enter UART0 FLASH mode) #define PIN_D9 3 // RXD0 #define PIN_D10 1 // TXD0 #define PIN_MOSI 8 // SD1 FLASH and overlap mode #define PIN_MISO 7 // SD0 #define PIN_SCLK 6 // CLK #define PIN_HWCS 0 // D3 #define PIN_D11 9 // SD2 #define PIN_D12 10 // SD4