Przejdź do głównej zawartości

Znajdowanie pakietów inicjalizacyjnych

Po stworzeniu prawidłowego pakietu RGB nasze urządzenie nadal nie działa lub nie działa poprawnie. Oznacza to, że brakuje nam kilku pakietów inicjalizacyjnych.

  • Jeśli twoje urządzenie działa już zgodnie z oczekiwaniami, możesz pominąć tę stronę.

Pakiety inicjalizacyjne to pakiety, które muszą być wysłane do urządzenia, zanim SignalRGB będzie mógł je poprawnie kontrolować.

Aby znaleźć nasze pakiety inicjalizacyjne, musimy wrócić do naszego nagrania Wireshark.

Podejdziemy do pakietów inicjalizacyjnych metodą brute-force jako punkt wyjścia. Oznacza to, że spróbujemy każdego pakietu, który urządzenie otrzymuje przed danymi RGB, aż to zadziała.

Na początku spróbujemy po prostu pierwszego pakietu wysyłanego do Scimitara i zobaczymy, czy to zatrzyma migotanie naszego RGB.

Najpierw tworzymy nową funkcję i wypełniamy pakiet powyższymi danymi.

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

Następnie wywołujemy tę funkcję w ramach naszej funkcji inicjalizacyjnej, aby była wywoływana za każdym razem, gdy wtyczka jest uruchamiana lub przeładowywana.

export function Initialize() {
initpacket1();
}

Teraz możemy zapisać naszą wtyczkę i sprawdzić, czy nastąpiły jakieś zmiany w oświetleniu naszego urządzenia.

Po zapisaniu naszej wtyczki urządzenie działa teraz zgodnie z oczekiwaniami.

W większości przypadków tak nie będzie i czasami do zainicjowania urządzenia potrzeba wielu pakietów. Kontynuuj próbowanie pakietów, aż urządzenie zacznie działać zgodnie z oczekiwaniami.

Gdy urządzenie działa zgodnie z oczekiwaniami, spróbuj usunąć wszelkie zbędne pakiety. Odbywa się to metodą prób i błędów.

Teraz nasza mysz jest zsynchronizowana z SignalRGB, ale LED-y nie mają nazw i nie są poprawnie mapowane do ich fizycznych pozycji. To naprawimy następnie.