code review changes and add code for braking cantalons
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
index f2cc324f397ee78a66822887a761b5cfb65c2ec8..a8c48643019bffbf7786a505e4264316be539b42 100644 (file)
@@ -1,23 +1,34 @@
 package org.usfirst.frc.team3501.robot;
 
-import org.usfirst.frc.team3501.robot.commands.driving.TimeDrive;
 import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+import org.usfirst.frc.team3501.robot.subsystems.Intake;
 import org.usfirst.frc.team3501.robot.subsystems.Shooter;
 
+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.Scheduler;
+import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
 
 public class Robot extends IterativeRobot {
   private static DriveTrain driveTrain;
   private static Shooter shooter;
   private static OI oi;
+  private static Intake intake;
 
   @Override
   public void robotInit() {
     driveTrain = DriveTrain.getDriveTrain();
     oi = OI.getOI();
     shooter = Shooter.getShooter();
+    intake = Intake.getIntake();
 
+    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() {
@@ -32,24 +43,55 @@ public class Robot extends IterativeRobot {
     return OI.getOI();
   }
 
+  public static Intake getIntake() {
+    return Intake.getIntake();
+  }
+
+  // If the gear values do not match in the left and right piston, then they are
+  // both set to high gear
   @Override
   public void autonomousInit() {
-    Scheduler.getInstance().add(new TimeDrive(1.5, 0.4));
+    driveTrain.setHighGear();
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
   }
 
   @Override
   public void autonomousPeriodic() {
     Scheduler.getInstance().run();
-
   }
 
   @Override
   public void teleopInit() {
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
   }
 
   @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());
+    SmartDashboard.putNumber("right encoder",
+        driveTrain.getRightEncoderDistance());
+    SmartDashboard.putNumber("angle", driveTrain.getAngle());
+    SmartDashboard.putNumber("voltage",
+        DriverStation.getInstance().getBatteryVoltage());
+    SmartDashboard.putNumber("rpm", shooter.getShooterRPM());
+    SmartDashboard.putNumber("target shooting",
+        shooter.getTargetShootingSpeed());
   }
 }