Classmate USB Question?

On the frc classmate which USB plug in is 1 2 3, because on Saturday our drive train was working great, and today the joysticks were controlling the opposite sides of the robot? I don’t know if the PWMs got flipped or what or if the order in which the joysticks are plugged in matters? Thanks.

If you look in the Setup tab of the driver station, you can see which joystick is connected to which USB port. By clicking a button on one of the joysticks, the name of that particular one will flash blue. If it is in the wrong order, simply click and drag to reorder them how they need to be.

So the order in which I plug the joysticks in matters? or is there a solid usb 1 and the computer will identify that if I plug the second joystick in first to usb 2?

It does matter, but if you leave them plugged in when the computer is shut down, rebooted, etc., they could change again. The easiest way I have found is to enable the robot, push one joystick forward, and determine if it is in the correct port. If not, I switch them from the setup tab, and all is good.

Generally, we use a USB hub, and the joysticks don’t get unplugged from it, so our controllers are consistently wired to the same port all the time, unless we swap them around or use a different cRIO (even if it’s the same code)

Anyway, it’s pretty easy to make sure your joysticks are read in the port that you want them to. Just go to the setup tab of your Driver Station…

Then just click and drag to reorder your joysticks around.

If you need to find our which joystick to put in a port, when you press a button the joystick text will turn blue (as shown above).

So if you’re constantly removing your joysticks, I would suggest making sure they’re setup right before enabling each time, just to be safe.

Unfortunately, USB drivers and APIs don’t really support the 1, 2, 3 notion. We tried really hard to make it work that way, but any given USB hub and computer would be different anyway. Notice they aren’t labeled on the computer?

The typical usage is that you plug in a mouse, keyboard, printer, etc. But typically one or a small number of each type. They don’t care where it is plugged, the app asks for the printer and it works.

When you plug in many of the same device, it should be possible to use the device serial number to identify your joysticks and remember that you use that one for left and that one for right. But the problem is that all the joysticks of the same make and model have the same serial number. Bummer.

So finally, what we did was do a lookup table. If you plug in the joysticks and then start the app, I think you’ll find that it enumerates the joysticks the same each time. You can check or change the identity on the Setup tab. I don’t think you’ll need to change it very often.

Greg McKaskle