Narzędzia
Narzędzia urządzenia
Dział zatytułowany „Narzędzia urządzenia”device.color()
Dział zatytułowany „device.color()”Ta funkcja służy do pobierania danych kolorów z canvas. Przyjmuje pozycję X,Y względem i wewnątrz bufora pikseli urządzenia na canvas i zwraca tablicę [R,G,B] koloru na tym pikselu.
| Parametr | Typ | Opis | Przykład |
|---|---|---|---|
| X | Int | Wartość Int reprezentująca współrzędną X w buforze pikseli urządzenia | 5 |
| Y | Int | Wartość Int reprezentująca współrzędną Y w buforze pikseli urządzenia | 3 |
- Uwaga: podane współrzędne X,Y muszą mieścić się w buforze pikseli ustawionym przez eksport Size().
| Zwrot | Typ | Opis | Przykład |
|---|---|---|---|
| ColorArray | Tablica 1D | Tablica o długości 3 zawierająca współrzędne wartości [R, G, B] w zakresie 0–255 (HEX 00–FF) | [128,158,255] |
Poniżej skrócony przykład funkcji w typowej sytuacji.
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; }device.getBrightness()
Dział zatytułowany „device.getBrightness()”Zwraca aktualny poziom jasności urządzenia w SignalRGB. Ta wartość jest już zastosowana do wszystkich kolorów zwracanych przez device.color() lub podobne funkcje.
| Zwrot | Typ | Opis | Przykład |
|---|---|---|---|
| Brightness | int | Aktualna jasność w zakresie 0–100 | 42 |
device.getMotherboardName()
Dział zatytułowany „device.getMotherboardName()”Zwraca nazwę WMI płyty głównej bieżącego systemu.
| Zwrot | Typ | Opis | Przykład |
|---|---|---|---|
| MotherboardName | string | Nazwa płyty głównej systemu | B550 Aorus Elite |
device.pause()
Dział zatytułowany „device.pause()”Ta funkcja próbuje wstrzymać wątek urządzenia na określony czas. Te pauzy nie są gwarantowane jako dokładne ze względu na sposób, w jaki system operacyjny obsługuje uśpienie wątków.
| Parametr | Typ | Opis | Przykład |
|---|---|---|---|
| Duration | Int | Żądana długość pauzy w milisekundach | 1 |
- Uwaga: Windows ma minimalny czas uśpienia wynoszący 1–2 ms i zaczyna się zacinać, gdy uśpienie jest dłuższe, więc nie używaj go do dokładnych pomiarów czasu.
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.device.set_endpoint()
Dział zatytułowany „device.set_endpoint()”Ta funkcja zmienia aktywny punkt końcowy dla wszystkich operacji odczytu i zapisu. Jest to przydatne dla urządzeń z wieloma otwartymi punktami końcowymi dla różnych poleceń. Typowym przykładem są urządzenia Logitech z punktem końcowym danych RGB i punktem końcowym poleceń systemowych do takich rzeczy jak ustawienia DPI.
| Parametr | Typ | Opis | Przykład |
|---|---|---|---|
| interface | HEX | Wartość hex 0x reprezentująca interfejs punktu końcowego do otwarcia | 0x0002 |
| usage | HEX | Wartość hex 0x reprezentująca użycie punktu końcowego do otwarcia | 0x0006 |
| usage_page | HEX | Wartość hex 0x reprezentująca usage_page punktu końcowego do otwarcia | 0x0080 |
| collection | HEX | Wartość hex 0x reprezentująca kolekcję punktu końcowego do otwarcia | 0x0001 |
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);}device.log()
Dział zatytułowany „device.log()”Ta funkcja jest odpowiednikiem console.log dla wtyczki. Przyjmuje String, Liczbę, Obiekt lub Tablicę i loguje je do konsoli urządzenia do debugowania i informacji użytkownika. Może być szczególnie przydatna do pokazywania takich rzeczy jak zmiany DPI, błędy lub podczas tworzenia — struktury pakietów lub wejścia z operacji odczytu.
- Uwaga: Ta funkcja próbuje konwertować zmienne JavaScript na stringi tam, gdzie to możliwe. Logowanie JavaScript Template Literals z parseInt(), toString() lub JSON.stringify daje większą kontrolę nad konwersją i formatowaniem.
| Parametr | Typ | Opis | Przykład | Domyślnie |
|---|---|---|---|---|
| Item | Wartość Javascript | String, liczba, tablica lub inna wartość JavaScript do zalogowania | ||
| Options | Obiekt JavaScript | Obiekt JavaScript z parametrami ustawień | {hex: True} | {} |
| Opcje | Opis | Typ | Domyślnie |
|---|---|---|---|
| Hex | Określa, czy liczby całkowite są drukowane w formacie dziesiętnym czy szesnastkowym | Boolean | False |
| toFile | Określa, czy drukowane elementy pojawiają się w logach debugowania czy tylko w konsoli urządzenia | Boolean | False |
let ImportantData = "i have really important info here"; device.log(ImportantData, {toFile: true})Powiadomienia
Dział zatytułowany „Powiadomienia”Powiadomienia mogą być używane do widocznego ostrzegania użytkownika, gdy wystąpił problem z jego urządzeniem. Używaj ich oszczędnie i rezerwuj dla krytycznych problemów, takich jak nieprawidłowo skonfigurowane urządzenia.
device.notify()
Dział zatytułowany „device.notify()”Tworzy nowe powiadomienie dla użytkownika. Wartość zwracana może być użyta do selektywnego usunięcia powiadomienia i należy to zrobić, gdy użytkownik rozwiąże zgłoszony problem.
| Priorytet powiadomienia | Opis | Wartość |
|---|---|---|
| Info | Normalne powiadomienie | 0 |
| Important | Krytyczne (wyróżnione) powiadomienie | 1 |
| Parametr | Typ | Opis | Przykład |
|---|---|---|---|
| Title | String | Tytuł powiadomienia | Firmware Incompatible |
| Description | String | Opis powiadomienia | Firmware Version must be >= 2.0.0 |
| Priority | Int | Priorytet powiadomienia | 0 | 1 |
| Zwrot | Typ | Opis |
|---|---|---|
| AlertId | String | Ciąg ID utworzonego powiadomienia |
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);device.denotify()
Dział zatytułowany „device.denotify()”Usuwa podane powiadomienie, jeśli istnieje.
| Parametr | Typ | Opis |
|---|---|---|
| AlertId | String | AlertId zwrócone przez 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);Komunikaty
Dział zatytułowany „Komunikaty”Komunikaty urządzenia zapewniają sposób przekazywania użytkownikowi ważnych, ale niekrytycznych informacji. Te komunikaty pojawiają się tylko na stronie urządzenia.

device.addMessage()
Dział zatytułowany „device.addMessage()”Dodaje nowy komunikat urządzenia o podanym ID komunikatu.
| Parametr | Typ | Opis | Przykład |
|---|---|---|---|
| messageId | string | ID komunikatu powiązane z komunikatem urządzenia | ”mymessage” |
| message | string | Tekst komunikatu do wyświetlenia | ”The message” |
| tooltip | string | Dodatkowy tekst wyświetlany po najechaniu myszą | ”Some more info” |
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");device.removeMessage()
Dział zatytułowany „device.removeMessage()”Usuwa komunikat utworzony z podanym ID komunikatu, jeśli istnieje.
| Parametr | Typ | Opis |
|---|---|---|
| messageId | string | ID komunikatu do usunięcia |
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");