Gyro not working

Our gyro used to work, but now it doesn’t. We have tried using old gyros from previous years, but they do not work either. Perhaps it has something to do with our code. We are using WPILib:
InitGyro(1);
StartGyro(1);
Wait(2000);

while(1){
	printf("Angle %d\r", GetGyroAngle(1));
    }

The output is “0” until the gyro is rotated a large amount (usually near 360 degrees). Then the output is random, ranging from low values into the thousands, with no correlation to the degree of rotation.

Any ideas what our problem might be? Any help would be greatly appreciated!

I’m not sure what type of number that will return, (int, long, etc), but I’ve had problems printing out longs and the like without %d. Check what the function returns.

Sorry, I’m not sure about this one.

Try typecasting:

while(1){
printf(“Angle %d\r”, (int) GetGyroAngle(1));
}