package Systems; import edu.wpi.first.wpilibj.AnalogGyro; import edu.wpi.first.wpilibj.Timer; public class GyroSensor { private static boolean initialized = false; private static final int GYRO_CHANNEL = 0; private static AnalogGyro myGyro; // settings for the Analog Devices ADW22307 Gyro // 7 mV/deg/s, per the data sheet private static final double GYRO_SENSITIVITY = 0.007; public static void initialize() { if (!initialized) { myGyro = new AnalogGyro(GYRO_CHANNEL); myGyro.setSensitivity(GYRO_SENSITIVITY); myGyro.calibrate(); initialized = true; } } public static void reset() { System.out.println("GyroSensor::reset called!"); if (myGyro != null) myGyro.reset(); } public static double getAngle() { double angle = 0; if (myGyro != null) { angle = myGyro.getAngle(); // slow down reading of sensor Timer.delay(0.02); } return angle; } }