Selecting EndPoints
Now that we have set up our plugin's RGB packets, we need to figure out our device's endpoints.
To find our endpoints, we need to save our plugin.
We are going to save our plugin as our device's name and save it as a js file.
We need to save the file in our Documents/WhirlwindFX/plugins folder for SignalRGB to be able to find it.

You'll need to close and re-open SignalRGB to load the new file. After re-opening SignalRGB we need to go to the device page and find our device.
Next, we need to go to the settings tab and turn on console enabled. You will be presented with a screen similar to the one below.

If we look at the device console, we can see a bunch of endpoints to choose from.
We do not know which endpoint our RGBData gets sent through. To find the correct endpoint, we need to try them all and find the correct one through trial and error.
To select an endpoint, we need to go into our validate function and start trying endpoints. Here's an example of filling in the first endpoint for the Scimitar.
export function Validate(endpoint) {
return endpoint.interface === 0 && endpoint.usage === 0x0002 && endpoint.usage_page === 0xffc1;
}
Before we save our plugin file, we also need to add our sendColors function to the render loop. By adding it to the render loop, SignalRGB will execute that function 60 times per second.
export function Render()
{
sendColors();
}
Now, we can save our plugin and SignalRGB will automatically reload the plugin.
When we reload the plugin and look at the console, we get an incorrect function error.

This error can mean one of two things:
- This is the incorrect endpoint.
- We are using the incorrect write type.
For now, we are going to assume that we are using the wrong endpoint and keep trying other endpoints. If none of our endpoints work correctly, then we need to try a different write type.
One of our other endpoints gives us an Access is denied error. This means that endpoint is definitely not the correct one. We cannot write to the endpoint at all.

After trying all of my endpoints, only one of the endpoints worked. After switching to this endpoint, the mouse began to switch in sync with SignalRGB's theme, but the device is flickering. This means that we need to find our initialization packets next.