Skip to content

Funkcije komponenti

Ove funkcije služe za pravljenje uređaja kompatibilnim sa sistemom komponenti.

Ova funkcija prima Int vrednost i postavlja gornju granicu LED dioda za sve kanale komponenti uređaja. Koristi se za provere bezbednosti u backend-u i sprečava korisnike da opterete svoje uređaje sa više potrošnje struje nego što mogu da podnesu. Treba je postaviti na isti maksimalni vrednosti koji proizvođač navodi za uređaj.

ParametarOpisTipPrimer
LedLimitŽeljeno ograničenje LED dioda za sve kanale uređajaInt80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

Ova funkcija vraća trenutni kombinovani broj LED dioda svih komponenti na svim kanalima uređaja. Glavna upotreba je provera da li su komponente odabrane, jer 0 LED dioda je isto što i 0 komponenti.

PovratakOpisTipPrimer
LedCountTrenutni broj LED dioda svih kanalaInt64
let ColorData = []
if(LightingMode == "Forced"){
// do stuff
}else if(device.getLedCount() == 0){
// do stuff
}else{
// do stuff
}

Ova funkcija dodaje novi kanal komponenti uređaju. Kada se doda prvi kanal, UI za konfiguraciju komponenti pojavljuje se na stranici uređaja. Funkcija prima opciono, ali preporučeno LedLimit za upozoravanje korisnika kada prekorači sigurna ograničenja LED dioda uređaja. Ovo ograničenje se koristi na više mesta, pa se preporučuje njegovo postavljanje.

ParametarOpisTipPrimer
ChannelNameChannelName koji se koristi za referenciranje ovog kanalaString”Channel 1”
LedLimitSigurno operativno ograničenje LED dioda kanalaInt204
//Channel Name, Led Limit
var 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]);
}
}

Ova funkcija uklanja kanal sa uređaja. U normalnim okolnostima, ova funkcija ne bi trebala biti potrebna, jer se kanali čiste pri zatvaranju SignalRGBa. Međutim, pošto kanali ostaju između ponovnih učitavanja datoteke plugina, možda ćete ih želeti očistiti u funkciji inicijalizacije ako imate problema tokom razvoja plugina.

ParametarOpisTipPrimer
ChannelNameChannelName koji treba uklonitiString”Channel 1”
device.createChannel("Channel1")
// Do stuff
device.removeChannel("Channel1")

Ova funkcija vraća nazive svih kanala trenutno prisutnih na uređaju. Glavna upotreba je u svrhe debagovanja, jer nazivi kanala treba da budu pohranjeni unutar logike plugina sa indeksom kanala za pakete uređaja. Međutim, može se koristiti i za iteriranje kroz sve kanale uređaja uz mali gubitak performansi.

PovratakOpisTipPrimer
Channel NamesLista svih naziva kanala na uređaju1D Array[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

Ovo je vaša ulazna tačka za interakciju sa ComponentChannel-ima. Vraća referencu na sam ComponentChannel kada jedan odgovara navedenom ChannelName; u suprotnom vraća null.

ParametarOpisTipPrimer
ChannelNameChannelName za koji treba dohvatiti referencuString”Channel 1”
PovratakOpisTip
ComponentChannelComponentChannel objekatComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

Ove funkcije se koriste za kontrolu i interakciju sa određenom referencom ComponentChannel-a.

Kao i slična funkcija device.ledLimit(), ova funkcija postavlja maksimalno sigurno ograničenje LED dioda za ovaj ComponentChannel.

ParametarOpisTipPrimer
LedLimitŽeljeno ograničenje LED dioda za kanalInt16
device.channel("Channel 1").SetLedLimit(204);

Vraća broj LED dioda koje je korisnik konfigurisao na ovom ComponentChannel-u.

PovratakOpisTipPrimer
LedCountTrenutni broj LED dioda kanalaInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

Ova funkcija vraća niz RGB podataka o boji zasnovan na LED mapi i koordinatama uređaja. Povratna vrednost ove funkcije u velikoj meri zavisi od postavljanja ispravnih argumenata.

ParametarOpisTipPrimerPodrazumevano
ArrayOrderŽeljeni format nizaString”Inline""Seperate”
ColorOrderŽeljeni redosled bojaString”RGB""RGB”
Array OrderOpisTipPrimer
InlineFormatira podatke o bojama u ravni niz u ispravnom redosledu1D Array[R,G,B,R,G,B]
SeperateFormatira podatke o bojama u 3 odvojena kanala2D Array[[R,R], [G,G], [B,B]]

ColorOrder je 3-slovna kombinacija “RGB”, npr. “BGR”, “GBR”, “RBG”. Određuje redosled boja pri korišćenju Inline ArrayOrder. Neważeće vrednosti se resetuju na “RGB”.

PovratakOpisTipPrimer
RGB DataVraćeni RGB podaci o boji u željenom formatuArrayPogledajte tabelu Array Order
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

Ova funkcija vraća boolean vrednost koja označava da li ovaj kanal uređaja treba da “pulsira”. Ovo se može tražiti kada nisu odabrane komponente ili kada se prikazuje UI za onboarding postavljanja komponenti.

device.getChannelPulseColor() se može koristiti za dohvatanje očekivane boje pulsa.

PovratakTipOpis
ShouldPulsebooleanDa li ovaj kanal treba da pulsira