Funkcje komponentu
Funkcje urządzenia
Dział zatytułowany „Funkcje urządzenia”Te funkcje służą do zapewnienia kompatybilności urządzenia z systemem komponentów.
device.SetLedLimit()
Dział zatytułowany „device.SetLedLimit()”Ta funkcja przyjmuje wartość int i ustawia górny limit LED dla wszystkich kanałów komponentów na urządzeniu. Służy do kontroli bezpieczeństwa w backendzie i zapobiega przeciążeniu urządzeń przez użytkowników poborem prądu przekraczającym ich możliwości. Powinna być ustawiona na tę samą maksymalną wartość, do której producent ogranicza urządzenie.
| Parametr | Opis | Typ | Przykład |
|---|---|---|---|
| LedLimit | Żądany limit LED dla wszystkich kanałów na urządzeniu | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Dział zatytułowany „device.getLedCount()”Ta funkcja zwraca aktualną łączną liczbę LED wszystkich komponentów na wszystkich kanałach urządzenia. Głównym zastosowaniem jest sprawdzenie, czy wybrane są jakiekolwiek komponenty, ponieważ 0 LED oznacza 0 komponentów.
| Zwrot | Opis | Typ | Przykład |
|---|---|---|---|
| LedCount | Aktualna liczba LED wszystkich kanałów | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Dział zatytułowany „device.addChannel()”Ta funkcja dodaje nowy kanał komponentu do urządzenia. Gdy dodawany jest pierwszy kanał, na stronie urządzenia pojawia się interfejs konfiguracji komponentów. Funkcja przyjmuje opcjonalny, ale zalecany parametr LedLimit, który ostrzega użytkownika o przekroczeniu bezpiecznych limitów LED urządzenia. Limit ten jest używany w wielu miejscach, dlatego zdecydowanie zaleca się jego ustawienie.
| Parametr | Opis | Typ | Przykład |
|---|---|---|---|
| ChannelName | Nazwa kanału używana do odwoływania się do tego kanału | String | ”Channel 1” |
| LedLimit | Bezpieczny operacyjny limit LED kanału | 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()
Dział zatytułowany „device.removeChannel()”Ta funkcja usuwa kanał z urządzenia. W normalnych warunkach funkcja ta nie jest potrzebna, ponieważ kanały są czyszczone przy zamknięciu SignalRGB. Jednak ponieważ kanały utrzymują się między hot reloadami pliku wtyczki, możesz chcieć je wyczyścić w funkcji inicjalizacyjnej, jeśli napotkasz problemy podczas tworzenia wtyczki.
| Parametr | Opis | Typ | Przykład |
|---|---|---|---|
| ChannelName | Nazwa kanału do usunięcia | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Dział zatytułowany „device.getChannelNames()”Ta funkcja zwraca nazwy wszystkich kanałów aktualnie obecnych na urządzeniu. Głównym zastosowaniem jest debugowanie, ponieważ nazwy kanałów powinny być przechowywane w logice wtyczki wraz z indeksem kanału dla pakietów urządzenia. Może jednak być również używana do iterowania po wszystkich kanałach urządzenia według uznania, z niewielkim kosztem wydajności.
| Zwrot | Opis | Typ | Przykład |
|---|---|---|---|
| Channel Names | Lista wszystkich nazw kanałów na urządzeniu | Tablica 1D | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Dział zatytułowany „device.channel()”To jest punkt dostępu do interakcji z kanałami komponentów. Zwraca referencję do samego kanału komponentu, jeśli istnieje dopasowanie do podanej nazwy kanału; jeśli nie istnieje, zwraca null.
| Parametr | Opis | Typ | Przykład |
|---|---|---|---|
| ChannelName | Nazwa kanału, do której należy pobrać referencję | String | ”Channel 1” |
| Zwrot | Opis | Typ |
|---|---|---|
| ComponentChannel | Obiekt ComponentChannel | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Dział zatytułowany „ComponentChannel”Te funkcje służą do sterowania konkretną referencją kanału komponentu i komunikacji z nią.
channel.SetLedLimit()
Dział zatytułowany „channel.SetLedLimit()”Podobnie jak analogiczna funkcja device.ledLimit(), ustawia maksymalny bezpieczny limit LED dla tego kanału komponentu.
| Parametr | Opis | Typ | Przykład |
|---|---|---|---|
| LedLimit | Żądany limit LED dla kanału | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Dział zatytułowany „channel.LedCount()”Zwraca liczbę LED skonfigurowanych przez użytkownika na tym kanale komponentu.
| Zwrot | Opis | Typ | Przykład |
|---|---|---|---|
| LedCount | Aktualna liczba LED kanału | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Dział zatytułowany „channel.getColors()”Ta funkcja zwraca tablicę danych kolorów RGB na podstawie mapy LED i współrzędnych urządzenia. Wartość zwracana przez tę funkcję w dużej mierze zależy od ustawienia właściwych argumentów.
| Parametry | Opis | Typ | Przykład | Domyślnie |
|---|---|---|---|---|
| ArrayOrder | Żądany format tablicy | String | ”Inline" | "Seperate” |
| ColorOrder | Żądana kolejność kolorów | String | ”RGB" | "RGB” |
| Kolejność tablicy | Opis | Typ | Przykład |
|---|---|---|---|
| Inline | Formatuje dane kolorów w płaską tablicę w kolejności | Tablica 1D | [R,G,B,R,G,B] |
| Seperate | Formatuje dane kolorów w 3 oddzielne kanały | Tablica 2D | [[R,R], [G,G], [B,B]] |
ColorOrder to kombinacja 3 liter z “RGB”, np. “BGR”, “GBR”, “RBG”. Określa kolejność kolorów przy użyciu Inline ArrayOrder. Nieprawidłowe wartości domyślnie przyjmują “RGB”.
| Zwrot | Opis | Typ | Przykład |
|---|---|---|---|
| RGB Data | Zwrócone dane kolorów RGB w żądanym formacie | Tablica | Patrz tabela kolejności tablicy |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Dział zatytułowany „channel.shouldPulseColors()”Ta funkcja zwraca wartość logiczną wskazującą, czy ten kanał urządzenia powinien “pulsować”. Może być to wymagane, gdy nie wybrano żadnych komponentów lub gdy wyświetlany jest interfejs konfiguracji komponentów przy wdrożeniu.
device.getChannelPulseColor() może być używana do pobrania oczekiwanego koloru pulsu.
| Zwrot | Typ | Opis |
|---|---|---|
| ShouldPulse | boolean | Czy ten kanał powinien pulsować |