Componentfuncties
Apparaatfuncties
Section titled “Apparaatfuncties”Deze functies zijn bedoeld om het apparaat compatibel te maken met het componentsysteem.
device.SetLedLimit()
Section titled “device.SetLedLimit()”Deze functie neemt een int-waarde en stelt de bovenste LED-limiet in voor alle componentkanalen op het apparaat. Het wordt gebruikt voor veiligheidscontroles in de backend en om te voorkomen dat gebruikers hun apparaten overbelasten met meer stroomverbruik dan het aankan. Het moet worden ingesteld op dezelfde maximale waarde waartoe het productiebedrijf het apparaat beperkt.
| Parameter | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| LedLimit | De gewenste LED-limiet voor alle kanalen op het apparaat | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Section titled “device.getLedCount()”Deze functie retourneert het huidige gecombineerde LED-aantal van alle componenten op alle kanalen van het apparaat. Het primaire gebruik is om te controleren of er componenten zijn geselecteerd, aangezien 0 LED’s hetzelfde is als 0 componenten.
| Retour | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| LedCount | Het huidige LED-aantal van alle kanalen | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Section titled “device.addChannel()”Deze functie voegt een nieuw componentkanaal toe aan het apparaat. Wanneer het eerste kanaal wordt toegevoegd, verschijnt de componentconfiguratie-UI op de apparaatpagina. Deze functie neemt een optionele maar aanbevolen LedLimit om de gebruiker te waarschuwen voor het overschrijden van de veilige LED-limieten van het apparaat. Deze limiet wordt op meerdere plaatsen gebruikt, dus het is sterk aanbevolen deze in te stellen.
| Parameter | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| ChannelName | De kanaalnaam die wordt gebruikt om naar dit kanaal te verwijzen | String | ”Channel 1” |
| LedLimit | De veilige bedrijfs-LED-limiet van het kanaal | 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()
Section titled “device.removeChannel()”Deze functie verwijdert een kanaal van het apparaat. Onder normale omstandigheden is deze functie niet nodig, aangezien kanalen worden opgeruimd wanneer SignalRGB wordt afgesloten. Maar omdat de kanalen blijven bestaan tussen hot reloads van het plugin-bestand, wilt u ze mogelijk wissen in de initialisatiefunctie als u problemen ondervindt bij het ontwikkelen van de plugin.
| Parameter | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| ChannelName | De te verwijderen kanaalnaam | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Section titled “device.getChannelNames()”Deze functie retourneert de namen van alle kanalen die momenteel op het apparaat aanwezig zijn. Het primaire gebruik is voor debugdoeleinden, aangezien kanaalnamen moeten worden opgeslagen in de logica van de plugin met de index van het kanaal voor de pakketten van het apparaat. Het kan echter ook worden gebruikt om over alle kanalen op het apparaat te itereren als gewenst, met een kleine prestatieverlies.
| Retour | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| Channel Names | Een lijst van alle kanaalnamen op het apparaat | 1D-array | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Section titled “device.channel()”Dit is uw toegangspoort tot de interactie met componentkanalen. Het retourneert een verwijzing naar het componentkanaal zelf als er een overeenkomt met de opgegeven kanaalnaam; als er geen bestaat, wordt null geretourneerd.
| Parameter | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| ChannelName | De kanaalnaam waarnaar een verwijzing moet worden opgehaald | String | ”Channel 1” |
| Retour | Beschrijving | Type |
|---|---|---|
| ComponentChannel | ComponentChannel-object | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Section titled “ComponentChannel”Deze functies worden gebruikt om een specifieke componentkanaalverwijzing te besturen en ermee te communiceren.
channel.SetLedLimit()
Section titled “channel.SetLedLimit()”Net als de vergelijkbare functie device.ledLimit() stelt deze de maximale veilige LED-limiet in voor dit componentkanaal.
| Parameter | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| LedLimit | De gewenste LED-limiet voor het kanaal | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Section titled “channel.LedCount()”Dit retourneert het aantal LED’s dat door de gebruiker is geconfigureerd op dit componentkanaal.
| Retour | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| LedCount | Het huidige LED-aantal van het kanaal | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Section titled “channel.getColors()”Deze functie retourneert een array van RGB-kleurgegevens op basis van de LED-kaart en coördinaten van het apparaat. De retourwaarde van deze functie hangt sterk af van het instellen van de juiste argumenten.
| Parameters | Beschrijving | Type | Voorbeeld | Standaard |
|---|---|---|---|---|
| ArrayOrder | Het gewenste arrayformaat | String | ”Inline" | "Seperate” |
| ColorOrder | De gewenste kleurvolgorde | String | ”RGB" | "RGB” |
| Arrayvolgorde | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| Inline | Formatteert de kleurgegevens in een vlakke array in volgorde | 1D-array | [R,G,B,R,G,B] |
| Seperate | Formatteert de kleurgegevens in 3 afzonderlijke kanalen | 2D-array | [[R,R], [G,G], [B,B]] |
ColorOrder is een combinatie van 3 letters van “RGB”, bijv. “BGR”, “GBR”,“RBG”. En bepaalt de volgorde van kleuren bij gebruik van de Inline ArrayOrder. Ongeldige waarden gebruiken standaard “RGB”.
| Retour | Beschrijving | Type | Voorbeeld |
|---|---|---|---|
| RGB-gegevens | De geretourneerde RGB-kleurgegevens in het gewenste formaat | Array | Zie arrayvolgorde-tabel |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Section titled “channel.shouldPulseColors()”Deze functie retourneert een booleaanse waarde die aangeeft of dit apparaatkanaal moet ‘pulseren’. Dit kan worden aangevraagd als er geen componenten zijn geselecteerd, of als de onboarding-componentinstelling-UI wordt weergegeven.
device.getChannelPulseColor() kan worden gebruikt om de verwachte pulskleur op te halen.
| Retour | Type | Beschrijving |
|---|---|---|
| ShouldPulse | boolean | Moet dit kanaal pulseren |