Inhaltsverzeichnis

WLED Anpassungen

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

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