You are correct we are using optionB where the NavX is connected via just a USB cable.
To test to ensure that the USB connection, we connected the NavX to the MXP port on our RoboRio and noticed the same connectivity issues.
To try to further explain, isConnected() will sometimes return FALSE and get stuck in the FALSE state. Usually a robot power cycle fixes this. However much more often the isConnected() alternate between TRUE and FALSE. Readings from the NavX stop being updated and the getUpdateCount() value stops increasing momentarily.
We are unable to observe the lights on the NavX when we believe it is becoming disconnected. We are relying on the isConnected() and isCalibrating() as reported to the smartdashboard.
https://github.com/TechplexEngineer/...obot.java#L105
When we do notice isConnected() retuning FALSE, isCalibrating() doesn't usually change to TRUE.
We changed the baudrate to see if a lower speed would make a difference. We did not notice a change. I'll make sure that gets back to 57600.