GuidanceSelecting an Interfacetwo different formats: Processed Data and Raw data. Streaming is used over the TTL UARTand USB interfaces. More details on the communication detail are available in the SerialProtocol Definition.Register-based: communication is initiated by the host whenever new data is desired, and thehost can request any data required. Register-based communication is used over the I2C andSPI interfaces. More details on the communication detail are available in the Register ProtocolDefinition.Comparing the navX-MXP Communication InterfacesInterfaceTypeSpeed Latency Type Cable distance MaxUpdateRateSPI 2 mbps <1ms Register-based <1 meter 200I2C 400 kbps ~10ms Register-based 1 meter 200USB 12 mbps 1ms Streaming 6 meters 200RecommendationsBased upon the above, the following recommendations are provided for selecting the best navX-MXP communications interface:– If mounting the navX-MXP directly on the RoboRIO, the SPI interface is preferred for it’s highspeed and low latency.– If mounting the navX-MXP separately from the RoboRIO using an extension cable and if MXPIO support is desired, run SPI at a lower speed. The I2C interface is also a reasonable option.– If mounting the navX-MXP separately from the RoboRIO, and MXP IO support is not desiredand only Processed or Raw Data (not both) is needed, USB may be used. This configuration isuseful when using the navX-MXP magnetometer data, since it makes it possible to mount thenavX-MXP far away from motors. This configuration is also useful when accessing navX-MXPdata from a separate processor, such as a PC or a separate video processor. However, pleasenote that in certain cases when other USB devices (e..g, cameras) are connected to the sameRoboRIO USB bus, and are used simultaneously with navX-MXP, sometimes thecommunication is interrupted. For this reason, USB is not recommended on the RoboRIO,especially if you are connecting with other USB devices on the same USB bus.Gyro/Accelerometer CalibrationGyro/Accelerometer Calibration68