Releases: goBILDA-Official/FtcRobotController-Add-Pinpoint
Catch Invalid Reads (Fix "NaN" bug)
This release implements some new code in the Java driver to make sure that the values being read by the I²C device are valid (not NaN), reasonable (no huge jumps in position cycle to cycle, no unbelievable robot speeds), and not all only 0s.
If any of these signs of corrupt data are seen, the driver will instead pass the last-good value out to the user. And alert them via a DeviceStatus.
In my testing this has totally eliminated NaN errors from making their way to the user code, it also solves issues where an in incorrectly huge angle can be reported for normalization by the SDK, and cause a stuck in stop error.
This also adds some nice-to-have features, like adding DistanceUnits where the users touch distances, and AngleUnits where Angles are used. And it adds the ability to set the X/Y positions, and the headings separately.
Faster I²C Reads
This release moves to 400k I²C bitrate to allow an approximately 30% decrease in I²C read time. Reading all 40 core device bytes now takes approximately 5.5ms, compared to about 8.5ms previously.
This also adds an option to update only the device heading. Which takes just under 3ms.
Update to SDK 10.1
Removed duplicate Pose2D class now that it is in the FTC SDK.