STERNENLABOR

Wiki und Dokuspace

Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:wled

WLED Anpassungen

Für Projekte des Sternenlabor gibt es verschiedene Anpassungen des WLED Quellcodes an unsere Bedürfnisse.

  • wordclock Ein usermod für den von Nick abgehaltenen Wordclock Workshop. Im Gegensatz zum Original wordclock usermod wird das 24h Format unterstützt und es gibt verschiedene Dialekte.
  • dcf77 Der usermod dient dazu, die Zeit nicht über NTP, also per Internetverbindung zu aktualisieren sondern über ein DCF77 Funkuhrmodul. Prinzipiell funktioniert der usermod allerdings gibt es bei den DCF77 Modulen große Unterschiede in der Qualität. Aus diesem Grund sollten hier noch weitere Untersuchungen gemacht werden.
  • lilygo Der usermod ermöglicht es über ein Touch-Display verschiedene Presets auszuwählen. Er wurde speziell für die Unterbodenbeleuchtung des Fabmobils erstellt. Ist ein Preset aktiv bzw. ist die Helligkeit != 0 so blinkt der Hintergrund des Displays rot um zu signalisieren, dass die Unterbodenbeleuchtung aktiv ist. Die angelegten Presets können über einen Tumbler ausgewählt werden. Es wird die folgende Hardware benötigt: https://www.lilygo.cc/products/t-display-s3.
  • cloud_hmi Der usermod dient dazu das WLED über zwei Drehencoder anzusteuern bzw. den aktuellen Status über ein OLED Display anzuzeigen. Hierzu wird es noch ein separates GIT Projekt geben in welchem die Hardware abgelegt wird.

Usermod nutzen

Die usermods sind auf unserem Git Hub Account im WLED Repository abgelegt. Hierbei handelt es sich um einen Fork des originalen WLED Projektes, die oben beschriebenen uesermods befinden sich in den gleichnamigen branches.

https://github.com/Sternenlabor/WLED

Schnellstart

Nachfolgend wird beschrieben, wie der Quellcode bzw. Usermod übersetzt und aufgespielt wird.

  1. Visual Studio Code installieren - https://code.visualstudio.com/
  2. Visual Studio Code öffnen und unter Erweiterungen PlatformIO IDE installieren
  3. Optional die Erweiterung Git Graph installieren (Empfohlen für Update / Rebase der Usermods)
  4. Repository https://github.com/Sternenlabor/WLED clonen z.B. innerhalb VS-Code
  5. Zum gewünschten Branch (usermod) wechseln (unten links in der Status bar - default ist main)
  6. platformio_override.ini.sample aus dem usermod Verzeichnis z.B. usermods/usermod_v2_word_clock24 in das Projektverzeichnis kopieren (gleiche Ebene wie platformio.ini)
  7. kopierte platformio_override.ini.sample in platformio_override.ini umbenennen
  8. ESP Controller per USB anstecken
  9. usermod mittels Pfeil Icon in Status Bar übersetzen und flashen

Usermod aktualisieren

Das WLED Projekt wird stetig weiter entwickelt. Damit die Neuerungen und Verbesserungen in die usermods einfließen könne, müssen diese von Zeit zu Zeit aktualisiert werden. Der prinzipielle Workflow ist wie folgt.

  1. Sternenlabor WLED Fork mit original WLED Repository synchronisieren (main Branch)
  2. Branch des usermods auf aktualisierten main Branch rebasen
  3. Aktualisierten branch veröffentlichen

Bevor der branch nach der Aktualisierung auf dem Repository überschrieben wird, sollten die Anpassungen ausreichen getestet werden da mit dem beschriebenen Vorgehen die letzte Version verloren geht. Vorgehensweise:

  1. Auf Github anmelden (Account wird benötigt)
  2. Button Sync fork drücken (Account muss Mitglied von Sternenlabor sein) - der main Branch des Sternenlabor Repos wird nun auf den Stand des original Repos aktualisiert
  3. VS-Code öffnen
  4. Auf main Branch wechseln (Status Bar links unten)
  5. Auf der Linken Seite das Quellcodeverwaltungs Icon (GIT) drücken (Icon mit drei verbundenen Bobbeln)
  6. Im Quellcodeverwaltungs Bereich das Icon mit den drei Punkten anklicken
  7. Pull auswählen
  8. Auf gewünschten usermod branch wechseln
  9. Auf der Linken Seite das Quellcodeverwaltungs Icon (GIT) drücken (Icon mit drei verbundenen Bobbeln)
  10. GIT Graph Icon links vom drei Punkte Icon anklicken
  11. Rechtsklick auf den letzten commit im main/origin branch (grafische Kennzeichnung)
  12. Rebase current branch on Branch… auswählen
  13. Es werden nun alle Commits des aktuellen branches bis zum Ursprung in main zurückgenommen. Dann wird auf den neusten Commit im main Branch gesprungen und die zuvor zurückgenommen commits nacheinander eingespielt (rebase). Hierbei kann es zu Konflikten kommen insbesondere wenn neue usermods erstellt wurden. Die Konflikte können direkt in VS-Code gefixt und übernommen werden.
  14. Sobald der Rebase abgeschlossen wurde, sollte das Projekt übersetzt und getestet werden. Sind weitere Korrekturen nötig, können diese über in einem weiteren Commit behoben werden.
  15. Funktioniert der Usermod wie gewünscht, müssen die Änderungen noch in das SL Repository übernommen werden. Da ein rebase durchgeführt wurde, müssen die Änderungen über einen force push auf den Server gebracht werden. Hierzu öffnet man in VS-Code ein Terminal und führt git push –force aus.

Ideen zur Erweiterung und Verbesserung

  1. Weitere Sprachen/Dialekte
    1. Englisch
    2. Fränkisch → done -FE
  2. Wled Matrix Kompatibilität → sollte machbar sein: strip.setpixelcolorxy();
  3. nicht benötigte LEDs nicht komplett abschalten, nur sehr stark dimmen → Wled matrixeffekte anzeigen und gleichzeitig Wordclock sein → geht, könnte aber mit manchen Effekten performanceprobleme machen
  4. Variable „matrix“-Größe
  5. 16*16 version → Äußerer Rand kann zur sekundenanzeige genutzt werden, eventuell Datum oder Wochentag
projekte/wled.txt · Zuletzt geändert: 2024/01/22 01:08 von ecki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki