[SOLVED] TFT_eSPI and 8-bit parallel

Hi,

It has been one week I am trying to compile a code that would allow me to use my TFT display in parallel with an esp32.
Now, I have modified the User_Seteup_Select.h for the ILI9341 so I uncommented this line:
#include <User_Setups/Setup14_ILI9341_Parallel.h>

And I have not edited the file Setup14_ILI9341_Parallel.h:

// See SetupX_Template.h for all options available
#define USER_SETUP_ID 14

#define TFT_PARALLEL_8_BIT


#define ILI9341_DRIVER


// ESP32 pins used for the parallel interface TFT
#define TFT_CS   33  // Chip select control pin
#define TFT_DC   15  // Data Command control pin - must use a pin in the range 0-31
#define TFT_RST  32  // Reset pin

#define TFT_WR    4  // Write strobe control pin - must use a pin in the range 0-31
#define TFT_RD    2

#define TFT_D0   12  // Must use pins 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   26
#define TFT_D3   25
#define TFT_D4   17
#define TFT_D5   16
#define TFT_D6   27
#define TFT_D7   14


#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_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

#define SMOOTH_FONT

However, I do get the following error message (see below). What I find interesting is that no matter what microcontroller I select, it is always the same message. I do not know what to do now, and I have no clue on what happens.

Error message:
*In file included from c:\Users\Administrator\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:24:*
*c:\Users\Administrator\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c: In member function 'uint8_t TFT_eSPI::readByte()':*
*c:\Users\Administrator\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c:113:9: error: 'gpio_input_get' was not declared in this scope; did you mean 'gpio_num_t'?*
*  113 |   reg = gpio_input_get(); // Read three times to allow for bus access time*
*      |         ^~~~~~~~~~~~~~*
*      |         gpio_num_t*

*exit status 1*

*Compilation error: exit status 1*

I'm really wondering why this error message is thrown regardless of the board or TFT_eSPI version I choose. Could it be because the Arduino IDE is not suited for setting 8-bit parallel communications, and I should switch to PlatformIO instead? ChatGPT, which has been very helpful so far, from helping me writing the setup_user.h file to identifying numerous code errors, has been useless in this case.
I will try Platformio and see if it works.

I could connect myESP32 Wroom32 to my 4.0' ILI9486 in 8bit parallel.
For that, I have used PlatformIO, for some reason, it did not work on the Arduino IDE.
For that, I had to edit a setup file, here is the result:

Setup10000_ILI9486_Parallel.h

// See SetupX_Template.h for all options available
#define USER_SETUP_ID 10000

#define TFT_PARALLEL_8_BIT


#define ILI9486_DRIVER


// ESP32 pins used for the parallel interface TFT
#define TFT_CS   33  // Chip select control pin
#define TFT_DC   15  // Data Command control pin - must use a pin in the range 0-31
#define TFT_RST  32  // Reset pin

#define TFT_WR    4  // Write strobe control pin - must use a pin in the range 0-31
#define TFT_RD    2

#define TFT_D0   12  // Must use pins 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   26
#define TFT_D3   25
#define TFT_D4   17
#define TFT_D5   16
#define TFT_D6   27
#define TFT_D7   14


#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_GFXFF  // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

#define SMOOTH_FONT

Of coursde, the User_setup_select.h contains:

#include <User_Setups/Setup10000_ILI9486_Parallel.h> // Setup file configured for ESP32 parallel 8bit

The dependencies in my Platformio.ini:

platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
    TFT_eSPI
    SPI
    FS
    SPIFFS

please help me i gotta error when compile

In file included from c:\Users\andik\OneDrive\Documents\Arduino\libraries\TFT_eSPI\TFT_eSPI.cpp:24:
c:\Users\andik\OneDrive\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c: In member function 'uint8_t TFT_eSPI::readByte()':
c:\Users\andik\OneDrive\Documents\Arduino\libraries\TFT_eSPI\Processors/TFT_eSPI_ESP32.c:113:9: error: 'gpio_input_get' was not declared in this scope; did you mean 'gpio_num_t'?
** 113 | reg = gpio_input_get(); // Read three times to allow for bus access time**
** | ^~~~~~~~~~~~~~**
** | gpio_num_t**

exit status 1

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.