- Status geschlossen
- Prozent erledigt
- Aufgabentyp Wunsch / Idee
- Kategorie GUI & Server
-
zuständig
Soon5 - Betriebssystem All
- Schweregrad niedrig
- betrifft Version 3.2 Beta x
- fällig in Version 3.2.2
-
fällig am
unbestimmt
- Stimmen
- versteckt
angelegt von LightningBrothers - 08.10.2019
zuletzt bearbeitet von Soon5 - 12.06.2020
FS#3851 - Matrix-Ansteuerung fällt bei Verwendung eines Colorwheels aus
Ich habe für meine neuen Futurelight Color Mega Wave.i das DDF gebaut und dabei folgendes festgestellt. Nutze ich im DDF sowohl eine Matrix zur Ansteuerung der in diesem Fall 6 Pixel sowie das Colorwheel zum Abrufen von Farbmakros für die gesamte Bar, kann ich die LEDs nicht mehr über die Matrix ansprechen. Die Funktion RGB, um alle 6 LEDs gleichzeitig auf eine Farbe zu setzen, gibt es bei diesem Gerät nicht.
Die betreffenden Teile des DDFs lauten:
<colorwheel dmxchannel="12"> <support dmxchannel="11" name="colorwheel"> <step mindmx="64" maxdmx="79" /> </support> <step type="enableRGB" mindmx="0" maxdmx="3"/> <step type="color" val="#ff0000" mindmx="244" maxdmx="245" caption="red" /> <step type="color" val="#00ff00" mindmx="246" maxdmx="247" caption="green" /> <step type="color" val="#0000ff" mindmx="248" maxdmx="249" caption="blue" /> <step type="color" val="#ffffff" mindmx="250" maxdmx="251" caption="white" /> <rainbow> <support dmxchannel="11" name="rainbow" /> <range type="cw" mindmx="1" maxdmx="255" minval="0.1" maxval="8" > <step handler="support-rainbow" mindmx="32" maxdmx="47" /> </range> <range type="ccw" mindmx="1" maxdmx="255" minval="0.1" maxval="8" > <step handler="support-rainbow" mindmx="48" maxdmx="63" /> </range> </rainbow> </colorwheel> <matrix dmxchannel="14" rows="1" columns="6" whiteoffset="3"> <support dmxchannel="11" name="matrix"> <step mindmx="0" maxdmx="15" /> </support> </matrix>
Mit dem Support-Handler in der Matrix-Funktion möchte ich erreichen, dass der Funktionskanal zum Umschalten zwischen normaler Farbmischung, den Farbmakros und des Rainbow-Effekts auf den Wert gesetzt wird, damit ich die Farbe wieder für jedes Pixel einzeln setzen kann. Möglicherweise kann dieser auch entfallen, wenn die Umschaltung mit Hilfe von enableRGB funktioniert.
Im Anhang findet sich das komplette DDF sowie die Bedienungsanleitung mit der Kanalbelegung.
Also ist so erstmal kein Fehler, weil das ein neues Feature ist. Auf die Idee das es so Geräte gibt muss erstmal jemand kommen :D
Ich habe nun halt 16 Stück davon
Aber okay… Ich kann für den Moment ohne das Colorwheel soweit arbeiten.
Das Problem ist wenn ich dich richtig verstanden habe, dass der Support Handler in der Matrix nicht funktioniert, und daher der Kanal 11 nicht auf 0-15 gesetzt wird, ergo funktioniert nach dem Benutzen des Colorwheels die Matrix nicht mehr oder?
Die Matrix funktioniert in Kombination mit einem Colorwheel aktuell gar nicht, da
Insbesondere durch den letzten Punkt bleiben die Werte für die 6 RGBW-Pixel konsequent auf 0, was sich auch mit Hilfe des folgenden, vereinfachten Test-DDFs zeigt.
Das hab ich schon verstanden. Was muss denn auf dem DMX Kanal wo passieren? Soweit ich das DDF lese muss Kanal 11 auf 0-15 gesetzt werden, wenn sich die Matrix ändert (also der Support Handler muss funktionieren). Sonst noch was? Ist das enableRGB trotzdem Notwendig?
Sobald ich eine Farbe für die gesamte Matrix über den Colorpicker einstelle, muss der Kanal 12 auf einen Wert zwischen 0 und 15 gesetzt werden.
Das enableRGB habe ich jetzt aus Gewohnheit mit (weil es sich ja hier um ein virtuelles Farbrad handelt) eingebaut, damit die aus meiner Sicht saubere Umschaltung erhalte. Wenn du jetzt sagst, das geht auch ohne, dann lasse ich das Weg.
Ich habe ein ähnliches Problem nun in einer etwas anderen Konstellation mit folgendem exemplarischen XML-Code im DDF:
Hier sollte meiner Meinung nach das enableRGB spätestens funktionieren, damit man sowohl über das virtuelle Farbrad die festen Farben abbilden und dann beim Klick in den Colorpicker jede andere Farbe für die gesamte Matrix auswählen kann.
Im Umkehrschluss würde das jetzt für mich bedeuten, dass das enableRGB grundlegend auch mit Matrizen / Radix zusammenarbeiten muss und on top dann der Support-Handler vom Beispiel eingangsseitig kommt, um den Modus richtig zu wechseln.
Ich überlege mir mal ob enableRGB oder Support Handler die bessere Wahl ist.
Vermutlich wird es ein "enableMatrix" werden. Der führt dazu, dass wenn die Matrix gesetzt wird, das Farbrad auf den entsprechenden Wert gesetzt wird.
Hört sich gut an. So gibt es eine gewisse Konsistenz zum virtuellen Farbrad bei einfachen LED-Geräten.
War dieser Punkt nun in der Beta 5 enthalten?
laut git ja…
So. Nachdem ich den richtigen Commit gefunden habe, habe ich mal mein Test-DDF vom 09.10.2019 angepasst. Leider verhält sich das ganze noch nicht wie erwartet. Denn wähle ich die Farbe über den Colorpicker, nutzt die HAL ausschließlich das Colorwheel (im beigefügten Test-DDF eine von vier Farben).
Mit dem step "enableMatrix" hatte ich gedacht, dass es hier auch wieder eine Umschaltung zwischen Festfarben auf dem Farbrad und den freien Farben gibt. Sprich: ich wähle über den Reiter Color eine der Farben vom Farbrad aus. Wechsele ich aber zum Colorpicker, wird das Farbrad "abgewählt" (also DMX-Wert für Kanal 2 auf 0 gesetzt) und ich kann mit dem Colorpicker jede beliebige Farbe für die gesamte Matrix setzen - eben analog zu einem "klassischen", "einfachen" LED-Scheinwerfer mit einem (virtuellen) Farbrad.
Stand jetzt lässt sich für das beigefügte DDF eine freie / beliebige Farbe nur über das Matrix-Panel anlegen, was aber nicht das Ziel sein soll.
Nein, das wird nicht gehen. Die "Farbe" der Matrix ist eine emulierte Farbe, die nur dann verwendet wird, wenn das Gerät selber keine Farbe mitbringt. Die HAL funktioniert immer so, dass primär die Gerätefunktionen verwendet werden, und sekundär diese emuliert werden, so gut wie möglich.
Da das Gerät eine Farbe mitbringt, wird diese verwendet.
Ich hab mit Stefan gestern über das Thema gesprochen. Das hat für die 3.2.1 keine Priorität. Ihr könnt das gerne in die nächste Version schieben und nochmal separat darüber sprechen, wie das genau funktionieren soll.
Naja, an meiner Aussage wird sich nix ändern. Ich nehme das Ticket aber mal fürs YRM mit.
Idee: Erweiterung des ColorHandlers, dass dieser die Farbe auf Matrix und Colorwheel verteilt, ähnlich RGB / Colorwheel verteilung.
Da es sich um die Idee um ein weiteres Feature handelt, welches im Ticket FS#4190 beschrieben ist, kann dieses Ticket soweit geschlossen werden. Der Zusatz "enableMatrix" arbeitet wie erwartet.