Bodmer / TFT_eSPI

Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips
Other
3.69k stars 1.06k forks source link

ESP-S3 Parallel support for ILI9488 #1797

Closed DustinWatts closed 2 years ago

DustinWatts commented 2 years ago

To minimise effort to resolve issues the following should be provided as a minimum:

  1. ESP32-S3 parallel does not work
  2. Adruino IDE
  3. Latest from Guthub
  4. Board Package Arduino ESP32 Version 2.0.3-RC1
  5. ESP32 S3
  6. ILI9488
  7. Parallel

I tried the https://github.com/Bodmer/TFT_eSPI/blob/master/User_Setups/Setup16_ILI9488_Parallel.h setup but that had no affect. Check the wires, but noting.

Bodmer commented 2 years ago

I have not tested 8 bit parallel with the ESP32 S3. I thought it might work without modification but it seems that is not the case.

What I/O pins have you connected up? The ESP32 requires I/O pins for the data bus plus write pin to be in the range 0-31 so single register writes could be used. The same will apply to the S3.

Note that the Arduino board package is undergoing a lot of low level breaking changes at the moment and so I suspect trouble is ahead until things settle down. I will see if I can get it working with Version 2.0.3-RC1 but the next release may well break things!

Bodmer commented 2 years ago

I have tested the 8 bit parallel with the ESP32 S3 and an ILI9488 (and ST7796) and it works fine with no changes to version 2.4.60 other than calling up the new setup file. I avoided the strapping pins that affect boot mode (GPIO 0 and 3 on my UM PROS3) and followed the need for certain pins to be in the GPIO range 0-31.

The data bus GPIO pins do not need to be sequential.

Here is the setup I used:


#define USER_SETUP_ID 146

#define TFT_PARALLEL_8_BIT

//#define ILI9341_DRIVER
//#define ST7796_DRIVER
#define ILI9488_DRIVER

// ESP32 S3 pins used for the parallel interface TFT
#define TFT_CS    9
#define TFT_DC    8  // Data Command control pin - must use a GPIO in the range 0-31
#define TFT_RST  34

#define TFT_WR    7  // Write strobe control pin - must use a GPIO in the range 0-31
#define TFT_RD    6

#define TFT_D0   12  // Must use GPIO in the range 0-31 for the data bus
#define TFT_D1   13  // so a single register write sets/clears all bits
#define TFT_D2   14
#define TFT_D3   15
#define TFT_D4   16
#define TFT_D5   21
#define TFT_D6    5
#define TFT_D7    4

#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_FONT8
#define LOAD_GFXFF

#define SMOOTH_FONT
DustinWatts commented 2 years ago

You are absolutely right, it works! Thanks!

yesnoj commented 5 months ago

Sorry for bring back this topic, but i'm using this display here : https://www.makerfabs.com/esp32-s3-parallel-tft-with-touch-ili9488.html But enabling the file Setup70d_ILI9488_S3_Parallel.h , doesn't works. The example from library, TFT_graphictest_one_lib.ino , is compiled without errors, on serial i can see stuff, but the screen is completly off. Can someone help me? =)

Gisbert12843 commented 5 months ago

Sorry for bring back this topic, but i'm using this display here : makerfabs.com/esp32-s3-parallel-tft-with-touch-ili9488.html But enabling the file Setup70d_ILI9488_S3_Parallel.h , doesn't works. The example from library, TFT_graphictest_one_lib.ino , is compiled without errors, on serial i can see stuff, but the screen is completly off. Can someone help me? =)

dont forget to connect ground, background_power and VDD/VCC Pins!