Skip to content

Fungsi Komponen

Fungsi-fungsi ini digunakan untuk menjadikan peranti serasi dengan sistem komponen.

Fungsi ini mengambil nilai Int dan menetapkan had LED atas untuk semua saluran komponen peranti. Ia digunakan untuk semakan keselamatan dalam bahagian belakang dan menghalang pengguna daripada membebankan peranti mereka dengan lebih banyak penggunaan kuasa daripada yang boleh ditanganinya. Ia harus ditetapkan kepada nilai maksimum yang sama yang ditetapkan oleh pengilang untuk peranti tersebut.

ParameterKeteranganJenisContoh
LedLimitHad LED yang dikehendaki untuk semua saluran perantiInt80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

Fungsi ini mengembalikan bilangan LED gabungan semasa semua komponen pada semua saluran peranti. Kegunaan utamanya ialah untuk menyemak sama ada komponen dipilih, memandangkan 0 LED sama dengan 0 komponen.

PulanganKeteranganJenisContoh
LedCountBilangan LED semasa semua saluranInt64
let ColorData = []
if(LightingMode == "Forced"){
// do stuff
}else if(device.getLedCount() == 0){
// do stuff
}else{
// do stuff
}

Fungsi ini menambah saluran komponen baharu pada peranti. Apabila saluran pertama ditambah, antara muka pengguna konfigurasi komponen akan muncul pada halaman peranti. Fungsi ini mengambil had LED yang pilihan tetapi disyorkan untuk memberi amaran kepada pengguna apabila mereka melebihi had LED selamat peranti. Had ini digunakan di beberapa tempat, jadi amat disyorkan untuk menetapkannya.

ParameterKeteranganJenisContoh
ChannelNameChannelName yang digunakan untuk merujuk saluran iniString”Channel 1”
LedLimitHad LED operasi selamat saluranInt204
//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]);
}
}

Fungsi ini membuang saluran dari peranti. Dalam keadaan biasa, fungsi ini tidak sepatutnya diperlukan kerana saluran dibersihkan apabila SignalRGB ditutup. Walau bagaimanapun, kerana saluran berterusan antara muat semula panas fail plugin, Anda mungkin ingin membersihkannya dalam fungsi inisialisasi jika Anda menghadapi masalah semasa membangunkan plugin.

ParameterKeteranganJenisContoh
ChannelNameChannelName yang hendak dibuangString”Channel 1”
device.createChannel("Channel1")
// Do stuff
device.removeChannel("Channel1")

Fungsi ini mengembalikan nama semua saluran yang kini wujud pada peranti. Kegunaan utamanya adalah untuk debug, kerana nama saluran dalam logik plugin harus disimpan dengan indeks saluran untuk paket peranti. Namun, ia juga boleh digunakan untuk melakukan iterasi ke atas semua saluran peranti dengan sedikit penurunan prestasi.

PulanganKeteranganJenisContoh
Channel NamesSenarai semua nama saluran pada peranti1D Array[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

Ini ialah titik masuk Anda untuk berinteraksi dengan ComponentChannels. Ia mengembalikan rujukan ke ComponentChannel itu sendiri jika ada yang sepadan dengan ChannelName yang diberikan; jika tidak, null dikembalikan.

ParameterKeteranganJenisContoh
ChannelNameChannelName yang rujukannya hendak diambilString”Channel 1”
PulanganKeteranganJenis
ComponentChannelObjek ComponentChannelComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

Fungsi-fungsi ini digunakan untuk mengawal dan berinteraksi dengan rujukan ComponentChannel tertentu.

Seperti fungsi serupa device.ledLimit(), fungsi ini menetapkan had LED selamat maksimum untuk ComponentChannel ini.

ParameterKeteranganJenisContoh
LedLimitHad LED yang dikehendaki untuk saluranInt16
device.channel("Channel 1").SetLedLimit(204);

Mengembalikan bilangan LED yang telah dikonfigurasi pengguna pada ComponentChannel ini.

PulanganKeteranganJenisContoh
LedCountBilangan LED semasa saluranInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

Fungsi ini mengembalikan array data warna RGB berdasarkan peta LED dan koordinat peranti. Nilai pulangan fungsi ini sangat bergantung pada penetapan argumen yang betul.

ParameterKeteranganJenisContohLalai
ArrayOrderFormat array yang dikehendakiString”Inline""Seperate”
ColorOrderSusunan warna yang dikehendakiString”RGB""RGB”
Array OrderKeteranganJenisContoh
InlineFormat data warna ke dalam array rata dalam susunan yang betul1D Array[R,G,B,R,G,B]
SeperateFormat data warna ke dalam 3 saluran berasingan2D Array[[R,R], [G,G], [B,B]]

ColorOrder ialah gabungan 3 huruf dari “RGB”, contohnya “BGR”, “GBR”, “RBG”. Ia menentukan susunan warna apabila menggunakan Inline ArrayOrder. Nilai yang tidak sah akan ditetapkan semula kepada “RGB”.

PulanganKeteranganJenisContoh
RGB DataData warna RGB yang dikembalikan dalam format yang dikehendakiArrayLihat jadual Array Order
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

Fungsi ini mengembalikan nilai boolean yang menunjukkan sama ada saluran peranti ini harus “berdenyut”. Ini boleh diminta apabila tiada komponen dipilih atau apabila antara muka pengguna onboarding persediaan komponen sedang dipaparkan.

device.getChannelPulseColor() boleh digunakan untuk mendapatkan warna denyutan yang dijangkakan.

PulanganJenisKeterangan
ShouldPulsebooleanSama ada saluran ini harus berdenyut