X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2FRobot.java;h=a9a878d22045adc794f5543b5b9e0808f78af893;hb=9742fe2ec09da63a719afbb635894e9bacab3bb8;hp=6b9a28e720eaee68932c6ab9dcb6046eb48d7702;hpb=e13d2293a5775dc03699d668bf9839f86b7f3f69;p=3501%2Fstronghold-2016 diff --git a/src/org/usfirst/frc/team3501/robot/Robot.java b/src/org/usfirst/frc/team3501/robot/Robot.java index 6b9a28e7..a9a878d2 100644 --- a/src/org/usfirst/frc/team3501/robot/Robot.java +++ b/src/org/usfirst/frc/team3501/robot/Robot.java @@ -1,8 +1,13 @@ package org.usfirst.frc.team3501.robot; -import org.usfirst.frc.team3501.robot.Constants.DriveTrain; +import org.usfirst.frc.team3501.robot.Constants.Defense; +import org.usfirst.frc.team3501.robot.subsystems.DefenseArm; +import org.usfirst.frc.team3501.robot.subsystems.DriveTrain; +import org.usfirst.frc.team3501.robot.subsystems.IntakeArm; +import org.usfirst.frc.team3501.robot.subsystems.Scaler; import org.usfirst.frc.team3501.robot.subsystems.Shooter; +import edu.wpi.first.wpilibj.I2C; import edu.wpi.first.wpilibj.IterativeRobot; import edu.wpi.first.wpilibj.command.Scheduler; import edu.wpi.first.wpilibj.smartdashboard.SendableChooser; @@ -13,46 +18,73 @@ public class Robot extends IterativeRobot { public static DriveTrain driveTrain; public static Shooter shooter; - enum Defense { - PORTCULLIS, SALLY_PORT, ROUGH_TERRAIN, LOW_BAR, CHEVAL_DE_FRISE, DRAWBRIDGE, MOAT, ROCK_WALL - }; + public static Scaler scaler; - SendableChooser positionOneDefense; - SendableChooser positionTwoDefense; - SendableChooser positionThreeDefense; - SendableChooser positionFourDefense; - SendableChooser positionFiveDefense; + public static IntakeArm intakeArm; + public static DefenseArm defenseArm; + + // Sendable Choosers send a drop down menu to the Smart Dashboard. SendableChooser positionChooser; + SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense, + positionFourDefense, positionFiveDefense; + + // Gyro stuff + public GyroLib gyro; @Override public void robotInit() { driveTrain = new DriveTrain(); oi = new OI(); + gyro = new GyroLib(I2C.Port.kOnboard, false); + shooter = new Shooter(); + scaler = new Scaler(); + intakeArm = new IntakeArm(); + + initializeSendableChoosers(); + addPositionChooserOptions(); + addDefensesToAllDefenseSendableChoosers(); + sendSendableChoosersToSmartDashboard(); + + } - // intialize all the Sendable Choosers + private void initializeSendableChoosers() { positionChooser = new SendableChooser(); positionOneDefense = new SendableChooser(); positionTwoDefense = new SendableChooser(); positionThreeDefense = new SendableChooser(); positionFourDefense = new SendableChooser(); positionFiveDefense = new SendableChooser(); + } - // add options for positions to the positionChooser + private void addPositionChooserOptions() { positionChooser.addDefault("Position 1", 1); positionChooser.addObject("Position 2", 2); positionChooser.addObject("Position 3", 3); positionChooser.addObject("Position 4", 4); positionChooser.addObject("Position 5", 5); + } + + private void addDefensesToAllDefenseSendableChoosers() { + addDefenseOptions(positionOneDefense); + addDefenseOptions(positionTwoDefense); + addDefenseOptions(positionThreeDefense); + addDefenseOptions(positionFourDefense); + addDefenseOptions(positionFiveDefense); + } - // add options for defenses into each defense chooser (5) - addDefense(positionOneDefense); - addDefense(positionTwoDefense); - addDefense(positionThreeDefense); - addDefense(positionFourDefense); - addDefense(positionFiveDefense); + private void addDefenseOptions(SendableChooser chooser) { + chooser.addDefault("Portcullis", Defense.PORTCULLIS); + chooser.addObject("Sally Port", Defense.SALLY_PORT); + chooser.addObject("Rough Terrain", Defense.ROUGH_TERRAIN); + chooser.addObject("Low Bar", Defense.LOW_BAR); + chooser.addObject("Cheval De Frise", Defense.CHEVAL_DE_FRISE); + chooser.addObject("Drawbridge", Defense.DRAWBRIDGE); + chooser.addObject("Moat", Defense.MOAT); + chooser.addObject("Rock Wall", Defense.ROCK_WALL); + } - // send the Sendable Choosers to the Smart Dashboard + private void sendSendableChoosersToSmartDashboard() { SmartDashboard.putData("PositionChooser", positionChooser); SmartDashboard.putData("Position One Defense Chooser", positionOneDefense); SmartDashboard.putData("Position Two Defense Chooser", positionTwoDefense); @@ -62,17 +94,14 @@ public class Robot extends IterativeRobot { positionFourDefense); SmartDashboard.putData("Position Five Defense Chooser", positionFiveDefense); - } - private void addDefense(SendableChooser chooser) { - chooser.addDefault("Portcullis", Defense.PORTCULLIS); - chooser.addObject("Sally Port", Defense.SALLY_PORT); - chooser.addObject("Rough Terrain", Defense.ROUGH_TERRAIN); - chooser.addObject("Low Bar", Defense.LOW_BAR); - chooser.addObject("Cheval De Frise", Defense.CHEVAL_DE_FRISE); - chooser.addObject("Drawbridge", Defense.DRAWBRIDGE); - chooser.addObject("Moat", Defense.MOAT); - chooser.addObject("Rock Wall", Defense.ROCK_WALL); + SmartDashboard.putData("Position Four Defense Chooser", + positionFourDefense); + SmartDashboard.putData("Position Five Defense Chooser", + positionFiveDefense); + + shooter = new Shooter(); + } @Override @@ -83,16 +112,18 @@ public class Robot extends IterativeRobot { Integer chosenPosition = (Integer) positionChooser.getSelected(); Integer chosenDefense = 0; - if (chosenPosition == 1) + switch (chosenPosition) { + case 1: chosenDefense = (Integer) positionOneDefense.getSelected(); - if (chosenPosition == 2) + case 2: chosenDefense = (Integer) positionTwoDefense.getSelected(); - if (chosenPosition == 3) + case 3: chosenDefense = (Integer) positionThreeDefense.getSelected(); - if (chosenPosition == 4) + case 4: chosenDefense = (Integer) positionFourDefense.getSelected(); - if (chosenPosition == 5) + case 5: chosenDefense = (Integer) positionFiveDefense.getSelected(); + } System.out.println("Chosen Position: " + chosenPosition); System.out.println("Chosen Defense: " + chosenDefense); @@ -105,16 +136,16 @@ public class Robot extends IterativeRobot { @Override public void teleopInit() { - System.out.println("running teleopInit"); + + gyro.start(); + } @Override public void teleopPeriodic() { Scheduler.getInstance().run(); - } - - public void operate() { + System.out.println("Degrees: " + gyro.getRotationZ().getAngle()); }