public static OI oi;
public static DriveTrain driveTrain;
public static Shooter shooter;
- public static Scaler scaler;
+ public static Scaler scaler;
+ double then;
public static IntakeArm intakeArm;
public static DefenseArm defenseArm;
SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense,
positionFourDefense, positionFiveDefense;
+ // Gyro stuff
+ private final static double NANOSECONDS_PER_SECOND = 1000000000;
+ short rawValue;
+ public GyroClass gyro;
+
+ double now;
+ double degreesIncreased;
+ double degrees;
+
+ Rotation rotation;
+
@Override
public void robotInit() {
- driveTrain = new DriveTrain();
- oi = new OI();
- gyro = new GyroLib(I2C.Port.kOnboard, false);
+ // driveTrain = new DriveTrain();
+ gyro = new GyroClass(I2C.Port.kOnboard, gyro.ITG3200_ADDRESS_AD0_LOW);
+ // oi = new OI();
shooter = new Shooter();
scaler = new Scaler();
defenseArm = new DefenseArm();
- intakeArm = new IntakeArm();
+ intakeArm = new IntakeArm();
// Sendable Choosers allows the driver to select the position of the robot
// and the positions of the defenses from a drop-down menu on the Smart
// make the Sendable Choosers
initializeSendableChoosers();
addPositionChooserOptions();
- addDefensesToAllDefenseSendableChoosers();
+ addDefensesToAllDefenseSendableChooosers();
sendSendableChoosersToSmartDashboard();
}
positionChooser.addObject("Position 5", 5);
}
- private void addDefensesToAllDefenseSendableChoosers() {
+ private void addDefensesToAllDefenseSendableChooosers() {
addDefenseOptions(positionOneDefense);
addDefenseOptions(positionTwoDefense);
addDefenseOptions(positionThreeDefense);
positionFourDefense);
SmartDashboard.putData("Position Five Defense Chooser",
positionFiveDefense);
-
SmartDashboard.putData("Position Four Defense Chooser",
positionFourDefense);
SmartDashboard.putData("Position Five Defense Chooser",
positionFiveDefense);
shooter = new Shooter();
-
}
@Override
@Override
public void teleopInit() {
-
- gyro.start();
-
}
@Override
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;
- System.out.println("Degrees: " + gyro.getRotationZ().getAngle());
+ // 0.0 = register
+ // + 1.0 is the formula constant
+ //
+ degrees += degreesIncreased;
+
+ }
+ public double getDegrees() {
+ return degrees;
}
}