Arduino-Library auf GitHub: Keine Dokumentation?

Gast #6038052
Lesenswert?

Ich quäle mich momentan ab mit den ePapers von Waveshare ab. Arduino ist 
ein Nano. Dabei versuche ich die GxEPD-Library von Zinng zu verwenden: 
https://github.com/ZinggJM/GxEPD
Ist es üblich, dass man sich da durch die ganzen .h und .cpp Dateien 
wühlen muss, um die ganzen Methoden zusammenzusuchen? Oder bin ich zu 
blöd, die Doku auf GitHub zu finden? Kennt jemand die Library konkret?
Danke und Gruss Chregu
#6038072
Lesenswert?

Hallo,

naja, das hängt letztlich von Lust und Zeit des/der Programmierer ab.
Ich kenne beides. Nur eine Lib oder auch mit ausführlichen 
Funktionsbeschreibungen.
Bei der GxEPD sehe ich das nichtmal als Problem an.
Examples sind dabei, um den Kram überhaupt erstmal in Gang zu bekommen 
und ansonsten ost es ja erstmal nur die GxEPD.h, um zu schauen, für 
welche Funktionen er vielleicht kein Beispiel dabei hat. Sind bei ePaper 
ja naturgemäß nur relativ wenige. Mehr beschäftigt hat mich da, 
heruszufinden, was ein konkretes ePaper wirklich kann, speziell 
partialRefresh wird oft nur am Rande erwähnt.
Ich habe aber nur wenig damit rumgespielt und meist an einem ESP8266, 
sind mir ansonsten zu teuer und mir fehlt eine konkrete Anwendung.
Auf einem s/w 2,9" läuft eine Uhr mit Sekunden und der GxEPD, da springt 
er manchmal dann eben 2s. Geht zwar Dank partialRefresh ohne Flackern, 
aber der Display-Refresh dauert eben ein klein wenig länger als 1s...

Gruß aus Berlin
Michael
Gast #6038108
Lesenswert?

Danke Michael!
Ungefähr die gleichen Probleme habe ich auch. Die Beispiele laufen auch. 
Aber zum Beispiel drawExampleBitmap scheint überladen zu sein, einmal 
mit Bitmap und Size, und einmal mit Bitmap, Position und Grösse.
Aber weder damit noch mit drawBitmap (auch überladen) habe ich es 
geschafft, ein Bitmap neben dem momentanen Screeninhalt ein Bitmap dazu 
anzuzeigen.

Michael U. schrieb:
> erstmal nur die GxEPD.h

Danke für den Tip!

Gruss Chregu
Gast #6038119
Lesenswert?

Moin in die Runde,
ich habe auch meine Probleme mit dieser Library...
Bei mir spielt es auf einem NodeMCU ESP-32s und dem 2.9 ePaper mit 3 
Farben praktisch nicht. Gerade mit dem partialRefresh habe ich 
Schwierigkeiten.

Die Beispiele laufen natürlich, aber mehr auch nicht.

Kennt jemand eine bessere Lösung?
Gast #6038253
Lesenswert?

Ich bin jetzt einen Schritt weiter. Ich kann mit:
1
display.drawBitmap(grund, 127-56, 0, 56, 296, GxEPD_WHITE);
2
display.drawBitmap(pfeil, 127-56, r, 56, 17, GxEPD_WHITE);
3
display.updateWindow(127-56, r-1, 56, 19);

zwei Bitmaps zusammensetzen und (eingeschränkt) an eine Stelle im 
Display setzen. Probleme sind momentan:
-nach ein paar Pixel sieht man nichts mehr (64?)
-schwarze Balken und andere Artefakte bei jedem zweiten Durchgang 
sichtbar, neben dem aktualisierten Bereich
-Aktualisierung braucht >1s, warscheinlich normal bei einem grossen 
Bereich

Ich pröble mal weiter...

Gruss Chregu
#6038908
Lesenswert?

Hallo,

Noch einer schrieb:
> Moin in die Runde,
> ich habe auch meine Probleme mit dieser Library...
> Bei mir spielt es auf einem NodeMCU ESP-32s und dem 2.9 ePaper mit 3
> Farben praktisch nicht. Gerade mit dem partialRefresh habe ich
> Schwierigkeiten.

Die mir bekannten 2.9 ePaper mit 3 Farben können keinen partialRefresh.
Vermutlich, weil der dazu genutzte 2. Buffer für die 3. Farbe genutzt 
wird.
Ich habe nicht alle durchgeschaut, scheint aber bei den WaveShare 
Displays generell so zu sein.

Gruß aus Berlin
Michael
Gast #6040061
Lesenswert?

Habe nun ein Programm auf's Nötigste heruntergebrochen, siehe Anhang.
Dasselbe habe ich aufgrund komischer Artefakte auch auf einem Mega 2560 
ausprobiert - mit genau den gleichen Effekten.

Die Probleme sind folgende (im Source dokumentiert):
- bei jedem zweiten Durchgang verschwinden die halben Striche der Skala, 
danach kommen sie wieder
- der Pfeil wandert runter, aber ab ca. 70 Pixel wird er unsichtbar

Man kann nur alles aus den Exemples ausprobieren...

Gruss Chregu
Angehängte Dateien:
Gast #6041963
Lesenswert?

Habe jetzt ein andere Library ausprobiert, die Waveshare-Hauseigene:
https://github.com/waveshare/e-Paper
Fazit: Viel einfacher, viel kleiner, funktioniert auf Anhieb.
Mein Projekt konnte ich jetzt in kürzester Zeit fertigstellen, eine 
funktionsfähige Version ist im Anhang. Es muss keine Lib mehr 
heruntergeladen werden! Alle Incs im ZIP!
Interessante Info im Source der Beispiele:
1
 /** 
2
   *  there are 2 memory areas embedded in the e-paper display
3
   *  and once the display is refreshed, the memory area will be auto-toggled,
4
   *  i.e. the next action of SetFrameMemory will set the other memory area
5
   *  therefore you have to clear the frame memory twice.
6
   */
Hat mir geholfen das ePaper besser zu verstehen und die Software 
entsprechend zu gestalten.

Gruss Chregu
Angehängte Dateien:
Gast #6042152
Lesenswert?

leo schrieb:
> obiges ist [...] sehr poese

Ja, ich weiss! Ich muss zu meiner Verteidigung sagen, dass ich mich mit 
dem ganzen C/C++ Geraffel nicht gut auskenne. Bin schon froh, wenn es 
läuft.
Die Umwandlung von BMP nach C habe ich mit "BitmapToByteArrayConverter" 
gemacht, da fehlt dann halt einfach die Deklaration.

Gruss Chregu

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren