LilyGo T-Display-S3: gpio_get_level / gpio_ll_get_level Fehler beheben

Das LilyGo T-Display-S3 gibt es in zwei verschiedenen Varianten und ist sowohl mit als auch ohne Touchscreen erhältlich. Das Board besteht aus einem ESP32-Mikrocontroller sowie einem bereits vorinstallierten 1.9″ großen IPS-Display mit einer Auflösung von 170 x 320 Pixeln. Doch beim programmieren mit der TFT_eSPI Library kann es unter umständen durchaus zu Problemen kommen, wie etwa dem gpio_get_level bzw. gpio_ll_get_level Fehler in der Arduino IDE. In dieser Anleitung möchten wir euch daher Hilfestellung bieten wie ihr diesen beheben könnt.

Das Problem äußert sich mit durch die folgenden Fehlermeldungen:

In file included from /Users/User/Documents/Arduino/libraries/TFT_eSPI/TFT_eSPI.cpp:20:

/Users/User/Documents/Arduino/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_S3.c: In member function ‚uint8_t TFT_eSPI::readByte()‘:

/Users/User/Documents/Arduino/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32_S3.c:96:8: error: ‚gpio_get_level‘ was not declared in this scope; did you mean ‚gpio_ll_get_level‘?

96 | b= gpio_get_level((gpio_num_t)TFT_D0); // Read three times to allow for bus access time

|^~~~~~~~~~~~~~

|gpio_ll_get_level

exit status 1

Compilation error: exit status 1

 

Stellt zunächst sicher, dass die richtige Konfigurationsdatei ausgewählt wurde, dazu editiert ihr die User_Setup_Select.h im Verzeichnis /…/Arduino/libraries/TFT_eSPI/ und fügt zwei // in Zeile 27 hinzu um den bisherigen Eintrag #include <User_Setup.h> auszukommentieren.

Danach werden wir den Eintrag in Zeile 133 entkommentieren und die // entfernen, sodass die passende Konfigurationsdatei geladen wird:

#include <User_Setups/Setup206_LilyGo_T_Display_S3.h>     // For the LilyGo T-Display S3 based ESP32S3 with ST7789 170 x 320 TFT

 

Fehler beheben – so geht’s

Der eigentliche, oben beschriebene, Fehler lässt sich beheben indem man eine Änderung an der TFT_eSPI Library vornimmt, dazu navigieren wir in das folgende Verzeichnis: /…/Arduino/libraries/TFT_eSPI/Processors/ und suchen dort nach der Datei TFT_eSPI_ESP32_S3.h, dort angekommen müssen wir in Zeile 17 jetzt noch den Eintrag #include „driver/gpio.h“ hinzufügen, sodass der komplette Absatz dann wie folgt aussieht:

// Include processor specific header
#include "soc/spi_reg.h"
#include "driver/spi_master.h"
#include "hal/gpio_ll.h"
#include "driver/gpio.h"

Speichert die Datei anschließend ab und probiert euren Code erneut auf das LilyGo T-Display-S3 zu laden, im Normalfall sollte dies nun ohne weitere Fehlermeldungen funktionieren.



(Bild: lilygo.cc)
Datum:
16.06.2024, 19:40 Uhr
Autor:
Stefan Kröll
Comments:
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

* gesponserter Link
Blogverzeichnis - Bloggerei.de