Probleme mit GFXLibrary for Arduino ab 1.6.2

Hallo ,

Ich habe ca 10.000 Zeilen code auf einen ESP32 mit Arduino IDE 2.3.7 , Boardverwaltung 2.0.17 und bisher lief das mit der GFX-Library for Arduino 1.6.1 problemlos. Seit 1.6.2 (aber auch 1.6.3 und 1.6.4) bekomme ich immer folgende Fehlermeldung beim kompilieren.

Wieso gibt es plötzlich ein Problem mit esp32-hal-periman.h? Wie kann ich das lösen? Danke für eure Hilfe.
———-

In file included from c:\Users\Peter_docs\Arduino_ESP_main\Code\libraries\GFX_Library_for_Arduino\src/Arduino_GFX_Library.h:25,
from C:\Users\Peter_docs\Arduino_ESP_main\Code_Projekt Controlcenter\ESP_CoC_V4_4\htft.h:412,
from C:\Users\Peter_docs\Arduino_ESP_main\Code_Projekt Controlcenter\ESP_CoC_V4_4\ESP_CoC_V4_4.ino:229:
c:\Users\Peter_docs\Arduino_ESP_main\Code\libraries\GFX_Library_for_Arduino\src/databus/Arduino_ESP32SPI.h:21:10:
 fatal error: esp32-hal-periman.h: No such file or directory#include "esp32-hal-periman.h"^~~~~~~~~~~~~~~~~~~~~compilation terminated.exit status 1

Compilation error: exit status 1

Hast du das mal angesehen?

Ja Danke habe ich - habe aber die Lösung nicht verstanden.

Bzw konnte ich bisher die Boardverwaltung 3.x niht verwenden - es gab Probleme beim comilieren

Was muss ich machen?

Ab 1.6.2 wird das display anders angeschprochen, mehr wenn ich bin zu Hause.
Das Problem hate ich auch.
Noch was, was für Display ist das?

Ich habe 2 displays, die ich auf unterschiedlichen ESPs mit dem gleichen Code betreibe.

Einmal ist es ein 4” mit IL9488 und einmal ein 2,8” mit IL9341


#include <U8g2lib.h>
#include <Arduino_GFX_Library.h>                           // Libraries - unterstützt beide Display-ICs:  IL9341 und IL9488
#include <XPT2046_Touchscreen.h>                      
    //#include <SPI.h>  // wurde nicht gebraucht für Adafruit.GFX library
    //#include <Adafruit_GFX.h> // alternativ - muss aber mehr umgeschrieben werden. Die Arduino library ist schneller und universeller

                            // vv  Verdrahtungscheck lt AZ Delivery Schaltplan für 2,8"TFT im Wandgehäuse - passt auch für 4" display
#define TFT_SCK    18       // auch auf T-CLK   -  ist OK lt AZD
#define TFT_MOSI   23       // SDI und auch auf T-DIN     -  ist OK lt AZD  (MOSI = master out slave in)
#define TFT_MISO   19       // nur auf T-DO (kann bei 2,8" auch auf SDO)    -  ist OK lt AZD  - !!!bei 4" 9488-display: MISO nur auf T-DO ..nicht auf TFT_MISO  -- (2,8" TFT funktioniert auch ohne MISO)
#define TFT_CS      5       // ist OK lt AZD     
#define TFT_DC      4       // ist OK lt AZD  
#define TFT_RESET  22       // ist OK lt AZD  
#define TFTLED     15       // GPIO 15 für Helligkeitsteuerung des TFT Displays - auf LED pin des displays
                            // wird nur beim Booten verwendet - geht aber für die Verwendung als TFT LED
#define HAVE_TOUCHPAD
#define CS_PIN     14       // ist OK lt AZD - für Touchpas
#define TIRQ_PIN   27       // ist OK lt AZD - Touch Interrupt

Arduino_ESP32SPI bus = Arduino_ESP32SPI(TFT_DC, TFT_CS, TFT_SCK, TFT_MOSI, TFT_MISO);

 // ----------------  Displaydefinition je nachdem ob 2.8 oder 4" TFT -------------------
 //   4" TFT mit ILI9488 Chip, 2.8" TFT mit ILI9341 Chip 

#if TFTDisplay == 40     
  Arduino_ILI9488_18bit display = Arduino_ILI9488_18bit(&bus, TFT_RESET);       // für 4" Display von Amazon Okt23
#endif

#if TFTDisplay == 28
  Arduino_ILI9341 display = Arduino_ILI9341(&bus, TFT_RESET);                   // für 2.8" Display von AZ Delivery
#endif

Also ganz normale SPI Displays, für die nim doch die TFT_eSPI vom Bodmer, die aller neueste kan auch mit dem ESP32 Core 3.x.x umgehen.
Die TFT_eSPI kann viel mehr und macht weniger Probleme, dazu viel schneller

Ok, Danke ..

ich hab da hunderte Zeilen Code mit Linien, Farben, Text u.ä. fur die Displays. Muss ich den unschreiben oder geht das mit der anderen Library?

Die GFX library war die einzige die mit beiden Display-Chips arbeiten konnte . Kann das die eTFT-SPI library auch?

Umschreiben muss man bei allen Bibliotheken,

Und davor hast du nicht getestet ob die Funktioniert?
Also ich teste erst ob das Display funktioniert dann erst wird weiter geschrieben.
Die Arduino GFX nutze nur für Displays ab 5" die haben meistens 800 x 480 Auflösung und sind dazu nur als 16, oder 18 Bit erhältlich.
schau dir das an

Arduino GFX mit ESP Core 2.0.17, GFX 1.6.2 mit der IDE 1.8.19 meistens als Portable für jedes Display.
Noch was die unterschiede zwischen 1.6.1 und 1.6.2 sind sehr klein es sind noch dazu paar Displays dazu gekommen.
Bei Gelegenheit teste mall die die ILI 9341und ILI9488 mit der GFX

Die Displays laufen seit 2 Jahren mit der GFX library bis zur Version 1.6.1 , erst mit der 1.6.2 ging es nicht mehr. Also eh nichts dringendes …. davhte nur es lässt sich leicht lösen.

Also gerade getestet mit der 1.6.2 mit ILI 9488, die Einstellungen:

#include <Arduino_GFX_Library.h>
//#define GFX_BL 46
Arduino_DataBus *bus = new Arduino_ESP32SPI(4 /* DC */, 15 /* CS */, 18/* SCK */, 23/* MOSI */, -1 /* MISO */, VSPI /* spi_num */);
Arduino_GFX  *gfx = new Arduino_ILI9488_18bit(bus, 2/* RST */, 1 /* rotation */, false /* IPS */);


In den Fistelungen SPI Port auf VSPI geändert, Die HSPI brauche für ESP32 S3, ist mir gerade eingefallen, funktioniert jedoch mit beiden Einstellungen.