About 6 months ago, during the start of build season, we purchased 2 Pigeon2’s for the new season. One went on our competition robot and the other was a spare. We went through 2 regionals and Champs without any issue related to the gyroscope. However, when we were driving during the post season (and now in preseason), after a seemingly random amount of time, exactly 90 degrees is added to the gyro yaw. This happens suddenly during driving and causes the robot to spontaneously change its heading due to field oriented control. Looking at the logs and outputting the error message using
gyro.getLastError() shows that it is a CAN error, however we do not know how. The logs say something like “CAN Frame not received, too stale” at exactly the point of failure, but CAN utilization is normal, at around 46% (it is on the Rio CAN bus). We checked all wiring and have tried taking it out and plugging it back in.
Regarding the spare Pigeon2, we tried using it to replace the faulty original, however, when pulling up Phoenix Tuner to change the CAN id, it simply does not show up. We tried both on the competition robot and an empty electrical setup, so there are no conflicting CAN ids. We have not tested the spare prior to this, so we think it might be defective.
I would like to ask if there are any possible solutions that we could try to not spend an extra $200 this season.