Komponentenfunktionen
Gerätefunktionen
Abschnitt betitelt „Gerätefunktionen“Diese Funktionen dienen dazu, das Gerät mit dem Komponentensystem kompatibel zu machen.
device.SetLedLimit()
Abschnitt betitelt „device.SetLedLimit()“Diese Funktion nimmt einen Int-Wert entgegen und setzt das obere LED-Limit für alle Komponentenkanäle des Geräts. Sie wird für Sicherheitsprüfungen im Backend verwendet und verhindert, dass Benutzer ihre Geräte mit mehr Stromaufnahme belasten, als diese verkraften können. Sie sollte auf denselben Maximalwert gesetzt werden, den der Hersteller für das Gerät festlegt.
| Parameter | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| LedLimit | Das gewünschte LED-Limit für alle Kanäle des Geräts | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Abschnitt betitelt „device.getLedCount()“Diese Funktion gibt die aktuelle kombinierte LED-Anzahl aller Komponenten auf allen Kanälen des Geräts zurück. Die Hauptverwendung besteht darin zu prüfen, ob Komponenten ausgewählt sind, da 0 LEDs dasselbe ist wie 0 Komponenten.
| Rückgabe | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| LedCount | Die aktuelle LED-Anzahl aller Kanäle | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Abschnitt betitelt „device.addChannel()“Diese Funktion fügt dem Gerät einen neuen Komponentenkanal hinzu. Wenn der erste Kanal hinzugefügt wird, erscheint die Benutzeroberfläche zur Komponentenkonfiguration auf der Geräteseite. Die Funktion nimmt ein optionales, aber empfohlenes LedLimit entgegen, um den Benutzer zu warnen, wenn er die sicheren LED-Limits des Geräts überschreitet. Dieses Limit wird an mehreren Stellen verwendet, daher wird dringend empfohlen, es zu setzen.
| Parameter | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| ChannelName | Der ChannelName, der zur Referenzierung dieses Kanals verwendet wird | String | ”Channel 1” |
| LedLimit | Das sichere Betrieb-LED-Limit des Kanals | Int | 204 |
//Channel Name, Led Limitvar ChannelArray = [ ["Channel 1", 204], ["Channel 2", 204],]
function SetupChannels(){ device.SetLedLimit(DeviceMaxLedLimit); for(let i = 0; i < ChannelArray.length; i++){ device.addChannel(ChannelArray[i][0],ChannelArray[i][1]); }}device.removeChannel()
Abschnitt betitelt „device.removeChannel()“Diese Funktion entfernt einen Kanal vom Gerät. Unter normalen Umständen sollte diese Funktion nicht benötigt werden, da Kanäle beim Beenden von SignalRGB bereinigt werden. Da die Kanäle jedoch zwischen Hot-Reloads der Plugin-Datei bestehen bleiben, möchten Sie sie möglicherweise in der Initialisierungsfunktion bereinigen, falls Sie beim Entwickeln des Plugins Probleme haben.
| Parameter | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| ChannelName | Der zu entfernende ChannelName | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Abschnitt betitelt „device.getChannelNames()“Diese Funktion gibt die Namen aller derzeit auf dem Gerät vorhandenen Kanäle zurück. Die Hauptverwendung liegt im Debug-Bereich, da Kanalnamen innerhalb der Plugin-Logik mit dem Index des Kanals für die Pakete des Geräts gespeichert werden sollten. Sie kann jedoch auch verwendet werden, um bei einem geringen Leistungsverlust über alle Kanäle des Geräts zu iterieren.
| Rückgabe | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| Channel Names | Eine Liste aller Kanalnamen auf dem Gerät | 1D Array | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Abschnitt betitelt „device.channel()“Dies ist Ihr Einstiegspunkt für die Interaktion mit ComponentChannels. Es gibt eine Referenz auf den ComponentChannel selbst zurück, wenn einer mit dem angegebenen ChannelName übereinstimmt; andernfalls wird null zurückgegeben.
| Parameter | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| ChannelName | Der ChannelName, zu dem eine Referenz abgerufen werden soll | String | ”Channel 1” |
| Rückgabe | Beschreibung | Typ |
|---|---|---|
| ComponentChannel | ComponentChannel-Objekt | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Abschnitt betitelt „ComponentChannel“Diese Funktionen werden verwendet, um eine bestimmte ComponentChannel-Referenz zu steuern und mit ihr zu interagieren.
channel.SetLedLimit()
Abschnitt betitelt „channel.SetLedLimit()“Wie die ähnliche Funktion device.ledLimit() setzt diese Funktion das maximale sichere LED-Limit für diesen ComponentChannel.
| Parameter | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| LedLimit | Das gewünschte LED-Limit für den Kanal | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Abschnitt betitelt „channel.LedCount()“Gibt die Anzahl der LEDs zurück, die der Benutzer auf diesem ComponentChannel konfiguriert hat.
| Rückgabe | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| LedCount | Die aktuelle LED-Anzahl des Kanals | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Abschnitt betitelt „channel.getColors()“Diese Funktion gibt ein Array von RGB-Farbdaten basierend auf der LED-Map und den Koordinaten des Geräts zurück. Der Rückgabewert dieser Funktion hängt stark von der Einstellung der richtigen Argumente ab.
| Parameter | Beschreibung | Typ | Beispiel | Standard |
|---|---|---|---|---|
| ArrayOrder | Das gewünschte Array-Format | String | ”Inline" | "Seperate” |
| ColorOrder | Die gewünschte Farbreihenfolge | String | ”RGB" | "RGB” |
| Array Order | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| Inline | Formatiert die Farbdaten in ein flaches Array in der richtigen Reihenfolge | 1D Array | [R,G,B,R,G,B] |
| Seperate | Formatiert die Farbdaten in 3 getrennte Kanäle | 2D Array | [[R,R], [G,G], [B,B]] |
ColorOrder ist eine 3-Buchstaben-Kombination aus “RGB”, z. B. “BGR”, “GBR”, “RBG”. Es bestimmt die Reihenfolge der Farben bei Verwendung der Inline ArrayOrder. Ungültige Werte werden auf “RGB” zurückgesetzt.
| Rückgabe | Beschreibung | Typ | Beispiel |
|---|---|---|---|
| RGB Data | Die zurückgegebenen RGB-Farbdaten im gewünschten Format | Array | Siehe Array-Order-Tabelle |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Abschnitt betitelt „channel.shouldPulseColors()“Diese Funktion gibt einen booleschen Wert zurück, der angibt, ob dieser Gerätekanal „pulsieren” soll. Dies kann angefordert werden, wenn keine Komponenten ausgewählt sind oder wenn die Onboarding-Benutzeroberfläche zur Komponenteneinrichtung angezeigt wird.
device.getChannelPulseColor() kann verwendet werden, um die erwartete Pulsfarbe abzurufen.
| Rückgabe | Typ | Beschreibung |
|---|---|---|
| ShouldPulse | boolean | Ob dieser Kanal pulsieren soll |