Skip to content

Mapiranje pozicija LED dioda

Sada imamo potpuno funkcionalan uređaj, ali naše LED diode nisu ispravno mapirane.

Da bismo mapirali pozicije LED dioda u SignalRGBu, moramo koristiti alat za crtanje.

Da bismo koristili alat za crtanje, moramo otvoriti SignalRGB.

Zatim moramo otići na stranicu uređaja i otvoriti naš uređaj.

Sada moramo kliknuti na karticu sa četkicom i kliknuti na ikonu četkice.

Sada ćemo početi sa crtanjem LED dioda, i dok crtamo svaku od njih, imenujemo svaku LED diodu u pluginu prema njenoj odgovarajućoj komponenti na uređaju.

Nakon crtanja svih LED dioda, dobijamo mapiranje prikazano ispod.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [0,0], [1,0], [2,0], [3,0], [4,0] ];

Sada su sve naše LED diode ispravno imenovane, ali ih još uvek moramo ispravno mapirati u odnosu na njihovu fizičku poziciju na uređaju.

Da bismo mapirali naše LED diode, moramo razumeti kako sistem mapiranja funkcioniše. Sistem pozicija funkcioniše kao [x,y]. To znači da prva pozicija (x) ukazuje koliko je LED udaljena s desne strane od levog ruba pravougaonika uređaja na canvas-u efekata. Druga pozicija (y) ukazuje koliko je LED udaljena od gornje ivice pravougaonika uređaja na canvas-u efekata.

Koristeći ove informacije i fizičke pozicije naših LED dioda, dobijamo sledeće ispravno mapiranje.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [1,2], [1,0], [0,1], [2,0], [0,0] ];

Sada kada imamo ispravno mapiranje za naše LED diode, moramo promeniti i veličinu pravougaonika uređaja kako bi ispravno prikazivao stvarnu veličinu uređaja.

Imajte na umu da naša veličina uređaja mora biti za jedan veća od naše najudaljenije pozicije u svakom pravcu. To znači da u našem slučaju veličina uređaja mora biti [3,3], jer su moje najudaljenije pozicije u svakom pravcu [2,2].

export function Name() { return "Corsair Scimitar Pro"; }
export function VendorId() { return 0x1b1c; }
export function ProductId() { return 0x1B3E; }
export function Publisher() { return "WhirlwindFX"; }
export function Size() { return [3,3]; }
export function DefaultPosition(){return [10, 100]; }
export function DefaultScale(){return 8.0}

Sada imamo potpuno funkcionalan plugin za uređaj, ali nedostaje mu slika uređaja.