Installation und Ausführen des Example von GxEPD2 Lib für ePaper Display

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    kann bitte mal jemand mit Visual Studio Code und PlatformIO versuchen die GxEPD2 Lib mit dem zugehörigen Example GxEPD2_Example zu kompilieren und mir die Lösung beschreiben, sodass ich es auch kompilieren kann. Bei mir bricht es immer mit einem Fehler ab. Die Lib würde ich gernze zur Ansteuerung eines 7,5 Zoll 2,7 Zoll ePaper Display verwenden.

    Anbei die aktuell erhaltene Fehlerausgabe.

    Installiert habe ich dazu aktuell folgende Libs:

    • Adafruit BusIO
    • Adafruit GFX Library
    • GxEPD2

    Board ist aktuell das nodemcu v2 esp8266 ausgewählt. Mit ESP32 aber die selben Probleme.

    Versuche ich die Fehlermeldungen und die darin enthaltenen Vorschläge durchzuarbeiten, scheitere ich schon bei Zeile 45. Mit dem Befehl lässt sich nichts zusätzliches finden.

    Lösch ich aber alles und versuche nur Wire.h einzubinden gibt es keinen Fehler.

    header:GxEPD2_boards_added.h lässt sich ebenso nichts finden.

  • Installation und Ausführen des Example von GxEPD2 Lib für ePaper Display? Schau mal ob du hier fündig wirst!

  • Zur hilfreichsten Antwort springen
  • Hallo

    Welches 7,5 Zoll ePaper Display wird verwendet.

    Bei mir werkelt dieses 2.9 Zoll ePaper mit der GxEPD2 Bibliothek und einem D1 Mini Lite, programmiert mit der Arduino IDE unter Arch Linux.

    https://www.reichelt.de/de/de/entwickl…are+epaper&&r=1

    Das ist ein SPI Display, in meinem Sketch kommt die Wire.h nicht vor, die I2C Fehler Meldung irritiert mich daher.

    Das Display ist im Sketch mit folgender Zeile eingebunden.

    Code
    GxEPD2_3C<GxEPD2_290c, GxEPD2_290c::HEIGHT> display(GxEPD2_290c(/*CS=D8*/ SS, /*DC=D3*/ 0, /*RST=D1*/ 5, /*BUSY=D2*/ 4));        // Eim 2.90 Zoll Display am Wemos D1 Mini Lite
  • Also zu nächst, ich brachte da mit den Zahlen etwas durcheinander.

    Hardwaremäßig habe ich ein 2.7 Zoll Display [Anzeige]

    Aber die Verwechslung müsste bei dem kompilieren egal sein, der kompiliert am PC ja unabhängig was tatsächlich am ESP angeschlossen ist.

    In der Software hatte ich folgende Zeile aktiv:

    GxEPD2_BW < GxEPD2_750, GxEPD2_750::HEIGHT / 2 > display(GxEPD2_750(/*CS=15*/ SS, /*DC=4*/ 4, /*RST=5*/ 5, /*BUSY=16*/ 16));

    welche nun geändert wurde zu

    GxEPD2_BW<GxEPD2_270, GxEPD2_270::HEIGHT> display(GxEPD2_270(/*CS=15*/ SS, /*DC=4*/ 4, /*RST=5*/ 5, /*BUSY=16*/ 16));

    Fehlermeldung bleibt jedoch:

  • Welches Beispiel meinst du denn ?

    Ich habe mal das GxEPD2_GFX_MultiDisplay_Example genommen und die überprüfung läuft problemlos durch.

    Display habe ich ja keines, Board NodeMCU 1.0 (12-E) ESP8266 ausgewählt.

    Bei Wire.h kommt dann:

    Code
    Alternatives for Wire.h: [Wire@1.0]
    ResolveLibrary(Wire.h)
     -> candidates: [Wire@1.0]
  • Dazu musst du ein Display definieren indem du eine Auskommentierung bei dem entsprechenden Display welches du (nicht) besitzt entfernst.

    Bei mir ist es Zeile 211 GxEPD2_BW<GxEPD2_270, GxEPD2_270::HEIGHT> display(GxEPD2_270(/*CS=15*/ SS, /*DC=4*/ 4, /*RST=5*/ 5, /*BUSY=16*/ 16));

    Nein, noch nicht unter Linux probiert. Am PC ist kein Linux vorhanden und am Pi möcht ich nicht programmieren.

  • Wäre wohl schneller gegangen, wenn du deine .ino gepostet hättest, aber ich habs hinbekommen. :lol:

    EDIT: Geht gar nicht zu posten, max 50000 Zeichen ist Forumslimit.

    Läuft bis auf eine Warning durch.

  • Hast du dann noch was besonderes als Lib nachinstalliern müssen?

    Windows oder Linux?

    EDIT:

    EDIT: Geht gar nicht zu posten, max 50000 Zeichen ist Forumslimit.

    Darum hab ich darauf verzichtet, vorallem die das Example eh in der Lib enthalten ist.

  • Datei->Voreinstellungen:

    Ersteres wegen den TiNos von nurazur

    Zweites wegen meinen ESP32 Cams

    Drittes für die ESP8266

    Viertes für den PI_grammer, wegen ISP mit dem Pi

    Code
    https://raw.githubusercontent.com/nurazur/TiNo/master/package_tino_index.json
    https://dl.espressif.com/dl/package_esp32_index.json
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

    Unter Boards:

    Arduino AVR Boards 1.8.3

    Tiny Node AVR Boards

    esp8266 2.7.4

    esp32 1.0.4

    Als .zip hinzugefügt:

    SoftwareWire 1.5.1

    PinChangeInterrupt 1.2.7

    Adafruit_Busy 1.5.0

    Adafruit_GFX_Library 1.10.1

    Und die angemeckerte Wire.h findet sich bei mir unter /home/pi/.arduino15/packages/esp8266/hardware/esp8266/Wire.h

  • Moin Hofei,

    mal eine Frage, hast du schon irgendein Code für den ESP unter platformio übersetzen können?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin fred0815,

    du installierst Visual Studio Code als Editor und nutzt als Unterbau PlatformIO.

    Aber ich habe es auch noch nie genutzt. Und mal eben ist auch nicht. Muß man sich schon einarbeiten.

    Was mich wundert ist, das nicht wire.h aus dem Espressif genommen wird?

    73 de Bernd

    Anhang:

    So sieht es bei der Arduino IDE aus:

    Zitat

    Bibliothek GxEPD2 in Version 1.2.12 im Ordner: /home/bernd/bin/arduino-1.8.13/portable/sketchbook/libraries/GxEPD2 wird verwendet

    Bibliothek Adafruit_GFX_Library in Version 1.10.1 im Ordner: /home/bernd/bin/arduino-1.8.13/portable/sketchbook/libraries/Adafruit_GFX_Library wird verwendet

    Bibliothek SPI in Version 1.0 im Ordner: /home/bernd/bin/arduino-1.8.13/portable/packages/esp8266/hardware/esp8266/2.7.4/libraries/SPI wird verwendet

    Bibliothek Adafruit_BusIO in Version 1.5.0 im Ordner: /home/bernd/bin/arduino-1.8.13/portable/sketchbook/libraries/Adafruit_BusIO wird verwendet

    Bibliothek Wire in Version 1.0 im Ordner: /home/bernd/bin/arduino-1.8.13/portable/packages/esp8266/hardware/esp8266/2.7.4/libraries/Wire wird verwendet

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    • Hilfreichste Antwort

    Hallo,

    ich habe das eben mal bei mir ausprobiert und zum laufen bekommen.

    System: Fedora 32, VS Code 1.49.2, PlatformIO Core 5.0.1 / Home 3.3.0

    • PlatformIO addon installiert
    • Neues Projekt erstellt - folgende platformio.ini kam dabei heraus, die notwendigen lib_deps habe ich hinzugefügt:
      Code
      [env:nodemcuv2]
      platform = espressif8266
      board = nodemcuv2
      framework = arduino
      lib_deps = 
          Wire
          zinggjm/GxEPD2@^1.2.12
          adafruit/Adafruit BusIO@^1.5.0
    • Den Hinweis mit Wire habe ich von hier: https://community.platformio.org/t/wire-h-not-f…st-version/2046
      Danach ist der Fehler "Wire.h: No such file" verschwunden.Adafruit BusIO wird für Adafruit_I2CDevice.h benötigt. Wenn platformio.ini von Hand bearbeitet wird, sollte es diese Anhängigkeiten beim kompilieren automagisch installieren.
    • Nun den Inhalt von https://github.com/ZinggJM/GxEPD2…PD2_Example.ino in src/main.cpp kopiert und https://github.com/ZinggJM/GxEPD2…_boards_added.h nach include kopiert
    • Ein paar Änderungen an main.cpp vorgenommen, ich bin mir nicht sicher wieso die so abartig gross ist - sollen wohl viele Beispiele sein? Ein paar Deklarationen haben gefehlt da manche Funktionen erst definiert werden, nachdem sie verwendet werden. Und einen Konstruktor muss man sich aussuchen. Hier das diff:

    Dann kompiliert und es läuft!

    Nun du...

  • Moin Hofei,

    Zitat

    Was mich wundert ist, das nicht wire.h aus dem Espressif genommen wird?

    Ich denke das meine Bedenken nach dem Beitrag von Linus klar geworden sind.

    Linus: Danke, das hatte ich auch probiert, aber die Einarbeitung war mir doch zu groß.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!