Files
TFT_eSPI/User_Setup_Select.h
T

224 lines
11 KiB
C
Raw Normal View History

2017-02-22 03:07:17 +00:00
// This header file contains a list of user setup files and defines which one the
2018-02-09 21:52:26 +00:00
// compiler uses when the IDE performs a Verify/Compile or Upload.
2017-02-22 03:07:17 +00:00
//
2018-02-09 21:52:26 +00:00
// Users can create configurations for different Espressif boards and TFT displays.
2017-02-22 03:07:17 +00:00
// 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 different setups immediately without any other
2017-03-24 23:23:35 +00:00
// changes being needed. It also improves the portability of users sketches to other
2017-02-22 03:07:17 +00:00
// hardware configurations and compatible libraries.
//
2018-02-24 19:02:20 +00:00
// Create a shortcut to this file on your desktop to permit quick access for editing.
2017-02-22 03:07:17 +00:00
// Re-compile and upload after making and saving any changes to this file.
2017-02-22 10:04:26 +00:00
// Customised User_Setup files are stored in the "User_Setups" folder.
2017-02-22 03:07:17 +00:00
2018-04-02 02:53:42 +01:00
#ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in
// platformio.ini, see notes in "Tools" folder.
// Only ONE line below should be uncommented. Add extra lines and files as needed.
2020-01-12 00:10:30 +00:00
#include <User_Setup.h> // Default setup is root library folder
2017-02-22 10:04:26 +00:00
//#include <User_Setups/Setup1_ILI9341.h> // Setup file configured for my ILI9341
//#include <User_Setups/Setup2_ST7735.h> // Setup file configured for my ST7735
//#include <User_Setups/Setup3_ILI9163.h> // Setup file configured for my ILI9163
//#include <User_Setups/Setup4_S6D02A1.h> // Setup file configured for my S6D02A1
2018-11-25 19:41:29 +00:00
//#include <User_Setups/Setup5_RPi_ILI9486.h> // Setup file configured for my stock RPi TFT
//#include <User_Setups/Setup6_RPi_Wr_ILI9486.h> // Setup file configured for my modified RPi TFT
//#include <User_Setups/Setup7_ST7735_128x128.h> // Setup file configured for my ST7735 128x128 display
//#include <User_Setups/Setup8_ILI9163_128x128.h> // Setup file configured for my ILI9163 128x128 display
//#include <User_Setups/Setup9_ST7735_Overlap.h> // Setup file configured for my ST7735
//#include <User_Setups/Setup10_RPi_touch_ILI9486.h> // Setup file configured for ESP8266 and RPi TFT with touch
//#include <User_Setups/Setup11_RPi_touch_ILI9486.h> // Setup file configured for ESP32 and RPi TFT with touch
2018-02-08 00:45:18 +00:00
//#include <User_Setups/Setup12_M5Stack.h> // Setup file for the ESP32 based M5Stack
2018-03-10 23:08:57 +00:00
//#include <User_Setups/Setup13_ILI9481_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
//#include <User_Setups/Setup14_ILI9341_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
//#include <User_Setups/Setup15_HX8357D.h> // Setup file configured for HX8357D (untested)
//#include <User_Setups/Setup16_ILI9488_Parallel.h> // Setup file for the ESP32 with parallel bus TFT
2018-06-01 18:26:09 +01:00
//#include <User_Setups/Setup17_ePaper.h> // Setup file for any Waveshare ePaper display
//#include <User_Setups/Setup18_ST7789.h> // Setup file configured for ST7789
2017-02-22 10:04:26 +00:00
2019-07-20 20:57:22 +02:00
//#include <User_Setups/Setup19_RM68140_Parallel.h> // Setup file configured for RM68140 with parallel bus
2018-07-07 22:41:53 +01:00
//#include <User_Setups/Setup20_ILI9488.h> // Setup file for ESP8266 and ILI9488 SPI bus TFT
//#include <User_Setups/Setup21_ILI9488.h> // Setup file for ESP32 and ILI9488 SPI bus TFT
2018-11-25 17:20:40 +00:00
2020-03-28 12:35:15 +00:00
//#include <User_Setups/Setup22_TTGO_T4.h> // Setup file for ESP32 and TTGO T4 version 1.2
//#include <User_Setups/Setup22_TTGO_T4_v1.3.h> // Setup file for ESP32 and TTGO T4 version 1.3
2018-11-25 17:20:40 +00:00
//#include <User_Setups/Setup23_TTGO_TM.h> // Setup file for ESP32 and TTGO TM ST7789 SPI bus TFT
//#include <User_Setups/Setup24_ST7789.h> // Setup file configured for ST7789 240 x 240
2019-10-07 17:56:11 +01:00
//#include <User_Setups/Setup25_TTGO_T_Display.h> // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
//#include <User_Setups/Setup26_TTGO_T_Wristband.h> // Setup file for ESP32 and TTGO T-Wristband ST7735 SPI bus TFT
2018-07-07 22:41:53 +01:00
2020-01-11 00:58:38 +00:00
//#include <User_Setups/Setup27_RPi_ST7796_ESP32.h> // ESP32 RPi MHS-4.0 inch Display-B
//#include <User_Setups/Setup28_RPi_ST7796_ESP8266.h> // ESP8266 RPi MHS-4.0 inch Display-B
2020-01-26 21:17:49 +00:00
//#include <User_Setups/Setup29_ILI9341_STM32.h> // Setup for Nucleo board
//#include <User_Setups/Setup30_ILI9341_Parallel_STM32.h> // Setup for Nucleo board and parallel display
//#include <User_Setups/Setup31_ST7796_Parallel_STM32.h> // Setup for Nucleo board and parallel display
2020-08-15 00:19:03 +01:00
//#include <User_Setups/Setup32_ILI9341_STM32F103.h> // Setup for "Blue/Black Pill"
2020-03-28 13:47:22 +00:00
2020-02-14 23:54:37 +00:00
//#include <User_Setups/Setup33_RPi_ILI9486_STM32.h> // Setup for Nucleo board
2020-03-28 13:47:22 +00:00
//#include <User_Setups/Setup34_ILI9481_Parallel_STM32.h> // Setup for Nucleo board and parallel display
//#include <User_Setups/Setup35_ILI9341_STM32_Port_Bus.h> // Setup for STM32 port A parallel display
2021-03-06 18:35:05 +00:00
//#include <User_Setups/Setup36_RPi_touch_ST7796.h> // Setup file configured for ESP32 and RPi ST7796 TFT with touch
2020-01-26 21:17:49 +00:00
2019-07-31 01:07:05 +01:00
//#include <User_Setups/Setup43_ST7735.h> // Setup file configured for my ST7735S 80x160
2020-08-05 20:06:44 +01:00
//#include <User_Setups/Setup44_TTGO_CameraPlus.h> // Setup file for ESP32 and TTGO T-CameraPlus ST7789 SPI bus TFT 240x240
//#include <User_Setups/Setup45_TTGO_T_Watch.h> // Setup file for ESP32 and TTGO T-Watch ST7789 SPI bus TFT 240x240
2019-07-31 01:07:05 +01:00
2020-11-14 01:38:09 +00:00
//#include <User_Setups/Setup47_ST7735.h> // Setup file configured for ST7735 128 x 128 animated eyes
2020-11-10 11:24:41 +00:00
2020-10-02 01:07:15 +01:00
//#include <User_Setups/Setup50_SSD1963_Parallel.h> // Setup file for ESP32 and SSD1963 TFT display
2021-03-30 01:53:27 +01:00
//#include <User_Setups/Setup51_LilyPi_ILI9481.h> // Setup file for LilyGo LilyPi with ILI9481 display
//#include <User_Setups/Setup60_RP2040_ILI9341.h> // Setup file for Raspberry Pi Pico with SPI ILI9341
2021-03-09 16:19:34 +01:00
2020-01-11 23:32:10 +00:00
//#include <User_Setups/Setup135_ST7789.h> // Setup file for ESP8266 and ST7789 135 x 240 TFT
2021-03-09 16:05:28 +08:00
//#include <User_Setups/Setup136_LilyGo_TTV.h> // Setup file for ESP32 and Lilygo TTV ST7789 SPI bus TFT 135x240
2021-02-16 00:21:08 +08:00
//#include <User_Setups/Setup200_GC9A01.h> // Setup file for ESP32 and GC9A01 240 x 240 TFT
2018-04-02 02:53:42 +01:00
//#include <User_Setups/SetupX_Template.h>
#endif // USER_SETUP_LOADED
2017-03-10 19:16:31 +00:00
/////////////////////////////////////////////////////////////////////////////////////
// //
// DON'T TINKER WITH ANY OF THE FOLLOWING LINES, THESE ADD THE TFT DRIVERS //
2020-01-26 21:17:49 +00:00
// AND ESP8266 PIN DEFINITONS, THEY ARE HERE FOR BODMER'S CONVENIENCE! //
2017-03-10 19:16:31 +00:00
// //
/////////////////////////////////////////////////////////////////////////////////////
// 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
2020-01-26 21:17:49 +00:00
// 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
2020-11-26 14:18:28 +00:00
// Invoke 18 bit colour for selected displays
2020-12-29 13:47:28 +00:00
#if !defined (RPI_DISPLAY_TYPE) && !defined (TFT_PARALLEL_8_BIT) && !defined (ESP32_PARALLEL)
#if defined (ILI9481_DRIVER) || defined (ILI9486_DRIVER) || defined (ILI9488_DRIVER)
#define SPI_18BIT_DRIVER
#endif
2020-11-26 14:18:28 +00:00
#endif
2017-03-10 19:16:31 +00:00
// Load the right driver definition - do not tinker here !
#if defined (ILI9341_DRIVER)
#include <TFT_Drivers/ILI9341_Defines.h>
#define TFT_DRIVER 0x9341
2017-03-10 19:16:31 +00:00
#elif defined (ST7735_DRIVER)
#include <TFT_Drivers/ST7735_Defines.h>
#define TFT_DRIVER 0x7735
2017-03-10 19:16:31 +00:00
#elif defined (ILI9163_DRIVER)
#include <TFT_Drivers/ILI9163_Defines.h>
#define TFT_DRIVER 0x9163
2017-03-10 19:16:31 +00:00
#elif defined (S6D02A1_DRIVER)
#include <TFT_Drivers/S6D02A1_Defines.h>
#define TFT_DRIVER 0x6D02
2020-01-11 00:58:38 +00:00
#elif defined (ST7796_DRIVER)
2020-01-26 21:17:49 +00:00
#include "TFT_Drivers/ST7796_Defines.h"
#define TFT_DRIVER 0x7796
#elif defined (ILI9486_DRIVER)
#include <TFT_Drivers/ILI9486_Defines.h>
2018-04-02 02:53:42 +01:00
#define TFT_DRIVER 0x9486
2018-03-10 23:08:57 +00:00
#elif defined (ILI9481_DRIVER)
#include <TFT_Drivers/ILI9481_Defines.h>
#define TFT_DRIVER 0x9481
2018-03-10 23:08:57 +00:00
#elif defined (ILI9488_DRIVER)
#include <TFT_Drivers/ILI9488_Defines.h>
#define TFT_DRIVER 0x9488
2018-03-10 23:08:57 +00:00
#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
2018-06-01 18:26:09 +01:00
#elif defined (ST7789_DRIVER)
#include "TFT_Drivers/ST7789_Defines.h"
#define TFT_DRIVER 0x7789
2018-11-25 19:41:29 +00:00
#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
2019-07-20 20:57:22 +02:00
#elif defined (RM68140_DRIVER)
2020-01-11 00:58:38 +00:00
#include "TFT_Drivers/RM68140_Defines.h"
#define TFT_DRIVER 0x6814
2020-08-15 00:19:03 +01:00
#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)
2020-10-02 01:07:15 +01:00
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
#elif defined (SSD1963_800BD_DRIVER)
2020-08-15 00:19:03 +01:00
#include "TFT_Drivers/SSD1963_Defines.h"
#define TFT_DRIVER 0x1963
2020-10-25 12:52:37 +00:00
#elif defined (GC9A01_DRIVER)
#include "TFT_Drivers/GC9A01_Defines.h"
#define TFT_DRIVER 0x9A01
2020-11-25 23:18:54 +00:00
#elif defined (ILI9225_DRIVER)
#include "TFT_Drivers/ILI9225_Defines.h"
#define TFT_DRIVER 0x9225
2020-01-26 21:17:49 +00:00
// <<<<<<<<<<<<<<<<<<<<<<<< ADD NEW DRIVER HERE
2020-08-15 00:19:03 +01:00
// XYZZY_init.h and XYZZY_rotation.h must also be added in TFT_eSPI.cpp
2020-01-26 21:17:49 +00:00
#elif defined (XYZZY_DRIVER)
2018-04-02 02:53:42 +01:00
#include "TFT_Drivers/XYZZY_Defines.h"
#define TFT_DRIVER 0x0000
#else
#define TFT_DRIVER 0x0000
2017-03-10 19:16:31 +00:00
#endif
2019-10-21 22:56:35 +01:00
// These are the pins for ESP8266 boards
// Name GPIO NodeMCU Function
2019-11-02 13:24:58 +00:00
#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)
2019-10-21 22:56:35 +01:00
#define PIN_D9 3 // RXD0
#define PIN_D10 1 // TXD0
2017-07-15 18:44:49 +01:00
2019-10-21 22:56:35 +01:00
#define PIN_MOSI 8 // SD1 FLASH and overlap mode
#define PIN_MISO 7 // SD0
#define PIN_SCLK 6 // CLK
2018-04-11 01:03:26 +01:00
#define PIN_HWCS 0 // D3
2017-07-15 18:44:49 +01:00
#define PIN_D11 9 // SD2
#define PIN_D12 10 // SD4