In char* PatternFrame[] werden die Pattern definiert. Es sind sogenannte Sollzustände. Für jede der 16 Leds ein Zeichen, wobei 0 für 0, 1 für 511 und f für 4095 steht. Hexadezimalsystem. Es sind 16 verschiedene Helligkeitswerte möglich.
In Light1 stehen die Helligkeitswerte für die Darstellung. Diese Werte werden durch die einzelnen Funktionen verändert.
DeclareParam(Led1, Led2, Led3 ... Led15, Led16)
Hier wird der Inhalt von Light2 definiert. Dies ist für die Benutzung der Funktionen ParamFading und SetParam nötig !
Flash(IstZustand) NEW
Erzeugt auf allen Leds einen Blitzeffekt.
FlashStorm(Anzahl der Blitze, Max Anzahl der Leds) NEW
Erzeugt den Effekt eines Blitzlichtgewitters.
Hier kann man angeben wieviel Blitzlichteffekte insgesamt erzeugt werden sollen.
Desweiteren auf wievielen Leds maximal zur selben Zeit.
Die Position der Blitzeffekte ist hierbei zufällig.
50, 10 bedeutet hierbei 50 Blitze aber nur maximal 10 zur selben Zeit.
RandomLightFading(Istzustand, Anzahl der Lichtwechsel, Geschwindigkeit)
Wie ParamFading, nur werden hier die neuen Helligkeiten per Zufall festgelegt. Hier kann auch angegeben werden wieviele Lichtwechsel stattfinden sollen.
**RandomLight(Istzustand, Anzahl der Lichtwechsel, Geschwindigkeit)**Wie RandomLightFading, auch hier werden die neuen Helligkeiten per Zufall festgelegt. Nur das die neuen Werte direkt gesetzt werden, es wird nicht gefadet.
ParamFading(Istzustand, Sollzustand, Geschwindigkeit)
In dieser Funktion wird von den Helligkeitswerte die in Light1 enhalten sind auf die Helligkeitswerte gefadet welche in Light2 definiert sind. Es sind hierbei für jede Led Werte von 0 - 4095 möglich. Dann wird die Diferenz zwischen der alten Led Helligkeit und der neuen Led Helligkeit errechnet und dieser Wert durch 100 geteilt. Er wird dann in 100 Schritten von der alten zur neuen Helligkeit gefadet. Am Ende der Routine wird Light1 aktualisiert. Vor der Benutzung dieser Funktino muss mit DeclareParam der Inhalt von Light2 definiert werden.
SetParam(Istzustand, Sollzustand)
Wie ParamFading, jedoch mit dem Unterschied das hier der neue Zustand sofort gesetzt wird. Also ohne Fading. Vor der Benutzung dieser Funktino muss mit DeclareParam der Inhalt von Light2 definiert werden.
PatternFading(Istzustand, Sollzustand, Geschwindigkeit)
In dieser Funktion wird von den Helligkeitswerte die in Light1 enhalten sind auf die Helligkeitswerte gefadet welche im ausgewählten Pattern definiert sind. Dazu werden die Patternwerte zuerst in Werte von 0 - 15 umgerechnet und dann mit 256 multipliziert. Dann wird die Diferenz zwischen der alten Led Helligkeit und der neuen Led Helligkeit errechnet und dieser Wert durch 100 geteilt. Er wird dann in 100 Schritten von der alten zur neuen Helligkeit gefadet. Am Ende der Routine wird Light1 aktualisiert.
SetPattern(Istzustand, Sollzustand)
Wie PatternFading, jedoch mit dem Unterschied das hier der neue Zustand sofort gesetzt wird. Also ohne Fading.
Drehen(Istzustand, Anzahl der Schritte, Drehrichtung, Geschwindigkeit)
Drehrichtung: 0 = gegen den Uhrzeigersinn, 1 = im Uhrzeigersinn.
Die Darstellung wird also entweder im oder gegen den Uhrzeigersinn gedreht/rotiert. Hierzu wird Bubble-Sort benutzt. Also ein Lauflichteffekt.