gelöst: FastLED DemoReel in einen Sketch einfügen

Hallo,

ich versuche das DemoReel in einen Sketch für eine Wordclock einzubringen. Nachdem ich jetzt auf die neueste IDE umgestellt habe (vorher 1.6.5) gibt es Probleme…

Ich versuche mal mein Problem zu beschreiben:
Den DemoReel code habe ich in meinem sketch untergebracht. Der wird jede Stunde für 5 Minuten aufgerufen und spielt dann 5 min die eingestellten Stimmungen ab.

Mein Unterschied ist die Position dieser Zeile:
SimplePatternList gPatterns = {rainbow, rainbowWithGlitter, confetti, sinelon, juggle};

Rufe ich den vor dem Setup auf, dann kommt diese Fehlermeldung:

Wordclock_DCF_farbe:79: error: 'rainbow' was not declared in this scope

 SimplePatternList gPatterns = {rainbow, rainbowWithGlitter, confetti, sinelon, juggle};

und alle anderen Namen der Funktionen hinterher

Rufe ich den im Setup auf (wie in DemoReel), kommt dieser Fehler, weil gPattern nicht vorher definiert wurde:

Wordclock_DCF_farbe.ino: In function 'void loop()':

Wordclock_DCF_farbe:421: error: 'gPatterns' was not declared in this scope

   gPatterns[gCurrentPatternNumber]();

Rufe ich die Zeile in der Loop auf , dann kommt dieser Fehler:

Wordclock_DCF_farbe.ino: In function 'void loop()':

Wordclock_DCF_farbe:421: error: 'gPatterns' was not declared in this scope

   gPatterns[gCurrentPatternNumber]();

Ich stehe auf dem Schlauch wie und wo ich den Fehler loswerden kann.
Bin für jede Idee offen und dankbar!
Arne

Wordclock_DCF_farbe.ino (15.2 KB)

nur mal kurz drüber geschaut: Wenn Du alle Definitionen von

//SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle};

auskommentierst kann er sie nicht finden.

Ansonsten hast Du evtl. beim Umstieg auf die andere IDE eine Lib nicht mehr drin?

Wie war denn der ursprünglich funktionierende Code und in welcher IDE hat er funktioniert?

Hruß Tommy

Hallo Tommy56,

die IDE version die ich vorher eingesetzt habe, war die 1.6.5.
Das war praktisch die gleiche ino Datei die da noch komplett funktioniert… Sie ist angehängt.
(Libraries habe ich nicht verloren)

Danke
Arne

Wordclock_DCF_farbe.ino (15.1 KB)

Das sieht auf den ersten Blick so aus, als wäre die FastLED nicht installiert oder die Funktionen hätten ihren Namen geändert.

Ich kann es aber mangels installierter Libs nicht testen.

Gruß Tommy

Hallo Tommy,

danke noch mal für die schnelle Antwort. FastLED ist installiert (auch noch Meinung des Bibliotheksverwalters ;) ).

Wenn ich die FastLED "DemoReel100" mit der 1.8.5 kompilieren lasse, dann gibt es auch keine Fehler. "Nur" bei dem Übertrag in meinen sketch... irgendwo ist da sicher ein dummer Fehler...

Viele Grüße Arne

Hier im Forum lese ich manchmal, Deklarationen von Funktionen, die eigentlich automatisch erfolgen sollten, funktionieren nicht immer. Da rainbow eine Funktion ist, könntest Du die probehalber mal vor SimplePatternList deklarieren.

Ausdrücklich ohne Gewähr :)

Hi

agmue: Da rainbow eine Funktion ist, könntest Du die probehalber mal vor SimplePatternList deklarieren.

Dafür die Start-Zeile der Funktion kopieren und am Anfang des Code einfügen - dort die öffnende Klammer durch einen ; ersetzen - Funktion ist ab jetzt 'bekannt' gemacht.

Also statt byte funktion(char zeichen, int zahl){ wird die Zeile zu byte funktion(char zeichen, int zahl);

Die Eigentliche Funktion inklusive der Start-Zeile muß natürlich komplett erhalten bleiben.

MfG

Moin,

die beiden letzten Ideen haben es dann gebracht!

void rainbow();

vor SimplePatternList gesetzt und keine Fehler mehr!

Danke!! Arne