Inhaltsverzeichnis

Bekannte Probleme und Lösungen

FastLed 3.3.3 und Arduino Boards 1.6.23 oder älter

Uns wurde von drei Fällen berichtet bei denen es beim kompilieren des Programms für den Arduino zu dieser hässlichen Fehlermeldung kam: fastledfehlertzjj1.jpg

Es gibt leider immer wieder so einen roten Bildschirm. Entscheidend für dieses Problem ist dass die Fehlerursache in der FastLED liegt und mit dem „FL_FALLTHROUGH“ zusammen hängt. Wenn ein anderer Fehler auftritt, dann kann dieser nicht mit der unten geschriebenen Methode behoben werden.

Das Problem tritt auf wenn man eine ältere gcc Version (5.4.0 oder älter) zusammen mit der FastLED Bibliothek 3.3.3 benutzt ;-( Jetzt kann man entweder die alte FastLED Bibliothek 3.3.2 oder die neueste gcc Version verwenden. Letzteres ist vermutlich die bessere Entscheidung.

Das kann man komfortabel von der Arduino IDE aus machen. Über das Menü „Werkzeuge/Board …“ boardsverwalterg8kno.jpg

gelangt man zum „Boardverwalter“

boardupdaejtkfv.jpg

Hier klickt man in den ersten Eintrag „Arduino AVR Boards…“ welcher die installierte Version 1.6.23 oder älter zeigt. Darauf erscheint der „Update“ Knopf rechts unten auf den man nur noch klicken muss.

Damit wird das neueste Board Paket installiert (Momentan die 1.8.3) welches die aktuelle gcc Version enthält. Damit funktioniert auch die neueste Version der FastLED Bibliothek und dann kann die MobaLedLib verwendet werden.

In der nächsten Version der Bibliothek werde ich versuchen das zu automatisieren.

Erklärung: Es gibt verschiedene, voneinander unabhängige Pakete in der Arduino Welt:

  1. Die Arduino IDE. Das ist das Türkis Farbige Programm mit dem - / + Unendlichkeitszeichen als Icon. Es stellt den Editor bereit, startet den Compiler und das Upload Programm und verwaltet die Updates.
  2. Die Board Pakete enthalten die Compiler und anderen Dateien für die Prozessoren. Mit der Arduino Umgebung können ja die verschiedensten Prozessoren verwendet werden. Für die MobaLedLib benutzen wir momentan den ATMega328 und für die Servo/Charlieplexing Platine den ATTiny. Später kommt evtl. noch der ESP dazu.
  3. Dazu kommen noch die verschiedensten Bibliotheken. Die wichtigste dabei ist die FastLED Bibliothek. Außerdem werden natürlich die MobaLedLib und noch einige andere Bibliotheken benötigt.
  4. ….

Alle diese Komponenten müssen zusammen spielen. Manchmal passiert es aber, dass bestimmte Versionen nicht zueinander passen. :-(

Quelle: 1)