Ga naar inhoud

Hulpprogramma's

Deze functie is uw manier om kleurdata op te halen van het canvas. Het neemt een X,Y-positie relatief aan en binnen de pixelbuffer van het apparaat op het canvas, en retourneert een [R,G,B]-array van de kleur op dat pixel.

ParameterTypeBeschrijvingVoorbeeld
XIntEen Int-waarde die de X-coördinaat binnen de pixelbuffer van het apparaat vertegenwoordigt5
YIntEen Int-waarde die de Y-coördinaat binnen de pixelbuffer van het apparaat vertegenwoordigt3
  • Opmerking: de opgegeven X,Y-coördinaten moeten binnen de pixelbuffer vallen die is ingesteld door de Size()-export.
RetourTypeBeschrijvingVoorbeeld
ColorArray1D-arrayEen array van lengte 3 met de gecoördineerde [R, G, B]-waarden variërend van 0–255 (HEX 00–FF)[128,158,255]

Hieronder is een ingekort voorbeeld van de functie in een typische situatie.

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;
}

Retourneert het huidige helderheidsniveau van het apparaat in SignalRGB. Deze waarde is al toegepast op alle kleuren die worden geretourneerd door device.color() of vergelijkbare functies.

RetourTypeBeschrijvingVoorbeeld
BrightnessintHuidige helderheid in het bereik 0–10042

Retourneert de WMI-naam van het moederbord van het huidige systeem.

RetourTypeBeschrijvingVoorbeeld
MotherboardNamestringNaam van het moederbord van het systeemB550 Aorus Elite

Deze functie probeert de apparaatthread voor de opgegeven duur te pauzeren. Deze pauzes zijn niet gegarandeerd exact vanwege de manier waarop het besturingssysteem threadslaap afhandelt.

ParameterTypeBeschrijvingVoorbeeld
DurationIntGevraagde pauzelengte in milliseconden1
  • Opmerking: Windows heeft een minimale slaaptijd van 1–2 ms en begint te haperen naarmate de slaap langer wordt, gebruik deze dus niet voor exacte tijdmetingen.
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.

Deze functie wijzigt het actieve eindpunt voor alle lees- en schrijfopdrachten. Dit is handig voor apparaten met meerdere open eindpunten voor verschillende opdrachten. Een veelvoorkomend voorbeeld zijn Logitech-apparaten met een RGB-data-eindpunt en een systeemopdrachteindpunt voor zaken als DPI-instellingen.

ParameterTypeBeschrijvingVoorbeeld
interfaceHEXEen 0x hex-waarde die de interface vertegenwoordigt van het te openen eindpunt0x0002
usageHEXEen 0x hex-waarde die het gebruik vertegenwoordigt van het te openen eindpunt0x0006
usage_pageHEXEen 0x hex-waarde die de usage_page vertegenwoordigt van het te openen eindpunt0x0080
collectionHEXEen 0x hex-waarde die de collectie vertegenwoordigt van het te openen eindpunt0x0001
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);
}

Deze functie is de plugin-versie van console.log. Het neemt een String, Getal, Object of Array en logt dit in de apparaatconsole voor foutopsporing en gebruikersinformatie. Dit kan bijzonder nuttig zijn om zaken als DPI-wijzigingen, fouten of tijdens de ontwikkeling de pakketindeling of invoer van leesopdrachten te tonen.

  • Opmerking: Deze functie probeert JavaScript-variabelen waar mogelijk naar strings te converteren. Door JavaScript Template Literals te loggen met parseInt(), toString() of JSON.stringify kunt u meer controle krijgen over conversie en opmaak.
ParameterTypeBeschrijvingVoorbeeldStandaard
ItemJavascript-waardeEen string, getal, array of andere JavaScript-waarde om te loggen
OptionsJavaScript-objectEen JavaScript-object met instellingsparameters{hex: True}{}
OptiesBeschrijvingTypeStandaard
HexStelt in of gehele getallen in decimaal of hexadecimaal formaat worden afgedruktBooleanFalse
toFileStelt in of de afgedrukte items in foutopsporingslogboeken verschijnen of alleen in de apparaatconsoleBooleanFalse
let ImportantData = "i have really important info here";
device.log(ImportantData, {toFile: true})

Meldingen kunnen worden gebruikt om de gebruiker zichtbaar te waarschuwen als er een probleem is met hun apparaat. Gebruik deze spaarzaam en reserveer ze voor kritieke problemen zoals apparaten die niet correct zijn geconfigureerd.

Maakt een nieuwe melding voor de gebruiker aan. De retourwaarde kan worden gebruikt om de melding selectief te verwijderen en dit dient te gebeuren als de gebruiker het gemelde probleem oplost.

MeldingsprioriteitBeschrijvingWaarde
InfoNormale melding0
ImportantKritieke (gemarkeerde) melding1
ParameterTypeBeschrijvingVoorbeeld
TitleStringMeldingstitelFirmware Incompatible
DescriptionStringMeldingsbeschrijvingFirmware Version must be >= 2.0.0
PriorityIntMeldingsprioriteit0 | 1
RetourTypeBeschrijving
AlertIdStringDe ID-tekenreeks van de gemaakte melding
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);

Verwijdert de opgegeven melding als deze bestaat.

ParameterTypeBeschrijving
AlertIdStringAlertId geretourneerd door 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);

Apparaatberichten bieden een manier om belangrijke, maar niet kritieke informatie aan de gebruiker door te geven. Deze berichten verschijnen alleen op de pagina van het apparaat.

Voegt een nieuw apparaatbericht toe met het opgegeven bericht-ID.

ParameterTypeBeschrijvingVoorbeeld
messageIdstringBericht-ID gekoppeld aan het apparaatbericht”mymessage”
messagestringBerichttekst die wordt weergegeven”The message”
tooltipstringExtra tekst weergegeven bij aanwijzen”Some more info”
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");

Verwijdert het bericht dat is aangemaakt met het opgegeven bericht-ID als dat bestaat.

ParameterTypeBeschrijving
messageIdstringTe verwijderen bericht-ID
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");