Last week we had a Spark Max controller go “bizarro” on us.
During an afternoon of testing the robot started stuttering during any attempt to drive forward in autonomous. Since is was happening at such a specific time, we assumed it was a recent software change, but reverting back to old code did not help.
Eventually we discovered that one controller was returning NAN for the encoder value and +/- infinity for speed (as displayed on the ShuffleBoard display). We read these values using the Java Api. Outwardly, the motor was running fine, but when the software used the encoder values (in Auto) all hell broke loose.
We initially assumed bad encoder cables or motor failure, but installing a new motor did not help.
Prior to the problem we had set all the motor controllers to Unlimited current protection, but did not like this setting, so we had set them all back. We thought this may have triggered a bad firmware setting, so we went back in and reloaded the firmware and setup the controller in our standard configuration (40A limit) but it did not fix the problem.
Finally we decided to just replaced the Spark Max controller and the problem went away (with the original motor/encoder setup).
Any suggestion to get our controller running again, or is it toast?