İçeriğe geç

Bileşen Fonksiyonları

Bu fonksiyonlar cihazı Bileşen Sistemi ile uyumlu hale getirmek için kullanılır.

Bu fonksiyon bir int değeri alır ve cihazdaki tüm bileşen kanalları için üst LED sınırını ayarlar. Arka uçtaki güvenlik kontrolleri için kullanılır ve kullanıcıların cihazlarını kaldırabileceğinden fazla güç çekimiyle aşırı yüklenmesini önler. Üretici firmanın cihaz için belirlediği maksimum değere ayarlanmalıdır.

ParametreAçıklamaTürÖrnek
LedLimitCihazdaki tüm kanallar için istenen LED sınırıInt80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

Bu fonksiyon, cihazdaki tüm kanallardaki tüm bileşenlerin mevcut toplam LED sayısını döndürür. Birincil kullanım amacı, herhangi bir bileşen seçilip seçilmediğini kontrol etmektir; çünkü 0 LED, 0 Bileşen anlamına gelir.

DöndürülenAçıklamaTürÖrnek
LedCountTüm kanalların mevcut LED sayısıInt64
let ColorData = []
if(LightingMode == "Forced"){
// işlem yap
}else if(device.getLedCount() == 0){
// işlem yap
}else{
// işlem yap
}

Bu fonksiyon cihaza yeni bir Bileşen Kanalı ekler. İlk kanal eklendiğinde cihaz sayfasında Bileşen Yapılandırma kullanıcı arayüzü görünür. Bu fonksiyon, kullanıcıyı cihazın güvenli LED sınırını aşma konusunda uyarmak için isteğe bağlı ancak önerilen bir LedLimit alır. Bu sınır birden fazla yerde kullanıldığından ayarlanması şiddetle tavsiye edilir.

ParametreAçıklamaTürÖrnek
ChannelNameBu kanala referans vermek için kullanılacak ChannelNameString”Channel 1”
LedLimitKanalın güvenli çalışma LED Sınırı.Int204
// Kanal Adı, LED Sınırı
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]);
}
}

Bu fonksiyon cihazdan bir kanalı kaldırır. Normal koşullar altında SignalRGB kapandığında kanallar temizleneceğinden bu fonksiyona ihtiyaç duyulmamalıdır. Ancak kanallar eklenti dosyasının sıcak yeniden yüklemeleri arasında kalıcı olduğundan, eklentiyi geliştirirken sorun yaşıyorsanız initialize fonksiyonunda bunları temizlemek isteyebilirsiniz.

ParametreAçıklamaTürÖrnek
ChannelNameKaldırılacak ChannelNameString”Channel 1”
device.createChannel("Channel1")
// İşlem yap
device.removeChannel("Channel1")

Bu fonksiyon, cihazda bulunan tüm kanalların adlarını döndürür. Buradaki birincil kullanım, hata ayıklama amaçlıdır; çünkü Kanal Adları, cihazın paketleri için kanal diziniyle birlikte eklentinin mantığında saklanmalıdır. Ancak istenirse küçük bir performans kaybıyla cihazdaki tüm kanallar üzerinde yineleme yapmak için de kullanılabilir.

DöndürülenAçıklamaTürÖrnek
Channel NamesCihazdaki tüm Kanal adlarının listesi1D Dizi[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

Bu, ComponentChannel’larla etkileşime geçmenin kapısıdır. Verilen ChannelName ile eşleşen bir ComponentChannel varsa ona referans döndürür; yoksa null döndürür.

ParametreAçıklamaTürÖrnek
ChannelNameReferans alınacak ChannelNameString”Channel 1”
DöndürülenAçıklamaTür
ComponentChannelComponentChannel NesnesiComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

Bu fonksiyonlar belirli bir ComponentChannel referansını kontrol etmek ve etkileşim kurmak için kullanılır.

Benzer device.ledLimit() fonksiyonu gibi, bu fonksiyon da bu ComponentChannel için maksimum güvenli LED sınırını ayarlar.

ParametreAçıklamaTürÖrnek
LedLimitKanal için istenen LED SınırıInt16
device.channel("Channel 1").SetLedLimit(204);

Bu, ComponentChannel’da kullanıcı tarafından yapılandırılan LED sayısını döndürür.

DöndürülenAçıklamaTürÖrnek
LedCountKanalın mevcut LED SayısıInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

Bu fonksiyon, cihazın LED haritası ve koordinatlarına göre bir RGB renk verisi dizisi döndürür. Bu fonksiyonun dönüş değeri büyük ölçüde doğru argümanların ayarlanmasına bağlıdır.

ParametrelerAçıklamaTürÖrnekVarsayılan
ArrayOrderİstenen dizi formatıString”Inline""Seperate”
ColorOrderİstenen Renk sırasıString”RGB""RGB”
Dizi SırasıAçıklamaTürÖrnek
InlineRenk verilerini sırayla düz bir diziye biçimlendirir1D Dizi[R,G,B,R,G,B]
SeperateRenk verilerini 3 ayrı kanala biçimlendirir2D Dizi[[R,R], [G,G], [B,B]]

ColorOrder, “RGB”nin 3 harfli bir kombinasyonudur; örn. “BGR”, “GBR”, “RBG”. Inline ArrayOrder kullanılırken renklerin sırasını belirler. Geçersiz değerler “RGB”ye geri döner.

DöndürülenAçıklamaTürÖrnek
RGB Dataİstenen formatta döndürülen RGB renk verisiDiziDizi Sırası Tablosuna Bakın
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

Bu fonksiyon, bu cihaz kanalının ‘nabız atıp atmaması’ gerektiği konusunda bir boolean döndürür. Bu, hiçbir Bileşen seçilmemiş olması veya ekleme Bileşen Kurulum kullanıcı arayüzünün gösterilmesi nedeniyle istenebilir.

Beklenen nabız rengini almak için device.getChannelPulseColor() kullanılabilir.

DöndürülenTürAçıklama
ShouldPulsebooleanBu kanal nabız atmalı mı