competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
index a9fb3bf859cd9fd27cbdbdcc55ca9c7b87c52aaf..8151cde6533837bd15907b3d37a795564a262e6e 100644 (file)
@@ -1,5 +1,9 @@
 package org.usfirst.frc.team3501.robot;
 
+import org.usfirst.frc.team3501.robot.commandgroups.AutonMiddleGear;
+import org.usfirst.frc.team3501.robot.commandgroups.AutonSideGear;
+import org.usfirst.frc.team3501.robot.commands.driving.TimeDrive;
+import org.usfirst.frc.team3501.robot.subsystems.Climber;
 import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
 import org.usfirst.frc.team3501.robot.subsystems.Intake;
 import org.usfirst.frc.team3501.robot.subsystems.Shooter;
@@ -8,7 +12,9 @@ import edu.wpi.cscore.UsbCamera;
 import edu.wpi.first.wpilibj.CameraServer;
 import edu.wpi.first.wpilibj.DriverStation;
 import edu.wpi.first.wpilibj.IterativeRobot;
+import edu.wpi.first.wpilibj.command.Command;
 import edu.wpi.first.wpilibj.command.Scheduler;
+import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
 import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
 
 public class Robot extends IterativeRobot {
@@ -16,6 +22,10 @@ public class Robot extends IterativeRobot {
   private static Shooter shooter;
   private static OI oi;
   private static Intake intake;
+  private static Climber climber;
+
+  Command autonCommand;
+  SendableChooser autonChooser;
 
   @Override
   public void robotInit() {
@@ -23,12 +33,23 @@ public class Robot extends IterativeRobot {
     oi = OI.getOI();
     shooter = Shooter.getShooter();
     intake = Intake.getIntake();
+    climber = Climber.getClimber();
+
+    autonChooser = new SendableChooser();
+    autonChooser.addDefault("Middle Gear", new AutonMiddleGear());
+    autonChooser.addObject("Red Boiler Gear",
+        new AutonSideGear("RED", "BOILER"));
+    autonChooser.addObject("Red Retrieval Gear",
+        new AutonSideGear("RED", "RETRIEVAL"));
+    autonChooser.addObject("Blue Boiler Gear",
+        new AutonSideGear("BLUE", "BOILER"));
+    autonChooser.addObject("Blue Retrieval Gear",
+        new AutonSideGear("BLUE", "RETRIEVAL"));
+    SmartDashboard.putData("Autonomous Chooser", autonChooser);
 
     CameraServer server = CameraServer.getInstance();
     UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
     UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
-
-    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
   }
 
   public static DriveTrain getDriveTrain() {
@@ -47,12 +68,17 @@ public class Robot extends IterativeRobot {
     return Intake.getIntake();
   }
 
-  // If the gear values do not match in the left and right piston, then they are
-  // both set to high gear
+  public static Climber getClimber() {
+    return Climber.getClimber();
+  }
+
   @Override
   public void autonomousInit() {
-    driveTrain.setHighGear();
-    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
+    driveTrain.setLowGear();
+
+    // autonCommand = (Command) autonChooser.getSelected();
+    autonCommand = new TimeDrive(2, 0.6);
+    Scheduler.getInstance().add(autonCommand);
   }
 
   @Override
@@ -62,26 +88,15 @@ public class Robot extends IterativeRobot {
 
   @Override
   public void teleopInit() {
-    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
+    driveTrain.setHighGear();
   }
 
   @Override
   public void teleopPeriodic() {
-    driveTrain.printEncoderOutput();
     Scheduler.getInstance().run();
     updateSmartDashboard();
   }
 
-  @Override
-  public void disabledInit() {
-    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
-  }
-  //
-  // @Override
-  // public void disabledPeriodic() {
-  // Scheduler.getInstance().add(new RunFlyWheel(2));
-  // }
-
   public void updateSmartDashboard() {
     SmartDashboard.putNumber("left encode ",
         driveTrain.getLeftEncoderDistance());