code review changes and add code for braking cantalons
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
index 3ccbadf02f84736b63344a3fc8340a793b2d5088..a8c48643019bffbf7786a505e4264316be539b42 100644 (file)
@@ -1,42 +1,97 @@
 package org.usfirst.frc.team3501.robot;
 
 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.getDriveTrain();
-    OI.getOI();
+    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() {
+    return DriveTrain.getDriveTrain();
+  }
+
+  public static Shooter getShooter() {
+    return Shooter.getShooter();
   }
-  
-  public static DriveTrain getDriveTrain(){
-         return DriveTrain.getDriveTrain();
+
+  public static OI getOI() {
+    return OI.getOI();
   }
-  
-  public static OI getOI(){
-         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() {
+    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());
   }
 }