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
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
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.
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.