public static Shooter shooter;
public static Scaler scaler;
- public static DefenseArm defenseArm;
+ double then;
public static IntakeArm intakeArm;
+ public static DefenseArm defenseArm;
// Sendable Choosers send a drop down menu to the Smart Dashboard.
SendableChooser positionChooser;
SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense,
- positionFourDefense, positionFiveDefense;
+ positionFourDefense, positionFiveDefense;
// Gyro stuff
private final static double NANOSECONDS_PER_SECOND = 1000000000;
short rawValue;
- public FirebotGyro gyro;
+ public GyroClass gyro;
- double initialSpeedNanoseconds;
- double finalSpeedNanoseconds;
- double initialSpeedSeconds;
- double finalSpeedSeconds;
- double deltaSpeed;
+ double now;
+ double degreesIncreased;
double degrees;
+ Rotation rotation;
+
@Override
public void robotInit() {
// driveTrain = new DriveTrain();
- gyro = new FirebotGyro(I2C.Port.kOnboard, (byte) 0x68);
+ gyro = new GyroClass(I2C.Port.kOnboard, gyro.ITG3200_ADDRESS_AD0_LOW);
// oi = new OI();
shooter = new Shooter();
public void teleopPeriodic() {
Scheduler.getInstance().run();
}
+
+ public double getZAxisDegreesPerSeconds() {
+ double rawValue = gyro.getRotationZ() / 14.375;
+ return rawValue;
+ }
+
+ public void initializeGyro() {
+ degrees = 0;
+ then = System.nanoTime() / 1000000000.0;
+ gyro.reset();
+ gyro.initialize();
+ System.out.println("Testing Gyro Init");
+ }
+
+ public void addZAxisDegrees() {
+ double degreesRead = getZAxisDegreesPerSeconds();
+ now = System.nanoTime();
+ now = now / (1000000000.0);
+ double differenceInTime = now - then;
+ then = now;
+ degreesIncreased = differenceInTime * degreesRead;
+
+ // 0.0 = register
+ // + 1.0 is the formula constant
+ //
+ degrees += degreesIncreased;
+
+ }
+
+ public double getDegrees() {
+ return degrees;
+ }
+
}