It has come to our attention that there was a bug in the Java and C++ implementations of the WPI Library, which affected the ADIS16470 IMU, one of the Analog Devices IMUs and brand new to FIRST Choice this year, rendering them inoperable. The bug created an issue with allocating a DIO (specifically, CS1 on the SPI port) as an interrupt. This functionality is critical to the ADIS16470 IMU libraries as this pin is used as the Data Ready line which is used to indicate to the Rio that new data is available from the IMU. This does not affect teams using LabVIEW, as this implementation is functioning correctly. We have worked closely with the WPI team to help them fix this issue in a timely manner.
WPI has issued an update to their library which fixes this issue. You can find the update at this link. You may continue to use the latest ADIS16470 IMU library as is; there are no updates required to our supplier library to fix this issue.
Note that this is in addition to the Rio Image bug which was discovered at kickoff that affected all ADI boards and the Spartan board that broke AutoSPI, for which a fix was released in Team Update 04. This bug can be fixed by updating to at least Rio image v13 (this bug should be fixed for all teams now that v14 is a mandatory update required to compete). You must also update WPILIB to v2019.4.1 if you are using Java or C++ for the new Rio image to work!
Also, we were made aware of a rule change regarding the CAW and costing (R14) for this year which affected the legality of using any ADIS16448 boards which were obtained prior to this year. Since the FMV of these IMUs exceeds the maximum single item cost, this made using these IMUs technically illegal. We have brought this to FIRST’s attention and a fix which makes these legal again has been included in Team Update 15. Note that these boards may not be considered as “zero” cost if they were obtained prior to the FIRST Choice rounds for the 2019 season, and are instead to be costed at $500 on your robot CAW sheet. We have made it clear to FIRST that we suspect many teams will not wish to take this hit on their CAW worksheet for an IMU when there are several other options available which do not consume a significant portion of the allowed robot cost despite the performance benefits. However, this decision was out of our hands.
@juchong and I are available to help with any questions or issues you may have in getting these sensors functioning on your robot. If you’re stuck, please either reach out to us or feel free to take a look at the ADI Donation Resources wiki site for information, user guides, and code examples.