Выбор конечных точек
Теперь, когда мы настроили RGB-пакеты плагина, необходимо выяснить конечные точки устройства.
Для поиска конечных точек нужно сохранить плагин.
Сохраним плагин с именем устройства в виде файла js.
Файл нужно сохранить в папку Documents/WhirlwindFX/plugins, чтобы SignalRGB мог его найти.

Необходимо закрыть и снова открыть SignalRGB для загрузки нового файла. После повторного открытия SignalRGB перейдите на страницу устройства и найдите своё устройство.
Затем перейдите на вкладку настроек и включите «Console enabled». Вы увидите экран, похожий на показанный ниже.

В консоли устройства можно увидеть множество конечных точек на выбор.
Мы не знаем, через какую конечную точку отправляются RGBData. Чтобы найти правильную, нужно попробовать все и найти верную методом перебора.
Для выбора конечной точки нужно перейти в функцию validate и начать пробовать конечные точки. Вот пример заполнения первой конечной точки для Scimitar.
export function Validate(endpoint) { return endpoint.interface === 0 && endpoint.usage === 0x0002 && endpoint.usage_page === 0xffc1;}Перед сохранением файла плагина также нужно добавить функцию sendColors в цикл рендеринга. Добавив её туда, SignalRGB будет выполнять эту функцию 60 раз в секунду.
export function Render(){ sendColors();}Теперь можно сохранить плагин, и SignalRGB автоматически его перезагрузит.
При перезагрузке плагина и просмотре консоли мы получаем ошибку «incorrect function».

Эта ошибка может означать одно из двух:
- Это неверная конечная точка.
- Мы используем неверный тип записи.
Пока будем исходить из того, что используем неверную конечную точку, и продолжим пробовать другие. Если ни одна из конечных точек не работает корректно, нужно попробовать другой тип записи.
Одна из других конечных точек даёт ошибку «Access is denied». Это означает, что данная конечная точка определённо не та. Мы вообще не можем записывать данные в эту конечную точку.

После перебора всех конечных точек только одна сработала. После переключения на неё мышь начала синхронизироваться с темой SignalRGB, но устройство мерцает. Это означает, что следующий шаг — найти пакеты инициализации.