diff --git a/src/drv/tft/tft_defines.h b/src/drv/tft/tft_defines.h index 62536d18..cb589eb1 100644 --- a/src/drv/tft/tft_defines.h +++ b/src/drv/tft/tft_defines.h @@ -14,6 +14,18 @@ #define TOUCH_IRQ -1 #endif +#ifndef TFT_DMA_CHANNEL +#define TFT_DMA_CHANNEL 0 +#endif + +#ifndef TFT_SPI_MODE +#define TFT_SPI_MODE 0 +#endif + +#ifndef TFT_SPI_HOST +#define TFT_SPI_HOST 3 +#endif + #ifndef TFT_MOSI #define TFT_MOSI -1 #endif diff --git a/src/drv/tft/tft_driver_lovyangfx.cpp b/src/drv/tft/tft_driver_lovyangfx.cpp index ae5a97f7..2a3c642e 100644 --- a/src/drv/tft/tft_driver_lovyangfx.cpp +++ b/src/drv/tft/tft_driver_lovyangfx.cpp @@ -127,9 +127,9 @@ static lgfx::Bus_SPI* init_spi_bus(Preferences* prefs) cfg.use_lock = prefs->getBool("use_lock", true); cfg.freq_write = prefs->getUInt("write_freq", SPI_FREQUENCY); cfg.freq_read = prefs->getUInt("read_freq", SPI_READ_FREQUENCY); - cfg.dma_channel = prefs->getUInt("dma_channel", 0); - cfg.spi_mode = prefs->getUInt("spi_mode", 0); - uint8_t host = prefs->getUInt("host", 3); + cfg.dma_channel = prefs->getUInt("dma_channel", TFT_DMA_CHANNEL); + cfg.spi_mode = prefs->getUInt("spi_mode", TFT_SPI_MODE); + uint8_t host = prefs->getUInt("host", TFT_SPI_HOST); LOG_DEBUG(TAG_TFT, F("%s - %d"), __FILE__, __LINE__); // #if CONFIG_IDF_TARGET_ESP32C3 diff --git a/user_setups/esp32s3/esp-terminal.ini b/user_setups/esp32s3/esp-terminal.ini new file mode 100644 index 00000000..e6615021 --- /dev/null +++ b/user_setups/esp32s3/esp-terminal.ini @@ -0,0 +1,89 @@ +;***************************************************; +; Elecrow ESP32-S3 Terminal ; +; - ili9488 TFT SPI 4-WIRE or 16-bit RGB ; +; - ft6236 touch controller ; +;***************************************************; + +[esp-terminal] +extends = arduino_esp32s3_v2 +board = esp32-s3-devkitc-1 +board_build.arduino.memory_type = qio_opi + +build_flags = + ${arduino_esp32s3_v2.build_flags} + ${esp32s3.ps_ram} + +;region -- TFT_eSPI build options ------------------------ + ;-D USER_SETUP_LOADED=1 + -D LGFX_USE_V1=1 + -D ILI9488_DRIVER=1 + -D TFT_ROTATION=0 ; 0=0, 1=90, 2=180 or 3=270 degree + -D TFT_WIDTH=320 + -D TFT_HEIGHT=480 + -D TFT_RST=-1 ;// Reset pin (could connect to RST pin) + -D TFT_BCKL=46 ; Configurable via web UI (e.g. 2 for D4) + -D HASP_USE_LGFX_TOUCH=1 + -D TOUCH_DRIVER=0x6336 + -D TOUCH_IRQ=-1 + -D I2C_TOUCH_PORT=0 + -D I2C_TOUCH_ADDRESS=0x38 + -D I2C_TOUCH_FREQUENCY=400000 + -D SPI_TOUCH_FREQUENCY=0 +;endregion + +lib_deps = + ${arduino_esp32s3_v2.lib_deps} + ${lovyangfx.lib_deps} + +[esp-terminal-spi] +extends = esp-terminal + +build_flags = + -D HASP_MODEL="ESP32-S3 Terminal SPI" + ${esp-terminal.build_flags} + -D TFT_MISO=14 + -D TFT_MOSI=13 + -D TFT_SCLK=12 + -D TFT_CS=03 ;// Chip select control pin + -D TFT_DC=42 ;// Data Command control pin + -D SPI_FREQUENCY=60000000 + -D SPI_READ_FREQUENCY=16000000 + -D TFT_DMA_CHANNEL=1 + -D TOUCH_SDA=02 + -D TOUCH_SCL=01 + +[esp-terminal-rgb] +extends = esp-terminal + +build_flags = + -D HASP_MODEL="ESP32-S3 Terminal RGB" + ${esp-terminal.build_flags} + + -D TFT_WR=18 + -D TFT_RD=48 + -D TFT_DC=45 + -D TFT_D0=47 + -D TFT_D1=21 + -D TFT_D2=14 + -D TFT_D3=13 + -D TFT_D4=12 + -D TFT_D5=11 + -D TFT_D6=10 + -D TFT_D7=9 + -D TFT_D8=3 + -D TFT_D9=8 + -D TFT_D10=16 + -D TFT_D11=15 + -D TFT_D12=7 + -D TFT_D13=6 + -D TFT_D14=5 + -D TFT_D15=4 + -D SPI_FREQUENCY=80000000 + -D TOUCH_SDA=38 + -D TOUCH_SCL=39 + +[env:esp-terminal-spi_16MB] +extends = esp-terminal-spi, flash_16mb + +[env:esp-terminal-rgb_16MB] +extends = esp-terminal-rgb, flash_16mb