Back when the Cypress board was new in 2010, we had a TON of issues with reliability of the drivers, and getting the drivers installed on non-classmate driver station laptops. In 2010, we HAD to boot up our laptop 3 matches ahead of time in the queue, since a driver failure would require us to reboot the classmate once or possibly twice to regain functionality after putting the classmate to sleep. We also had no operator (cypress-IO) control in two matches at our first event because we didn't understand the problem, and implemented a whole bunch of code to detect a Cypress failure and reroute button inputs to the driver's gamepad (Logitech DualAction) as a workaround. It was super ugly and we hated it and complained a ton and I have no idea what happened in later releases since we never used it again (and never will).
Since we stopped using the classmate as a driver station laptop, I haven't been able to get the 2010 bot's operator box to work since. We eventually wrote code to use the 2012 bot's operator box so we could use the robot for demonstration (since it looks cool).
We now use the
Uhid, which acts like a native HID joystick device to the laptop and requires no drivers. It doesn't support outputs in our use (acting as a joystick to Driver Station), but it was very reliable and we had no issues. No big deal, we don't like on-DS LED's anyway since the driver has to look down to see them. Also, it doesn't auto zero the joystick inputs, so you can use potentiometers with the analog inputs without a problem.