ADXRS453 gyro returning incorrect rate above medium speed

Last year was our first year using the ADXRS453 and it was beautiful but this year it is giving us issues. When we turn clockwise faster than +100 º/s it jumps to a negative rate and when we turn -200 º/s it gives a rate around 0. The max rate for this gyro is +/- 300 º/s. We’ve tried multiple gyros and we have the same problem and are using the same code from last year to read it (code here http://bit.ly/1U2Xplj). Has anyone experienced anything similar with the ADXRS453 or other gyros?

I’ve never seen this behavior before with either the 450 or 453. Have you tried feeding your assemble_sensor_data function some pre-fabricated data and looked at how it responds?

FYI, WPILib now has a class to talk to the 450/453 out of the box. It looks nice. You might want to try that.

You are also ignoring errors reported by the gyro in your code. I’d suggest handling them (at least don’t integrate the new value for that cycle.) I’ve heard of that causing problems.

Thanks for the quick reply! I’ll try your suggestions.