Zum Inhalt springen

Initialisierungspakete finden

Nachdem wir ein korrektes RGB-Packet erstellt haben, funktioniert unser Gerät immer noch nicht oder arbeitet nicht ordnungsgemäß. Das bedeutet, dass uns einige Initialisierungspakete fehlen.

  • Wenn Ihr Gerät bereits wie beabsichtigt funktioniert, können Sie diese Seite überspringen.

Initialisierungspakete sind alle Pakete, die an ein Gerät gesendet werden müssen, bevor SignalRGB es ordnungsgemäß steuern kann.

Um unsere Initialisierungspakete zu finden, müssen wir zu unserer Wireshark-Aufzeichnung zurückkehren.

Wir werden unsere Initialisierungspakete zunächst per Brute-Force ermitteln. Das bedeutet, dass wir jedes Packet, das unser Gerät vor den RGB-Daten empfängt, ausprobieren werden, bis es funktioniert.

Zunächst werden wir einfach das erste Packet ausprobieren, das die Scimitar empfängt, und sehen, ob das das Flackern unserer RGB-Beleuchtung stoppt.

Zunächst erstellen wir eine neue Funktion und füllen das Packet mit den obigen Daten.

function initpacket1()
{
let packet = [];
packet[0] = 0x00;
packet[1] = 0x07;
packet[2] = 0x04;
packet[3] = 0x02;
device.write(packet,65)
}

Dann rufen wir diese Funktion innerhalb unserer Initialisierungsfunktion auf, damit sie jedes Mal aufgerufen wird, wenn das Plugin gestartet oder neu geladen wird.

export function Initialize() {
initpacket1();
}

Jetzt können wir unser Plugin speichern und sehen, ob Änderungen an der Beleuchtung unseres Geräts vorgenommen wurden.

Nach dem Speichern unseres Plugins funktioniert das Gerät nun wie beabsichtigt.

In den meisten Fällen wird dies nicht der Fall sein, und manchmal werden mehrere Pakete benötigt, um ein Gerät zu initialisieren. Probieren Sie weiter Pakete aus, bis das Gerät wie beabsichtigt funktioniert.

Sobald das Gerät wie beabsichtigt funktioniert, versuchen Sie, alle zusätzlichen Pakete zu entfernen, die nicht benötigt werden. Dies geschieht durch Versuch und Irrtum.

Jetzt ist unsere Maus mit SignalRGB synchronisiert, aber die LEDs sind nicht benannt und werden nicht korrekt auf ihre physischen Positionen abgebildet. Das werden wir als Nächstes beheben.