Inhaltsverzeichnis
NeoEWS - Variante mit erweiterter Lichtsteuerung
Die NeoEWS ist eine Firmware für die NeoControl. Neben den aus anderen Baugruppen (siehe Lightcontrol etc) bekannten Lightports und Makros bietet diese Variante erweiterte vorprogrammierte Lichteffekte. Diese Lichteffekte können ohne den Einsatz von Makros benutzt werden. Darüberhinaus bietet diese Firmware die Möglichkeit die Lightports flexibel den einzelnen Lichtausgängen (zum Beispiel WS2812) und auch mehrfach zu verwenden.
Strombedarf
Die NeoControl Hardware ist auf maximal 2A pro Strang ausgelegt, dies entspricht maximal 32 WS-Bausteinen bei voller Helligkeit. Zur Erinnerung, jede einzelne Farbe in den WS2812 Bausteinen bzw. jede extern angeschlossene LED bei den WS2811 (also 3 pro Baustein) wird bei maximaler Helligkeit mit 18,5mA betrieben. Damit ergeben sich 55,5mA pro WS-Baustein (und gar 74mA bei den SK6812RGBW).
Anzahl WS281x-Bausteine | Anzahl LEDs | max. Strombedarf | Anzahl WS281x-Bausteine | Anzahl LEDs | max. Strombedarf | |
---|---|---|---|---|---|---|
1 | 3 | 0,06A | 85 | 255 | 4,72A | |
2 | 6 | 0,11A | 90 | 270 | 5,00A | |
10 | 30 | 0,56A | 128 | 384 | 7,10A | |
18 | 54 | 1,00A | 144 | 432 | 8,00A | |
36 | 108 | 2,00A | 180 | 540 | 10,00A | |
54 | 162 | 3,00A | 216 | 648 | 12,00A | |
72 | 192 | 4,00A | 256 | 768 | 14,21A |
Wenn man nun mehr als ca. 30 WS-Bausteine pro Strang verwenden will, dann muss die 5V-Versorgung aufgetrennt werden und mit einem weiteren Netzteil der jeweils nachfolgende Abschnitt separat versorgt werden. Es sollten nicht die in der Tabelle erwähnten 36 WS-Bausteine am Strang A verwendet werden da aus dem zugehörigen Spannungsregler auch die Platine der NeoControl versorgt wird. Strang B ist hier etwas unkritischer.
Bei der intern bereitgestellten Spannungsversorgung sollten nicht mehr als jeweils 32 WS-Bausteine (24 SK6812) angeschlossen werden um die Systemstabilität der Baugruppe auch im Extremfall zu gewährleisten. Bei zusätzlichen WS-Bausteinen kann man gegebenenfalls den benötigten Strombedarf an die erwartete Belastung anpassen. Zum Beispiel ob alle auf einmal leuchten (Bei Ampeln oder Signalen wird dies nicht der Fall sein), bzw. ob die maximale Helligkeit tatsächlich benutzt wird. Das Netzteil muß in diesem Fall mit der entsprechenden Last im Ausnahmefall klar kommen ohne eine Schaden zu erleiden. Falls das Netzteil dann die Spannung reduziert, werden die LEDs dunkler werden bis zum Extremfall das sie komplett ausgehen.
Grundkonfiguration
Mit den folgenden Einstellungen wird die Grundkonfiguration des Knotens vorgenommen. Hier sind nur die NeoControl spezifischen Eigenheiten aufgeführt.
Name | CV | Beschreibung |
---|---|---|
Allgemein/OneWS Konfiguration | 1135 | Bitfeld zur Konfiguration der verwendeten WS-Bausteine |
Bit 0 | Invertierung des Datensignals, gilt für beide Stränge | |
0 = WS-Bausteine direkt (ohne Inverter) verbunden | ||
1 = Externer Inverter in der Datenleitung vorhanden, Standard bei der NeoControl NC1-Platine | ||
Bit 1 | Strang A - Einzel-/Farbmodus | |
0 = Die LEDs der WS-Bausteine sollen einzeln gesteuert werden | ||
1 = Die LEDs der WS-Bausteine sollen als Farb/RGB(W)-LEDs angesteuert werden | ||
Bit 2 | Strang A - Farbmodell | |
0 = WS2811 oder WS2812 | ||
1 = SK6812RGBW | ||
Bit 3 | Strang A - Helligkeit | |
0 = Linearer (1:1) Zusammenhang | ||
1 = Logarithmischer Zusammenhang | ||
Bit 4 | Strang B - Einzel-/Farbmodus | |
0 = Die LEDs der WS-Bausteine sollen einzeln gesteuert werden | ||
1 = Die LEDs der WS-Bausteine sollen als Farb/RGB(W)-LEDs angesteuert werden | ||
Bit 5 | Strang B - Farbmodell | |
0 = WS2811 oder WS2812 | ||
1 = SK6812RGBW | ||
Bit 6 | Strang B - Helligkeit | |
0 = Linearer (1:1) Zusammenhang | ||
1 = Logarithmischer Zusammenhang | ||
Bit 7 | Debug | |
0 = 'Stilles' Aufstarten (Default) | ||
1 = Licht-Info beim Aufstarten/Beenden | ||
Strang A - Länge | 1136 | Nummer des letzten WS-Bausteins1) im Strang A (mit 0 beginnend) 0 = 1 WS-Baustein im Strang A, bis zu 255 im Strang B 255 = 256 WS-Bausteine im Strang A, Strang B wird nicht verwendet |
Feature CTRL_SPORT_COUNT | 52 | Anzahl der Ausgänge, erlaubter Bereich: 16-24 Setzt sich aus der Anzahl der Gruppen (16) und der verwendeten Ausgänge (0-8) zusammen. Wenn die HW keine Ausgänge am Port B vorsieht, kann der Port B damit abgeschaltet werden. Bei der NeoControl NC1-Platine sind 8 Ausgänge vorgesehen, daher kann hier der Maximalwert (16+8=24) gesetzt werden. |
Ab V2.1.0 | ||
Stripe A - RGBW Reihenfolge | 1199 | Reihenfolge der Farbanteile für den LED-Stripe. Damit können auch Stripes mit einer anderen Farbreihenfolge problemloser verwendet werden (die Farbdefinitionen sind dann unabhängig davon) |
Stripe B - RGBW Reihenfolge | 1200 | Reihenfolge der Farbanteile für den LED-Stripe. Damit können auch Stripes mit einer anderen Farbreihenfolge problemloser verwendet werden (die Farbdefinitionen sind dann unabhängig davon) |
Beispiele
Anwendung | CV 1135 |
---|---|
Ein Strang mit WS2812 Bausteinen an einer NC1 HW angeschlossen (Strang A), die WS2812 sollen im Farbmodus angesteuert werden, lineare Helligkeitskennlinie | 0b00000011 = 0x03 |
Ein Strang mit SK6812RGBW Bausteinen an einer NC1 HW angeschlossen (Strang A), die SK6812 sollen im Farbmodus angesteuert werden, lineare Helligkeitskennlinie | 0b00000111 = 0x07 |
Ein Strang mit WS2811 Bausteinen an einer NC1 HW angeschlossen (Strang A), die LEDs der WS2811 sollen einzeln angesteuert werden (nur max. 86 WS2811 da für 256 einzeln ansteuerbare LEDs 256/3 = 85,3 WS2811 benötigt werden), logarithmische Helligkeitskennlinie | 0b00001001 = 0x09 |
Strang A mit WS2811 Bausteinen und Strang B mit SK6812RGBW an einer NC1 HW angeschlossen, die WS2811 sollen einzeln, die SK6812 im Farbmodus angesteuert werden, beide mit logarithmischer Helligkeitskennlinie | 0b01111001 = 0x79 |
Da alle Bausteine eines Stranges im selben Modus angesteuert werden, ist eine Mischkonfiguration (zum Beispiel WS2811 und WS2812 abwechselnd) eher nicht sinnvoll (aber möglich). Ein Mischen mit SK6812RGBW macht keinen Sinn da dieser Baustein 4 und nicht 3 Farbkanäle verwendet. Wenn man 2 verschiedene Arten verwenden möchte, dann sollte man diese auf die beiden Stränge separieren (siehe 4. Beispiel oben).
Datenfluß
Das folgende Bild soll helfen den generellen Datenfluß und die Steuerungsmöglichkeiten zu verdeutlichen.
Das zentrale Element ist die LightEngine. Sie entspricht der LightEngine aus der LightControl und bietet damit die bekannten Fähigkeiten zur Steuerung der LightEngine Elemente (LEE): Helligkeit, Dimmen, Blinken, etc.
Jedes der LEE kann auf eine beliebige Stelle in den WS-LEDs gelegt werden. Auch ist eine Mehrfachverwendung möglich, dadurch können maximal 256 WS-Bausteine an die OneWS I angeschlossen werden. Diese Zuordnung erfolgt in dem Block LED Mapping. Zusätzlich kann dieser Block für die beiden Stränge aufgeteilt werden, 0…(CV1116) an Strang A, (CV1116+1)…255 an Strang B (im Bild nicht gezeigt).
Ob dieses Mapping auf einen gesamten WS-Baustein (im Farbmodus) oder auf eine einzelne der 3 LEDs eines WS-Bausteins wirkt, wird in der Grundkonfiguration Bit 1 festgelegt. Davon abhängig wird dann die Umsetzung auf die Farben verwendet oder eben auch nicht. Unabhängig davon werden die aktuellen Helligkeitswerte noch über eine Gamma-Funktion angepaßt. Damit erhält man eine optisch ansprechendere Helligkeitskurve verglichen mit einer linearen Ansteuerung.
Die LightEngine kann durch verschiedene Quellen gesteuert werden. Bekannte Möglichkeiten (siehe LightControl) sind das direkte Schalten eines Lichtausgangs oder das Schalten eines Lichtausgangs in einem Makro. In der Neo_EWS sind zwei weitere Möglichkeiten hinzugekommen: Accessory und Gruppeneffekte.
Alternativ zur Verknüpfung von Aspekten eines Accessory mit Makros können die Accessories/Aspekte mit einem Satz an LightEngine Elementen verbunden werden um somit mehrere Elemente, wie für ein Signal, direkt steuern zu können.
Mit den Gruppeneffekten können standardisierte Abläufe/Effekte zugeordnet werden. Es liegen typische Sequenzen für Ampeln, Lauflichter, Hausbeleuchtungen etc. vor.
Inputs und Outputs ermöglichen die Interaktion mit der Außenwelt. So kann die Baugruppe auf Tasten oder andere Quellen reagieren und weitere Effekte (wie zum Beispiel Stoppstellen) steuern.
LED Zuordnung
Mit der LED Zuordnung (Mapping) wird festgelegt welches Element der LightEngine an welcher Stelle der WS-Bausteine verwendet wird. Es sind 2 Fälle zu unterscheiden:
a) Farbmodus
Im Farbmodus werden maximal 256 WS-Bausteine verwendet. Daher gibt es 256 Einträge in der LED-Zuordnungstabelle, jeder Eintrag entspricht der Position im Stripe. Man gibt also bei der Position des WS-Bausteins an, woher er seine Helligkeitswerte bezieht. So kann man dann zum Beispiel den fünften WS-Baustein (entspricht Nummer 4, gezählt wird ab 0) an das erste Element der LightEngine (gezählt wird ab 0) anbinden. Dies erreicht man durch Beschreiben des 5. Elements der Zuordnungstabelle mit dem Wert 0:
WS-Baustein | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … |
---|---|---|---|---|---|---|---|---|
LightEngine | xx | xx | xx | xx | 00 | xx | xx | … |
b) Einzeln gesteuerte LEDs
Im Falle der einzeln gesteuerten LEDS (vorzugsweise in Verbindung mit WS2811) sind maximal 256/3 = 85 WS-Bausteine erreichbar. Da in diesem Fall aber jede einzelne der 3 LEDs eines WS-Bausteins einzeln angesteuert wird, besteht die LED-Zuordnungstabelle auch aus 256 Einträgen. Auch hier wieder das Beispiel die 5. LED auf das erste Element der LightEngine zu legen:
WS-Baustein | 0 | 0 | 0 | 1 | 1 | 1 | 2 | … |
---|---|---|---|---|---|---|---|---|
Farbkanal | G | R | B | G | R | B | G | … |
LightEngine | xx | xx | xx | xx | 00 | xx | xx | … |
Das heißt der rote Farbkanal des 2. WS-Bausteins wird durch das erste LightEngine-Element angesteuert. (Die Bezeichnungen mit G, R und B können je nach WS2811-Platine/Benamung auch vertauscht sein bzw. anders heißen)
Über diese Zuordnungstabelle kann ein LightEngine-Element an eine beliebige Stelle im Strang gelegt werden, und auch mehrfach verwendet werden. Nachfolgend das gleiche Beispiel aus a) aber der 7. WS-Baustein soll zusätzlich auch mit dem 1. Element der LightEngine belegt werden:
WS-Baustein | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … |
---|---|---|---|---|---|---|---|---|
LightEngine | xx | xx | xx | xx | 00 | xx | 00 | … |
Lightports/Farben
Wie in der Übersicht schon geschrieben ist die Lightengine weitestgehend identisch zu der aus der Lightcontrol, man kann daher bei jedem Element der LightEngine die folgenden Parameter einstellen:
- Helligkeit im Zustand Aus
- Helligkeit im Zustand Ein
- Dimmzeit in Richtung Aus
- Dimmzeit in Richtung Ein
Der einzige Unterschied ist der Parameter für einen Farbindex der hinzugekommen ist (der Parameter current für die Stromquelle entfällt dadurch). Der Farbindex greift auf eine Tabelle zu in der jeweils der genaue Farbwert zu dem Index gespeichert ist. Diese Farbtabelle enthält 256 Einträge mit den 3 Farbkanälen (Rot, Grün und Blau). Ein WS-Baustein kann jeweils 256 Helligkeitsstufen für jeden Farbkanal erzeugen. Damit sind insgesamt 16 Millionen Farben möglich, gleichzeitig können aber nur die 256 Farben aus der Farbtabelle verwendet werden (Es sei denn die WS-Bausteine werden im Einzel-LED-Modus angesteuert).
Die Farbtabelle besteht aus 4 Teilen:
a) 32 Benutzer definierbare Farben (Farbnummer 0..31)
b) 20 Dynamische Farben (V1.x: 0, V2.0.0: 16) (Farbnummer 32..51)
c) 3 vorgegebene Farben (RGB-Weiß, RGBW-Weiß, Schwarz)
d) 192 vorgegebene Farben aus einem Farbkreis (Farbnummer 64..255) (V1.x: 224 Farben)
Die definierbaren Farben können über CVs mit Angabe der Werte (0-255) für Rot, Grün und Blau definiert werden. Falls die Neo_EWS für die SK6812RGBW definiert ist, werden die zugehörigen Weiß-Werte anstelle der letzten 32 Einträge der LED-Zuordnungstabelle gesetzt (Achtung: Dann können nur noch maximal 224 WS-Bausteine angesteuert werden).
Farbe | CV Grün | CV Rot | CV Blau | CV Weiß2) | Farbe | CV Grün | CV Rot | CV Blau | CV Weiß |
---|---|---|---|---|---|---|---|---|---|
0 | 686 | 687 | 688 | 1102 | 16 | 734 | 735 | 736 | 1118 |
1 | 689 | 690 | 691 | 1103 | 17 | 737 | 738 | 739 | 1119 |
2 | 692 | 693 | 694 | 1104 | 18 | 740 | 741 | 742 | 1120 |
3 | 695 | 696 | 697 | 1105 | 19 | 743 | 744 | 745 | 1121 |
4 | 698 | 699 | 700 | 1106 | 20 | 746 | 747 | 748 | 1122 |
5 | 701 | 702 | 703 | 1107 | 21 | 749 | 750 | 751 | 1123 |
6 | 704 | 705 | 706 | 1108 | 22 | 752 | 753 | 754 | 1124 |
7 | 707 | 708 | 709 | 1109 | 23 | 755 | 756 | 757 | 1125 |
8 | 710 | 711 | 712 | 1110 | 24 | 758 | 759 | 760 | 1126 |
9 | 713 | 714 | 715 | 1111 | 25 | 761 | 762 | 763 | 1127 |
10 | 716 | 717 | 718 | 1112 | 26 | 764 | 765 | 766 | 1128 |
11 | 719 | 720 | 721 | 1113 | 27 | 767 | 768 | 769 | 1129 |
12 | 722 | 723 | 724 | 1114 | 28 | 770 | 771 | 772 | 1130 |
13 | 725 | 726 | 727 | 1115 | 29 | 773 | 774 | 775 | 1131 |
14 | 728 | 729 | 730 | 1116 | 30 | 776 | 777 | 778 | 1132 |
15 | 731 | 732 | 733 | 1117 | 31 | 779 | 780 | 781 | 1133 |
Bis Version 1.x.x:
Die Farben aus dem Farbkreis wurden so berechnet das die Farben beginnend bei Rot (Farbe #32), über Gelb (Farbe #69), Grün (Farbe #107), Türkis (Farbe #144), Blau (Farbe #181), Lila (Farbe #219) sich über ziemlich Rot (Farbe #255) der Farbkreis wieder schließt.
Version 2.x.x:
Die Farben aus dem Farbkreis wurden so berechnet das die Farben beginnend bei Rot (Farbe #64), über Gelb (Farbe #96), Grün (Farbe #128), Türkis (Farbe #160), Blau (Farbe #192), Lila (Farbe #224) sich über ziemlich Rot (Farbe #255) der Farbkreis wieder schließt.
Die Berechnung basiert auf der HSV nach RGB Konvertierung nach Had2Know.
V2.2.0:
Die folgenden fest definierten Farben wurden hinzugefügt:
Farbe | Rot | Grün | Blau | Weiß | Beschreibung |
---|---|---|---|---|---|
61 | 0 | 0 | 0 | 255 | Weiß für RGBW-Farbmodus |
62 | 255 | 255 | 255 | 0 | Weiß für RGB-Farbmodus |
63 | 0 | 0 | 0 | 0 | Schwarz |
Nachdem nun die Helligkeitswerte der einzelnen Farbkanäle bestimmt sind, werden diese noch über eine Gamma-Kurve an die optische Wahrnehmbarkeit angepaßt:
Mit der CV 1135 kann die Helligkeitszuordnung angepasst werden, es gibt die Auswahl zwischen der gezeigten Gamma-Kurve und einer Linearen (1:1).
Accessories
Die Baugruppe kann auf mehrere Arten über Accessories angesteuert werden. Für Funktionen die mit V2.3.0 eingeführt wurden, muss der Wert des Features FEATURE_ACCESSORY_COUNT angepasst werden!
In den Versionen V2.1.0 bis V2.2.0 wird das Verhalten der Accessories in der EWS nur noch über CVs konfiguriert. Dabei gilt für alle Accessories für das Aufstartverhalten:
Wert | Bedeutung |
0..7 | Der entsprechende Begriff des Accessories wird beim Startup ausgeführt |
254 | Der zuletzt gesetzte Begriff wird wieder hergestellt |
255 | Beim Startup wird nichts unternommen |
Ab V2.3.0 können die Accessories je nach Accessory-Typ über CV oder (insbesondere für die Standard-MakroMapped-Funktion) auch über das Tab „Accessory“ des Wizard konfiguriert werden. Für letzteres ist mindestens die Wizard Version 1.12-SNAPSHOT Build 4007 notwendig.
1. Ein gewählter Aspekt ruft ein vorher konfiguriertes Makro auf
Accessories 0..19!
In der CV „Modus“ (zum Beispiel CV 1139 für Accessory 0) muss der Offset auf den Wert 0 gesetzt werden.
Bis V2.0.0: Dies ist der aus anderen Baugruppen bekannte Standardfall zu den Accessories und wird daher hier nicht weiter beschrieben.
Ab V2.1.0 meldet sich die Neo_EWS nicht mehr mit dem Feature MacroMapped=8 sondern mit dem Wert 0 da es in den Tools (wie Wizard) ansonsten zu Problemen kommen kann. Die Makros müssen nun über die CVs in die Aspekte des jeweiligen Accessories geschrieben werden.
Ab V2.3.0 wird das Feature MacroMapped wieder mit dem Wert 8 gemeldet. Mit dem Wizard ab Version 1.12-SNAPSHOT Build 4007 können trotz gemischt genutzter Accessories diejenigen Accessories, die Makros aufrufen sollen, auch im Tab Accessories konfiguriert und aufgerufen werden.
2. Ein gewählter Aspekt steuert direkt bis zu 8 LEDs
Accessories 0..19!
In der CV „Modus“ (zum Beispiel CV 1139 für Accessory 0) muss der Offset auf den Wert 1 bis 8 gesetzt werden.
Da nicht genügend Makros zur Verfügung gestellt werden können um die Vielzahl der LEDs auf verschiedene Lichtkombinationen (Stichwort Signal) zu erzeugen, gibt es die Möglichkeit dies direkt für die Accessories zu definieren.
Features:
- 1-8 LEE pro Accessory
- Bis zu 8 Aspekte je Accessory
- Jedem Aspekt wird eine Lichtkombination zugeordnet
- Ein-/Ausschalteffekte konfigurierbar
- Zeit zwischen 2 Übergängen konfigurierbar
Um die direkte LED Steuerung für Accessories zu aktivieren muß die erste CV für das jeweilige Accessory auf die Anzahl der benutzten LEE gesetzt (>0) werden. Wenn dieser Wert auf 0 gesetzt ist greift die normale Einstellung für Makros.
Die Lichtkombinationen der Aspekte wird in den CVs definiert die sonst das jeweilige Makro enthalten. Dabei steht jedes Bit für eine der bis zu 8 LEE eines Accessories. Bit 0 für das erste Element, Bit 1 für das zweite, …, Bit 7 für das Achte.
Die Ein-/Ausschalteffekte sind wie folgt einstellbar (wird ebenfalls in der ersten CV für jedes Accessory konfiguriert):
- Hartes Ein- und hartes Ausschalten
- Gedimmtes Ein- und gedimmtes Ausschalten
- Einschalten mit Neon-Effekt und hartes Ausschalten
- Einschalten mit Neon-Effekt und gedimmtes Ausschalten
- Blinken Typ A
- Blinken Typ B
- Flashlight Typ A
- Flashlight Typ B
- Doppelblitz
Die Übergangszeit beim Umschalten auf einen neuen Aspekt wird in einer eigenen CV pro Accessory definiert. So kann man zum Beispiel erreichen das ein Dimmen zum Ausschalten komplett beendet wird bevor der neue Aspekt gesetzt wird und andere LEE eingeschaltet werden. Falls LEEs den gleichen Zustand beim neuen Aspekt behalten werden diese in diesem Zustand gehalten (kein Flackern). Die Zeit kann im Bereich von 0 bis 1,27s eingestellt werden.
Über das LED Mapping können dann beliebige (und auch mehrere) WS-Bausteine bzw. Kanäle der WS-Bausteine mit dem Accessory angesteuert werden.
Zu beachten
Bis V2.0.0: Derzeit (19.04.2017) erwarten die BiDiB-Tools zu jedem Aspekt ein hinterlegtes Makro. Da hier jedoch keine Makros hinterlegt werden, passen die Daten nicht zu der Erwartungshaltung der Tools (wie der Wizzard). Daher kann der Tab „Accessories“ in diesem Fall nicht benutzt werden und die Einstellung muß über die CVs erfolgen.
Ab V2.1.0: Über das Feature MacroMapped wurde die Erwartungshaltung der Tools an die Flexibilität der NeoEWS angepasst und die Accessory-Zuordnung kann nun nur noch über CVs eingestellt werden.
Ab V2.3.0: Da das Feature MacroMapped in dieser Version wieder wie vor V2.1.0 genutzt wird, ist der Wizard ab Version 1.12-SNAPSHOT Build 4007 notwendig um die richtige Anzahl der Aspekte im Tab Accessory zu erhalten. Die Konfiguration der Werte der einzelnen Begriffe erfolgt weiterhin über CVs.
3. Dynamische Farben direkt durch ein Accessory setzen
Accessories 0..19!
In der CV „Modus“ (zum Beispiel CV 1139 für Accessory 0) muss der Offset auf den Wert 13 gesetzt werden.
Ab V2.1.0. können die dynamischen Farben direkt durch ein Accessory gesetzt werden und somit die Lightports in ihrer Farbe aktiv durch das Hostprogramm gesetzt werden. Dazu wird in der erweiterten Konfiguration der Accessory CVs der Modus „Dynamische Farbe setzen“ ausgewählt (In dieser Version V2.1.0. haben die Sub-Optionen keine Bedeutung).
Ab V2.2.0 werden die Sub-Optionen berücksichtigt und es kann der Farbübergang konfiguriert werden. Dabei werden bei den Optionen 0, 16, … 128 zunächst alle Lightports, die mit der Farbnummer aus diesem Accessory übereinstimmt, ausgeschaltet. Dann wird die Zeit die im Verzögerungsparameter gesetzt ist abgewartet. Anschließend wird die Farbe umgesetzt und alle zugehörigen Lightports werden wieder eingeschaltet.
Die Option „Weicher Farbübergang (192)“ vollzieht einen fließenden Übergang von der aktuellen Farbe zur neuen Farbe. Dabei werden die Lightports nicht ausgeschaltet, aber am Ende erhalten sie einen Einschaltbefehl (Grund nachfolgend).
Als Nebeneffekt werden die zugehörigen Lightports beim Farbwechsel (auch identische Farbe) eingeschaltet und man benötigt keinen separaten Befehl um die Lightports initial einzuschalten.
Die Optionen 208, 224 und 240 („Stripes A/B“) haben keine Funktion für diesen Modus.
In der Folge-CV „Erste LED/Dynamische Farbe des Accessories“ wird die Nummer einer dynamischen Farbe (32…51) gesetzt. Diese kann dann bei einem (oder mehreren) Lightports ebenfalls als Farbe gesetzt werden.
In den CVs der Standard-Konfiguration des entsprechenden Accessory für die Begriffe wird noch die Farbnummer der dynamischen Farbe eingetragen, die man mit dem jeweiligen Begriff setzen möchte.
4a. Helligkeit der Stränge durch ein Accessory setzen - Variante 1
Accessories 0..19!
In der CV „Modus“ (zum Beispiel CV 1139 für Accessory 0) muss der Offset auf den Wert 15 gesetzt werden.
Ab V2.1.0 kann die Helligkeit der beiden Stränge über einen Faktor eingestellt werden. Dazu wird in der erweiterten Konfiguration der Accessory CVs der Modus „Helligkeitssteuerung“ ausgewählt. Über die Sub-Option kann ausgewählt werden ob Stripe A, Stripe B oder beide Stripes gesteuert werden (falls etwas anderes ausgewählt wird hat dieses Accessory keine Funktion). Die folgenden beiden CVs haben keine Einfluß.
In den CVs der Standard-Konfiguration des entsprechenden Accessory für die Begriffe wird noch der Helligkeitsfaktor eingetragen, den man mit dem jeweiligen Begriff setzen möchte. Dabei ist zu beachten das die Helligkeit wie folgt berechnet wird:
Helligkeit = Wert-des-Begriffs * RGBW-Wert / 32
D.h. wenn im Aspekt der Wert 32 eingetragen wird, wird die Standardhelligkeit der Lightports verwendet. Mit dem Wert 1 kann man die Helligkeit um den Faktor 1/32 herunterregeln, oder mit dem Wert 255 um den Faktor ca. 8 (genau 255/32) heraufregeln.
4b. Helligkeit der Stränge durch ein Accessory setzen - Variante 2
Diese Funktion ist ab V2.3.0 verfügbar. Um sie nutzen zu können, muss der Wert des Features FEATURE_ACCESSORY_COUNT auf mindestens 23 gesetzt werden.
Die Helligkeit der Stripes kann über die folgenden Accessories gesteuert werden:
Accessory | Bedeutung |
---|---|
#20 | Helligkeitsfaktor des Stripe A |
#21 | Helligkeitsfaktor des Stripe B |
#22 | Helligkeitsfaktor des Stripe A und B |
Der Begriff kann wie folgt in den Helligkeitsfaktor umgerechnet werden:
Helligkeitsfaktor = Begriff-Nummer / 32
Nur bei dem Begriff Nummer = 127 wird der Faktor auf 255 / 32 gesetzt. Damit kann der gleiche Wertebereich wie bei Variante 1 benutzt werden.
Begriff | Helligkeitsfaktor |
---|---|
0 | 0 = Aus |
1 | 1/32 = 3% |
2 | 2/32 = 6% |
… | … |
32 | 32/32 = 100% |
… | … |
126 | 126/32 = 394% |
127 | 255/32 = 797% |
Das Startup-Verhalten ist nicht konfigurierbar, es wird immer mit dem Aspekt 32 = Faktor 100% gestartet.
5. Direktes Setzen der Farbe von Lightports
Diese Funktion ist ab V2.3.0 verfügbar. Um sie nutzen zu können, muss der Wert des Features FEATURE_ACCESSORY_COUNT auf 24 bis 104 (oder höher) gesetzt werden.
Es gibt eine direkte Zuordnung von Accessory zu den Lightports um deren Farbe steuern zu können:
Accessory | Lightport |
---|---|
#23 | #0 |
#24 | #1 |
#25 | #2 |
… | … |
#103 | #80 |
Über den gewählten Begriff kann die konfigurierte Farbe des Lightports ersetzt werden und somit die Farbe des Lightports flexibel vom Hostprogramm gesteuert werden. Dazu gilt folgende Tabelle:
Begriff | Bedeutung |
---|---|
#0 | Setze Farbe aus CV1203 bzw. CV1206 |
#1 | Setze Farbe #1 |
#2 | Setze Farbe #2 |
… | |
#31 | Setze Farbe #31 |
#32 | Setze Farbe #32 (Dynamische Farbe #0) |
#33 | Setze Farbe #33 (Dynamische Farbe #1) |
… | … |
#61 | Setze Farbe Weiß - RGBW |
#62 | Setze Farbe Weiß - RGB |
#63 | Setze Farbe Schwarz |
#64 | Setze Farbe #64 (Farbkreis Rot) |
#65 | Setze Farbe #68 (Farbkreis) |
#66 | Setze Farbe #72 (Farbkreis) |
… | Setze Farbe #(4*x - 192) (Farbkreis) |
#111 | Setze Farbe #252 (Farbkreis) |
#112 | Accessory inaktiv, verwende die Farbe des Lightports |
Zu beachten ist das nur ein Teil des Farbkreises eingestellt werden kann. Statt 192 Farben sind nur 48 verfügbar.
Darüberhinaus kann die Funktion des Accessories konfiguriert werden. Es gibt zwar nur einen Modus „Direkte Lightport-Farbsteuerung“, aber dennoch kann der Übergang von der vorhandenen Farbe auf die gewünschte Farbe wie folgt bestimmt werden:
Verzögerung CV1202 / CV1205 | Modus CV1201 / CV1204 | Bedeutung |
---|---|---|
= 0 | Beliebig | Direktes (hartes) Umschalten auf die neue Farbe, es findet keine Aus-/Einschaltung des Lightports statt |
> 0 | 0, 16, …, 128 | Lightport wird entsprechend der Einstellung ausgeschaltet, die Verzögerung abgewartet, die Farbe umgeschaltet, der Lightport entsprechend der Einstellung wieder eingeschaltet |
> 0 | 160 | Wenn die vorhandene und die gewünschte Farbe im Farbkreis liegt, wird ein gleichmäßiger Farbübergang entlang des Farbkreises durchgeführt. Dabei wird der kurze Weg (möglichst wenig Zwischenfarben) gewählt um am Ende der gegebenen Verzögerung die gewünschte Farbe zu erreichen. Falls eine der Farben außerhalb des Farbkreises liegt, wird der gleichmäßige Farbübergang nicht durchgeführt. Am Ende des Farbwechsels wird der Lightport sicherheitshalber eingeschaltet. |
> 0 | 176 | Wenn die vorhandene und die gewünschte Farbe im Farbkreis liegt, wird ein gleichmäßiger Farbübergang entlang des Farbkreises durchgeführt. Dabei wird der lange Weg (möglichst viele Zwischenfarben) gewählt um am Ende der gegebenen Verzögerung die gewünschte Farbe zu erreichen. Falls eine der Farben außerhalb des Farbkreises liegt, wird der gleichmäßige Farbübergang nicht durchgeführt. Am Ende des Farbwechsels wird der Lightport sicherheitshalber eingeschaltet. |
Um flexibel für den Begriff 0 zu sein (der den Ruhezustand darstellt), kann über die CV1203 bzw. CV1206 die Wunschfarbe für den Ruhezustand eingestellt werden. Das muss daher nicht Farbe #0 sein, es kann eine beliebige Farbe (zum Beispiel Schwarz wenn eine Dunkeltastung gewünscht wird, oder Rot für ein Haltesignal) eingestellt werden ohne die Farbe #0 dafür verwenden zu müssen.
Es gibt 2 Konfigurationen für diese Accessory-Funktion (daher sind oben immer jeweils 2 CVs aufgeführt). Dazu werden die Lightports anhand der CV1207 in 2 Gruppen aufgeteilt:
CVs | Lightports | |
---|---|---|
Gruppe/Konfiguration 1 | CV1201…CV1203 | #0 … (CV1207 - 1) |
Gruppe/Konfiguration 2 | CV1204…CV1206 | CV1207 … #80 |
Das Startup-Verhalten ist nicht konfigurierbar, es wird immer mit dem Begriff 112 = „Accessory inaktiv, verwende die Farbe des Lightports“ gestartet.
6. Direkte Makroaufrufe
Diese Funktion ist ab V2.3.0 verfügbar. Um sie nutzen zu können, muss der Wert des Features FEATURE_ACCESSORY_COUNT auf 108 gesetzt werden.
Mit den Accessories im Bereich 104-107 können die Macros direkt aufgerufen werden ohne das man sie in einem der ersten 20 Accessories konfigurieren muss.
Accessory | Bedeutung |
---|---|
#104 | Makros 0 bis 7 |
#105 | Makros 8 bis 15 |
#106 | Makros 16 bis 23 |
#107 | Makros 24 bis 31 |
Das Startup-Verhalten ist nicht konfigurierbar, es wird kein Aspekt (bzw. Makro) beim Startup wieder hergestellt.
—
Gruppeneffekte
Die Neo_EWS bietet die Möglichkeit mehrere Light Engine Elemente oder Farben mit einem Gruppeneffekt zu belegen. Prinzipiell kann man Makros verwenden, um jedoch für Standardeffekte keine Makros zu benötigen oder komplexere Effekte zu verwenden, gibt es die Gruppeneffekte.
Es gibt insgesamt 16 Gruppen die über die SPORTS ein- und ausgeschaltet werden können. Jede Gruppe wird über sechs CVs definiert:
CV | Basis-Adresse | Offset | Name |
---|---|---|---|
Gruppe 0 | |||
782 | 782 | 0 | Modus |
783 | 782 | 1 | Erstes Element (LEE/Farbe) |
784 | 782 | 2 | Letztes Element (LEE/Farbe) |
785 | 782 | 3 | Geschwindigkeitsfaktor |
786 | 782 | 4 | Ein-/Aus-Verhalten |
787 | 782 | 5 | Option |
Gruppe 1..15 | |||
788..793 | 788 | 0..5 | Gruppe 1 |
794..799 | 794 | 0..5 | Gruppe 2 |
800..805 | 800 | 0..5 | Gruppe 3 |
806..811 | 806 | 0..5 | Gruppe 4 |
812..817 | 812 | 0..5 | Gruppe 5 |
818..823 | 818 | 0..5 | Gruppe 6 |
824..829 | 824 | 0..5 | Gruppe 7 |
830..835 | 830 | 0..5 | Gruppe 8 |
836..841 | 836 | 0..5 | Gruppe 9 |
842..847 | 842 | 0..5 | Gruppe 10 |
848..853 | 848 | 0..5 | Gruppe 11 |
854..859 | 854 | 0..5 | Gruppe 12 |
860..865 | 860 | 0..5 | Gruppe 13 |
866..871 | 866 | 0..5 | Gruppe 14 |
872..877 | 872 | 0..5 | Gruppe 15 |
Modus (Offset 0)
Die folgenden Modi sind definiert:
Modus | Wert |
---|---|
Alle Light Engine Elemente zusammen ein- bzw. ausschalten | 0 |
Alle Light Engine Elemente werden nacheinander ein- und ausgeschaltet | 1 |
Zunächst werden alle Light Engine Elemente nacheinander eingeschaltet, danach alle zusammen ausgeschaltet | 2 |
Hausbeleuchtung (zufälliges ein- und ausschalten einzelner Light Engine Elemente) | 3 |
Regenbogen (Farbverlauf) | 4 |
Ampel | 5 |
Ampel mit Stoppstelle | 12 |
Ampel gelb blinkend | 6 |
Ampel mit Fußgänger | 7 |
Ampel mit Fußgänger und Stoppstelle | 13 |
Ampel mit Fußgänger gelb blinked | 8 |
Knight Rider | 9 |
Feuer-Simulation | 10 |
TV-Simulation | 11 |
TV-Simulation für einzelne RGB(W)-LED | 15 |
Blinken | 14 |
Binärzähler | 63 |
Farbwechsler (Dynamische Farbe (Farbindex 32..47) wechselt durch den gegebenen Farbindexbereich. Der Indexbereich muss aufsteigend definiert sein und darf max 126 Farben umfassen) | 64 |
Farbwechsler (wie Modus 64 aber die Farben wechseln interpolierend) | 65 |
Desweiteren wird in dieser CV angegeben ob der Gruppeneffekt einmalig oder endlos laufen soll:
Häufigkeit | Wert |
---|---|
Einmalig | 0 |
Endlos | 128 |
Die Summe beider Werte wird in die CV eingetragen.
Erstes Light Engine Element/Farbe (Offset 1)
Definition welches Light Engine Element oder Farbnummer das Erste des Effekts ist
Letztes Light Engine Element/Farbe (Offset 2)
Definition welches Light Engine Element oder Farbnummer das Letzte des Effekts ist
Geschwindigkeitsfaktor (Offset 3)
Zu jedem Gruppeneffekt kann ein Parameter für die Ablaufgeschwindigkeit des Effekts definiert werden.
Wert | Zeit | Wert | Zeit | |
---|---|---|---|---|
0 | 10ms | 210 | 35sec | |
x | x * 10ms + 10ms | x | (x-210) * 5sec + 35sec | |
99 | 1000ms | 215 | 1min 00sec | |
100 | 1100ms | 216 | 1min 10sec | |
x | (x-100) * 100ms + 1100ms | x | (x-216) * 10sec + 70sec | |
189 | 10sec | 239 | 5min 00sec | |
190 | 11sec | 240 | 5min 30sec | |
x | (x-190) * 1sec + 11sec | x | (x-240) * 30sec + 330sec | |
209 | 30sec | 250 | 10min 30sec | |
>=251 | 10min 55sec |
Zeit | Wert (x in s) | Auflösung |
---|---|---|
x <= 1s | 100 * x - 1 | 10ms |
x <= 10s | 10 * (x - 1,1s) + 100 | 100ms |
x <= 30s | x + 179 | 1s |
x <= 60s | (x - 35s) / 5 + 210 | 5s |
x <= 300s | (x - 70s) / 10 + 216 | 10s |
x <= 630s | (x - 330s) / 30 + 240 | 30s |
x = 655s | 251 | - |
Verhalten Ein/Aus der Light Engine Elemente (Offset 4)
Hier werden die Ein- und Ausschaltübergänge wie hartes Schalten, Dimmen, Neon, etc. für die gesamte Gruppe definiert.
Aktion | Ein | Aus |
---|---|---|
Umgehendes Ausschalten | 0 | 0 |
Umgehendes Einschalten | 16 | 1 |
Gedimmtes Ausschalten | 32 | 2 |
Gedimmtes Einschalten | 48 | 3 |
Einschalten Neon-Effekt | 64 | 4 |
Blinken Typ A | 80 | 5 |
Blinken Typ B | 96 | 6 |
Flashlight Typ A | 112 | 7 |
Flashlight Typ B | 128 | 8 |
Doppelblitz | 144 | 9 |
Die beiden Werte für Ein und Aus werden dann summiert und in die CV eingetragen. Das Einschalten wird somit mit den oberen 4 Bit und das Ausschalten mit den unteren 4 Bit konfiguriert.
Beispiel: Einschalten mit Neon-Effekt und gedimmtes Ausschalten: 64 + 2 = 66
Üblicherweise sind zum Ausschalten nur die Werte Umgehendes und Gedimmtes Ausschalten in Verwendung. Prinzipiell kann man durch diese Tabelle aber alle Werte zum Ein- und Ausschalten verwenden.
Option (Offset 5)
Einige Gruppeneffekte werten diesen zusätzlichen Parameter aus.
Gruppe | Gruppeneffekt | Bedeutung |
---|---|---|
1 | Nacheinander an/aus | Wartezeit zwischen Ausschalten und Einschalten der nächsten LED |
3 | Hausbeleuchtung | Bit 0..3: Mindestanzahl Lichter an (Bereich 0..15) Bit 4..7: Mindestanzahl Lichter aus (Bereich 0..15) |
4 | Regenbogen | Abstand der Farben im Farbkreis von einer LED zur Nächsten |
5,6,7,8,12,13 | Ampel | Länge der Grünphase |
9 | Knight Rider | Breite des aktiven Leuchtbalkens -1 |
14 | Blinken | Bit 0..3: Zeitschritte für An (Bereich 0..15) Bit 4..7: Zeitschritte für Aus (Bereich 0..15) |
64,65 | Farbwechsler | Bit 0..3: Nummer der dynamischen Farbe - 32 Bit 4: 1=Verwende zusätzlich Schwarz am Anfang Bit 5: 1=Verwende zusätzlich Schwarz am Ende |
—-
Eingänge/Ausgänge
Eingänge
Die Neo_EWS Firmware unterstützt die 8 Eingänge die in der HW der NC1 vorhanden sind. Die Eingänge sind über die INPUTS 0..7 erreichbar.
Darüber hinaus gibt es weitere (interne) Eingänge mit denen der aktuelle Status der Gruppeneffekte abgefragt werden können. Diese internen Eingänge sind hauptsächlich für erweiterte Möglichkeiten bei den Makros angedacht. Sie können aber auch von außen über die Inputs abgefragt werden.
INPUTS 8..23: Wenn der Gruppeneffekt 0..15 aktiv abläuft ist der zugehörige Input ebenfalls aktiv. Änderungen an diesen Werten werden an den Host gemeldet (wenn dieser spontane Meldungen erlaubt)
INPUTS 24..39: Wenn eine Sequenz des Gruppeneffekt 0..15 durchlaufen wurde, wird der zugehörige Input kurz aktiv. Änderungen an diesen Werten werden NICHT an den Host gemeldet (würde zu einer Überfrachtung des BiDiB führen).
Ausgänge
Die Neo_EWS Firmware unterstützt die 8 Ausgänge die in der HW der NC1 vorhanden sind. Die Ausgänge sind über die SPORTS 16..23 erreichbar (die SPORTS 0..15 sind für die Gruppeneffekte zuständig).
Makros
Die aus der Lightcontrol und der BiDiBOne bekannte Makro Engine wird auch hier verwendet.
Die Light Engine Elemente können entsprechend direkt angesteuert werden. Die Ein- und Ausgänge sind ebenso erreichbar.
Da die Gruppeneffekte über die SPORTS gesteuert werden, sind diese auch über die Makro Engine genauso steuerbar. Und wie oben unter den Eingängen geschrieben können die internen Eingänge abgefragt und für Synchronisierungen in Makroabläufen genutzt werden.
Experteneinstellungen
Die folgenden Einstellungen brauchen im Normalfall nicht geändert werden und sollten bei der Default-Einstellung bleiben.
Name | CV | Beschreibung |
---|---|---|
Allgemein/WS281x Baudrate | 1134 | Baudrate zur Ansteuerung der WS-Bausteine. Falls einige WS-Bausteine nicht funktionieren kann die Baudrate geringfügig angepaßt werden. Der Standardwert ist 6. Dies entspricht in etwa der erwarteten Baudrate von 800kHz (genauer: 763kHz). Werte kleiner 5 (entsprechend 889kHz) bzw. größer 7 (entsprechend 667kHz) werden nicht erlaubt und der Standardwert wird verwendet. Üblicherweise sollten alle erlaubten Baudratenwerte (5,6,7) funktionieren |
Mögliche/Geplante Erweiterungen
- Ansteuerung von SPORTS mit Accessories ohne die Verwendung von Makros, siehe Forum
- Eingänge mit Infos von Gruppeneffekten: Nur wenn ein Gruppeneffekt beendet wird (ansonsten möglicherweise zu hohe Last auf dem Bus)
- Bitte weitere Vorschläge ins Forum