Lewati ke konten

Utilities

Fungsi ini adalah cara Anda mengambil data warna dari canvas. Fungsi ini menerima posisi X,Y relatif terhadap dan di dalam buffer piksel perangkat di canvas dan mengembalikan array [R,G,B] dari warna di piksel tersebut.

ParameterTipeDeskripsiContoh
XIntNilai Int yang mewakili koordinat X dalam Buffer Piksel Perangkat5
YIntNilai Int yang mewakili koordinat Y dalam Buffer Piksel Perangkat3
  • Catatan: koordinat X,Y yang dikirim harus berada dalam Buffer Piksel yang ditetapkan oleh Ekspor Size()
ReturnTipeDeskripsiContoh
ColorArray1D ArrayArray dengan panjang 3 yang berisi nilai [R, G, B] terkoordinasi mulai dari 0-255 (HEX 00-FF)[128,158,255]

Di bawah ini adalah contoh yang disederhanakan dari fungsi yang digunakan dalam situasi biasa.

for(var iIdx = 0; iIdx < vLedPositions.length; iIdx++) //For each Led on the device
{
var iPxX = vLedPositions[iIdx][0]; //Get the X and Y values from the [X,Y] array
var iPxY = vLedPositions[iIdx][1];
var col; // create a variable to contain the [R.G.B] array data
if(shutdown){ // Check for some settings that can override the Device.color() call
col = hexToRgb(shutdownColor)
}else if (LightingMode == "Forced") {
col = hexToRgb(forcedColor)
}else{
col = device.color(iPxX, iPxY); //Calling Device.color with the X and Y values
}
//Saving the Color data in order into a larger Array of all the LED's data
RGBdata[iIdx*3] = col[0]; // Red Channel
RGBdata[iIdx*3+1] = col[1]; //Green Channel
RGBdata[iIdx*3+2] = col[2]; //Blue Channel
TotalLedCount += 1;
}

Mengembalikan level kecerahan perangkat saat ini dalam SignalRGB. Nilai ini sudah diterapkan ke warna apa pun yang dikembalikan oleh device.color() atau sejenisnya.

ReturnTipeDeskripsiContoh
BrightnessintKecerahan saat ini dalam rentang 0-10042

Mengembalikan nama WMI dari motherboard sistem saat ini.

ReturnTipeDeskripsiContoh
MotherboardNamestringNama motherboard sistemB550 Aorus Elite

Fungsi ini mencoba untuk menjeda thread perangkat selama durasi yang diberikan. Jeda ini tidak dijamin tepat karena cara sistem operasi menangani thread sleep.

ParameterTipeDeskripsiContoh
DurationIntDurasi jeda yang diminta dalam milidetik1
  • Catatan: Windows memiliki waktu tidur minimum 1-2ms dan akan mulai tidak stabil ketika tidur semakin lama, jadi jangan gunakan ini untuk pengaturan waktu yang tepat.
packet[89] = CalculateCrc(packet);
device.send_report(packet, 91);
device.pause(1); // We need a pause here (between packets), otherwise the ornata can't keep up.

Fungsi ini mengubah endpoint aktif untuk semua perintah baca dan tulis. Ini berguna untuk perangkat yang memiliki beberapa endpoint terbuka untuk perintah yang berbeda. Contoh umum dari ini adalah perangkat Logitech yang memiliki endpoint data RGB dan endpoint perintah sistem untuk hal-hal seperti pengaturan DPI.

ParameterTipeDeskripsiContoh
interfaceHEXNilai Hex 0x yang mewakili antarmuka endpoint yang akan dibuka0x0002
usageHEXNilai Hex 0x yang mewakili usage endpoint yang akan dibuka0x0006
usage_pageHEXNilai Hex 0x yang mewakili usage_page endpoint yang akan dibuka0x0080
collectionHEXNilai Hex 0x yang mewakili collection endpoint yang akan dibuka0x0001
function Apply()
{
var packet = [];
packet[0] = 0x11;
packet[1] = 0xFF;
packet[2] = 0x0C;
packet[3] = 0x5E;
device.set_endpoint(1, 0x0602, 0xff43); // System Interface
device.write(packet, 20);
}

Fungsi ini adalah versi plugin dari console.log. Fungsi ini menerima String, Number, Object, atau Array dan mencatatnya di konsol perangkat untuk debugging dan informasi pengguna. Ini bisa sangat berguna untuk mencantumkan hal-hal seperti perubahan DPI, error, atau selama pengembangan untuk menampilkan tata letak paket atau input dari perintah baca.

  • Catatan: Fungsi ini akan mencoba mengonversi variabel JavaScript menjadi string jika memungkinkan. Pencatatan Template Literal JavaScript menggunakan parseInt(), toString(), atau JSON.stringify dapat memberi Anda lebih banyak kontrol atas konversi dan pemformatan.
ParameterTipeDeskripsiContohDefault
ItemNilai JavascriptString, number, array, atau nilai JavaScript lainnya yang akan dicatat
OptionsObjek JavaScriptObjek Javascript yang berisi parameter pengaturan{hex: True}{}
OpsiDeskripsiTipeDefault
HexMengatur apakah integer harus dicetak dalam format desimal atau hexBooleanFalse
toFileMengatur apakah item yang dicetak harus muncul di log debug, atau hanya di konsol perangkatBooleanFalse
let ImportantData = "i have really important info here";
device.log(ImportantData, {toFile: true})

Alert dapat digunakan untuk meminta pengguna secara visual jika ada masalah dengan perangkat mereka. Alert harus digunakan dengan hemat dan disimpan untuk masalah yang benar-benar menghentikan segalanya seperti perangkat yang tidak dikonfigurasi dengan benar.

Membuat alert baru untuk pengguna. Nilai return dapat digunakan untuk menghapus alert secara selektif dan harus dilakukan jika pengguna memperbaiki masalah yang diperingatkan.

Prioritas AlertDeskripsiNilai
InfoAlert Normal0
ImportantAlert Kritis (Disorot)1
ParameterTipeDeskripsiContoh
TitleStringJudul AlertFirmware Incompatible
DescriptionStringDeskripsi AlertFirmware Version must be >= 2.0.0
PriorityIntPrioritas Alert0 | 1
ReturnTipeDeskripsi
AlertIdStringString Id dari alert yang dibuat
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);

Menghapus alert yang diberikan jika ada.

ParameterTipeDeskripsi
AlertIdStringAlertId yang dikembalikan oleh device.notify
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);
// Do stuff and recheck if the alerted issue is fixed
device.denotify(AlertId);

Pesan perangkat menyediakan cara untuk menyampaikan informasi penting, tetapi tidak menghentikan segalanya, kepada pengguna. Pesan-pesan ini hanya akan muncul di halaman perangkat.

Menambahkan pesan perangkat baru dengan MessageId yang diberikan.

ParameterTipeDeskripsiContoh
messageIdstringMessageId yang terkait dengan pesan perangkat”mymessage”
messagestringTeks pesan yang akan ditampilkan”The message”
tooltipstringTeks tambahan yang ditampilkan saat hover”Some more info”
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");

Menghapus pesan yang dibuat dengan MessageId yang diberikan jika ada.

ParameterTipeDeskripsi
messageIdstringMessageId yang akan dihapus
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");
// message is no longer relevant
device.removeMessage("message1");