Komponentfunktioner
Enhedsfunktioner
Sektion kaldt “Enhedsfunktioner”Disse funktioner bruges til at gøre enheden kompatibel med Component-systemet.
device.SetLedLimit()
Sektion kaldt “device.SetLedLimit()”Denne funktion tager en Int-værdi og sætter den øverste LED-grænse for alle komponentkanaler på enheden. Den bruges til sikkerhedskontrol i backend og forhindrer brugere i at belaste deres enheder med mere strøm end de kan klare. Den bør sættes til den samme maksimumværdi som producenten angiver for enheden.
| Parameter | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| LedLimit | Den ønskede LED-grænse for alle enhedens kanaler | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Sektion kaldt “device.getLedCount()”Denne funktion returnerer det aktuelle kombinerede LED-antal for alle komponenter på alle enhedens kanaler. Primær brug er at kontrollere om der er valgt komponenter, da 0 LED’er svarer til 0 komponenter.
| Returnering | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| LedCount | Det aktuelle LED-antal for alle kanaler | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Sektion kaldt “device.addChannel()”Denne funktion tilføjer en ny komponentkanal til enheden. Når den første kanal tilføjes, vises brugergrænsefladen til komponentkonfiguration på enhedssiden. Funktionen tager en valgfri men anbefalet LedLimit for at advare brugeren, hvis han overskrider enhedens sikre LED-grænser. Denne grænse bruges flere steder, så det anbefales kraftigt at sætte den.
| Parameter | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| ChannelName | Det ChannelName der bruges til at referere denne kanal | String | ”Channel 1” |
| LedLimit | Kanalens sikre drifts-LED-grænse | 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()
Sektion kaldt “device.removeChannel()”Denne funktion fjerner en kanal fra enheden. Under normale omstændigheder bør denne funktion ikke være nødvendig, da kanaler ryddes op ved lukning af SignalRGB. Da kanalerne dog bevares mellem hot-reloads af plugin-filen, ønsker du måske at rydde op i dem i initialiseringsfunktionen, hvis du har problemer under udvikling af pluginet.
| Parameter | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| ChannelName | Det ChannelName der skal fjernes | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Sektion kaldt “device.getChannelNames()”Denne funktion returnerer navnene på alle kanaler der aktuelt er til stede på enheden. Primær brug er til debugging, da kanalnavne inden for plugin-logikken bør gemmes med kanalens indeks til enhedens pakker. Den kan dog også bruges til at iterere over alle enhedens kanaler med et lille præstationstab.
| Returnering | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| Channel Names | En liste over alle kanalnavne på enheden | 1D Array | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Sektion kaldt “device.channel()”Dette er dit indgangspunkt for interaktion med ComponentChannels. Det returnerer en reference til selve ComponentChannel, hvis en matcher det angivne ChannelName; ellers returneres null.
| Parameter | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| ChannelName | Det ChannelName der skal hentes en reference til | String | ”Channel 1” |
| Returnering | Beskrivelse | Type |
|---|---|---|
| ComponentChannel | ComponentChannel-objekt | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Sektion kaldt “ComponentChannel”Disse funktioner bruges til at styre og interagere med en bestemt ComponentChannel-reference.
channel.SetLedLimit()
Sektion kaldt “channel.SetLedLimit()”Ligesom den lignende funktion device.ledLimit() sætter denne funktion den maksimale sikre LED-grænse for denne ComponentChannel.
| Parameter | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| LedLimit | Den ønskede LED-grænse for kanalen | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Sektion kaldt “channel.LedCount()”Returnerer antallet af LED’er som brugeren har konfigureret på denne ComponentChannel.
| Returnering | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| LedCount | Det aktuelle LED-antal for kanalen | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Sektion kaldt “channel.getColors()”Denne funktion returnerer et array med RGB-farvedata baseret på enhedens LED-map og koordinater. Returværdien af denne funktion afhænger stærkt af at de rigtige argumenter angives.
| Parameter | Beskrivelse | Type | Eksempel | Standard |
|---|---|---|---|---|
| ArrayOrder | Det ønskede array-format | String | ”Inline" | "Seperate” |
| ColorOrder | Den ønskede farverækkefølge | String | ”RGB" | "RGB” |
| Array Order | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| Inline | Formaterer farvedataene til et fladt array i den rigtige rækkefølge | 1D Array | [R,G,B,R,G,B] |
| Seperate | Formaterer farvedataene til 3 separate kanaler | 2D Array | [[R,R], [G,G], [B,B]] |
ColorOrder er en 3-bogstavs kombination af “RGB”, f.eks. “BGR”, “GBR”, “RBG”. Det bestemmer farverækkefølgen ved brug af Inline ArrayOrder. Ugyldige værdier nulstilles til “RGB”.
| Returnering | Beskrivelse | Type | Eksempel |
|---|---|---|---|
| RGB Data | De returnerede RGB-farvedata i det ønskede format | Array | Se Array-Order-tabel |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Sektion kaldt “channel.shouldPulseColors()”Denne funktion returnerer en boolean der angiver om denne enhedskanal skal “pulsere”. Dette kan anmodes om, når der ikke er valgt nogen komponenter, eller når onboarding-brugergrænsefladen til komponentopsætning vises.
device.getChannelPulseColor() kan bruges til at hente den forventede pulsfarve.
| Returnering | Type | Beskrivelse |
|---|---|---|
| ShouldPulse | boolean | Om denne kanal skal pulsere |