code review changes and add code for braking cantalons
authorCindy Zhang <cindyzyx9@gmail.com>
Sat, 25 Feb 2017 18:45:05 +0000 (10:45 -0800)
committerCindy Zhang <cindyzyx9@gmail.com>
Sat, 25 Feb 2017 18:45:05 +0000 (10:45 -0800)
src/org/usfirst/frc/team3501/robot/Constants.java
src/org/usfirst/frc/team3501/robot/OI.java
src/org/usfirst/frc/team3501/robot/Robot.java
src/org/usfirst/frc/team3501/robot/commands/climber/ToggleWinch.java
src/org/usfirst/frc/team3501/robot/commands/driving/BrakeCANTalons.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/driving/CoastCANTalons.java [new file with mode: 0644]
src/org/usfirst/frc/team3501/robot/commands/shooter/RunIndexWheelContinuous.java
src/org/usfirst/frc/team3501/robot/subsystems/DriveTrain.java
src/org/usfirst/frc/team3501/robot/subsystems/Shooter.java

index c2fbf7b121dc7e831d783cf066980d32eb0d4f05..aafb86701858a8c913125af0b445001ffc69f86a 100644 (file)
@@ -16,7 +16,6 @@ public class Constants {
     public final static int RIGHT_STICK_PORT = 1;
 
     // Need to fill in the port numbers of the following buttons
     public final static int RIGHT_STICK_PORT = 1;
 
     // Need to fill in the port numbers of the following buttons
-    public final static int TOGGLE_WINCH_PORT = 0;
     public final static int TOGGLE_FLYWHEEL_PORT = 4;
     public final static int RUN_INDEXWHEEL_PORT = 1;
     public final static int REVERSE_INDEXWHEEL_PORT = 2;
     public final static int TOGGLE_FLYWHEEL_PORT = 4;
     public final static int RUN_INDEXWHEEL_PORT = 1;
     public final static int REVERSE_INDEXWHEEL_PORT = 2;
@@ -25,6 +24,8 @@ public class Constants {
     public final static int REVERSE_INTAKE_PORT = 4;
     public static final int INCREASE_SHOOTER_SPEED_PORT = 6;
     public static final int DECREASE_SHOOTER_SPEED_PORT = 2;
     public final static int REVERSE_INTAKE_PORT = 4;
     public static final int INCREASE_SHOOTER_SPEED_PORT = 6;
     public static final int DECREASE_SHOOTER_SPEED_PORT = 2;
+    public static final int BRAKE_CANTALONS_PORT = 5;
+    public static final int COAST_CANTALONS_PORT = 3;
   }
 
   public static class Shooter {
   }
 
   public static class Shooter {
index c608b86b8d1767a8eeab2c2b268693ef6ce74d0e..a1abe0ad63a7b3e3a1fd22c450c5b547402d0a71 100644 (file)
@@ -1,6 +1,7 @@
 package org.usfirst.frc.team3501.robot;
 
 package org.usfirst.frc.team3501.robot;
 
-import org.usfirst.frc.team3501.robot.commands.climber.ToggleWinch;
+import org.usfirst.frc.team3501.robot.commands.driving.BrakeCANTalons;
+import org.usfirst.frc.team3501.robot.commands.driving.CoastCANTalons;
 import org.usfirst.frc.team3501.robot.commands.driving.ToggleGear;
 import org.usfirst.frc.team3501.robot.commands.intake.ReverseIntakeContinuous;
 import org.usfirst.frc.team3501.robot.commands.intake.RunIntakeContinuous;
 import org.usfirst.frc.team3501.robot.commands.driving.ToggleGear;
 import org.usfirst.frc.team3501.robot.commands.intake.ReverseIntakeContinuous;
 import org.usfirst.frc.team3501.robot.commands.intake.RunIntakeContinuous;
@@ -18,7 +19,6 @@ public class OI {
   private static OI oi;
   public static Joystick leftJoystick;
   public static Joystick rightJoystick;
   private static OI oi;
   public static Joystick leftJoystick;
   public static Joystick rightJoystick;
-  public static Button toggleWinch;
 
   public static Button runIndexWheel;
   public static Button reverseIndexWheel;
 
   public static Button runIndexWheel;
   public static Button reverseIndexWheel;
@@ -32,6 +32,9 @@ public class OI {
   public static Button increaseShooterSpeed;
   public static Button decreaseShooterSpeed;
 
   public static Button increaseShooterSpeed;
   public static Button decreaseShooterSpeed;
 
+  public static Button brakeCANTalons;
+  public static Button coastCANTalons;
+
   public OI() {
     leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT);
     rightJoystick = new Joystick(Constants.OI.RIGHT_STICK_PORT);
   public OI() {
     leftJoystick = new Joystick(Constants.OI.LEFT_STICK_PORT);
     rightJoystick = new Joystick(Constants.OI.RIGHT_STICK_PORT);
@@ -59,10 +62,6 @@ public class OI {
         Constants.OI.REVERSE_INTAKE_PORT);
     reverseIntake.whileHeld(new ReverseIntakeContinuous());
 
         Constants.OI.REVERSE_INTAKE_PORT);
     reverseIntake.whileHeld(new ReverseIntakeContinuous());
 
-    toggleWinch = new JoystickButton(leftJoystick,
-        Constants.OI.TOGGLE_WINCH_PORT);
-    toggleWinch.whenPressed(new ToggleWinch());
-
     increaseShooterSpeed = new JoystickButton(leftJoystick,
         Constants.OI.INCREASE_SHOOTER_SPEED_PORT);
     increaseShooterSpeed.whenPressed(new IncreaseShootingSpeed());
     increaseShooterSpeed = new JoystickButton(leftJoystick,
         Constants.OI.INCREASE_SHOOTER_SPEED_PORT);
     increaseShooterSpeed.whenPressed(new IncreaseShootingSpeed());
@@ -70,6 +69,14 @@ public class OI {
     decreaseShooterSpeed = new JoystickButton(leftJoystick,
         Constants.OI.DECREASE_SHOOTER_SPEED_PORT);
     decreaseShooterSpeed.whenPressed(new DecreaseShootingSpeed());
     decreaseShooterSpeed = new JoystickButton(leftJoystick,
         Constants.OI.DECREASE_SHOOTER_SPEED_PORT);
     decreaseShooterSpeed.whenPressed(new DecreaseShootingSpeed());
+
+    brakeCANTalons = new JoystickButton(rightJoystick,
+        Constants.OI.BRAKE_CANTALONS_PORT);
+    brakeCANTalons.whenPressed(new BrakeCANTalons());
+
+    coastCANTalons = new JoystickButton(rightJoystick,
+        Constants.OI.COAST_CANTALONS_PORT);
+    coastCANTalons.whenPressed(new CoastCANTalons());
   }
 
   public static OI getOI() {
   }
 
   public static OI getOI() {
index 24eca3c88ea8f863ad58c6b612f7d527dae930e6..a8c48643019bffbf7786a505e4264316be539b42 100644 (file)
@@ -23,9 +23,12 @@ public class Robot extends IterativeRobot {
     oi = OI.getOI();
     shooter = Shooter.getShooter();
     intake = Intake.getIntake();
     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);
     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() {
   }
 
   public static DriveTrain getDriveTrain() {
@@ -49,6 +52,7 @@ public class Robot extends IterativeRobot {
   @Override
   public void autonomousInit() {
     driveTrain.setHighGear();
   @Override
   public void autonomousInit() {
     driveTrain.setHighGear();
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
   }
 
   @Override
   }
 
   @Override
@@ -58,19 +62,36 @@ public class Robot extends IterativeRobot {
 
   @Override
   public void teleopInit() {
 
   @Override
   public void teleopInit() {
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
   }
 
   @Override
   public void teleopPeriodic() {
   }
 
   @Override
   public void teleopPeriodic() {
+    // driveTrain.printEncoderOutput();
     Scheduler.getInstance().run();
     updateSmartDashboard();
   }
 
     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() {
   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("angle", driveTrain.getAngle());
     SmartDashboard.putNumber("voltage",
         DriverStation.getInstance().getBatteryVoltage());
     SmartDashboard.putNumber("rpm", shooter.getShooterRPM());
-    SmartDashboard.putNumber("motor value", shooter.getTargetShootingSpeed());
+    SmartDashboard.putNumber("target shooting",
+        shooter.getTargetShootingSpeed());
   }
 }
   }
 }
index 66c8364b1a37e78bcf993b5d4414e29d172322a7..3e60406cc66e332167c465d59dae56d08311b13f 100644 (file)
@@ -34,7 +34,7 @@ public class ToggleWinch extends Command {
 
   @Override
   protected boolean isFinished() {
 
   @Override
   protected boolean isFinished() {
-    return Robot.getOI().toggleWinch.get();
+    return false;
   }
 
   @Override
   }
 
   @Override
diff --git a/src/org/usfirst/frc/team3501/robot/commands/driving/BrakeCANTalons.java b/src/org/usfirst/frc/team3501/robot/commands/driving/BrakeCANTalons.java
new file mode 100644 (file)
index 0000000..0a19e57
--- /dev/null
@@ -0,0 +1,39 @@
+package org.usfirst.frc.team3501.robot.commands.driving;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+/**
+ *
+ */
+public class BrakeCANTalons extends Command {
+  private DriveTrain driveTrain = Robot.getDriveTrain();
+
+  public BrakeCANTalons() {
+    requires(driveTrain);
+  }
+
+  @Override
+  protected void initialize() {
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
+  }
+
+  @Override
+  protected void execute() {
+  }
+
+  @Override
+  protected boolean isFinished() {
+    return true;
+  }
+
+  @Override
+  protected void end() {
+  }
+
+  @Override
+  protected void interrupted() {
+  }
+}
diff --git a/src/org/usfirst/frc/team3501/robot/commands/driving/CoastCANTalons.java b/src/org/usfirst/frc/team3501/robot/commands/driving/CoastCANTalons.java
new file mode 100644 (file)
index 0000000..ea676f2
--- /dev/null
@@ -0,0 +1,39 @@
+package org.usfirst.frc.team3501.robot.commands.driving;
+
+import org.usfirst.frc.team3501.robot.Robot;
+import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
+
+import edu.wpi.first.wpilibj.command.Command;
+
+/**
+ *
+ */
+public class CoastCANTalons extends Command {
+  private DriveTrain driveTrain = Robot.getDriveTrain();
+
+  public CoastCANTalons() {
+    requires(driveTrain);
+  }
+
+  @Override
+  protected void initialize() {
+    driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
+  }
+
+  @Override
+  protected void execute() {
+  }
+
+  @Override
+  protected boolean isFinished() {
+    return true;
+  }
+
+  @Override
+  protected void end() {
+  }
+
+  @Override
+  protected void interrupted() {
+  }
+}
index d2d386ab040422c72ac3a7863dcc7d8262022f67..815577e24d63cfde14158f23d4d66400b75a636e 100644 (file)
@@ -53,7 +53,6 @@ public class RunIndexWheelContinuous extends Command {
   @Override
   protected boolean isFinished() {
     return false;
   @Override
   protected boolean isFinished() {
     return false;
-
   }
 
 }
   }
 
 }
index 5422e973078ba2d99b0d9556732de89a0d8d4b31..bad303aebe622f0db77aa8a41d45e79b92c68325 100644 (file)
@@ -29,6 +29,9 @@ public class DriveTrain extends Subsystem {
   public static final double TIME_TO_CLIMB_FOR = 0;
   public static final double CLIMBER_SPEED = 0;
 
   public static final double TIME_TO_CLIMB_FOR = 0;
   public static final double CLIMBER_SPEED = 0;
 
+  public static final boolean DRIVE_BRAKE_MODE = true;
+  public static final boolean DRIVE_COAST_MODE = false;
+
   private static DriveTrain driveTrain;
 
   private final CANTalon frontLeft, frontRight, rearLeft, rearRight;
   private static DriveTrain driveTrain;
 
   private final CANTalon frontLeft, frontRight, rearLeft, rearRight;
@@ -185,7 +188,6 @@ public class DriveTrain extends Subsystem {
    * Changes the gear to a DoubleSolenoid.Value
    */
   private void changeGear(DoubleSolenoid.Value gear) {
    * Changes the gear to a DoubleSolenoid.Value
    */
   private void changeGear(DoubleSolenoid.Value gear) {
-    System.out.println(gear);
     leftGearPiston.set(gear);
     rightGearPiston.set(gear);
   }
     leftGearPiston.set(gear);
     rightGearPiston.set(gear);
   }
@@ -194,4 +196,12 @@ public class DriveTrain extends Subsystem {
   protected void initDefaultCommand() {
     setDefaultCommand(new JoystickDrive());
   }
   protected void initDefaultCommand() {
     setDefaultCommand(new JoystickDrive());
   }
+
+  public void setCANTalonsBrakeMode(boolean mode) {
+    frontLeft.enableBrakeMode(mode);
+    rearLeft.enableBrakeMode(mode);
+
+    frontRight.enableBrakeMode(mode);
+    rearRight.enableBrakeMode(mode);
+  }
 }
 }
index adfdb341862f933a03094392848cdfe80ec37328..bf743b1a3195139d8ec59c73f4d5f713087458e3 100644 (file)
@@ -18,9 +18,9 @@ public class Shooter extends Subsystem {
   private PIDController wheelController;
 
   private static final double RPM_THRESHOLD = 10;
   private PIDController wheelController;
 
   private static final double RPM_THRESHOLD = 10;
-  private static final double DEFAULT_INDEXING_MOTOR_VALUE = -0.75;
+  private static final double DEFAULT_INDEXING_MOTOR_VALUE = 0.75;
   private static final double DEFAULT_SHOOTING_SPEED = 2800; // rpm
   private static final double DEFAULT_SHOOTING_SPEED = 2800; // rpm
-  private static final double SHOOTING_SPEED_INCREMENT = 25;
+  private static final double SHOOTING_SPEED_INCREMENT = 50;
 
   private double targetShootingSpeed = DEFAULT_SHOOTING_SPEED;
   private double currentShooterMotorValue = 0;
 
   private double targetShootingSpeed = DEFAULT_SHOOTING_SPEED;
   private double currentShooterMotorValue = 0;