X-Git-Url: http://challenge-bot.com/repos/?a=blobdiff_plain;f=src%2Forg%2Fusfirst%2Ffrc%2Fteam3501%2Frobot%2FRobot.java;h=1f86b9bcf71889f6d610a76a737a211a0ce58ea5;hb=b3bdd589f32d9c152d05388ae3ad0d9e56ec833c;hp=9d97660caace18d282b4bef5fdf54e6f2503b47c;hpb=e47f08624fbbed80748c806f54fa79112bac8724;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 9d97660c..1f86b9bc 100644 --- a/src/org/usfirst/frc/team3501/robot/Robot.java +++ b/src/org/usfirst/frc/team3501/robot/Robot.java @@ -1,130 +1,140 @@ package org.usfirst.frc.team3501.robot; import org.usfirst.frc.team3501.robot.Constants.Defense; +import org.usfirst.frc.team3501.robot.commands.driving.JoystickDrive; +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.Compressor; import edu.wpi.first.wpilibj.IterativeRobot; 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 { - public static OI oi; - public static DriveTrain driveTrain; - public static Shooter shooter; - public static Scaler scaler; - public static IntakeArm intakeArm; - - // Sendable Choosers send a drop down menu to the Smart Dashboard. - SendableChooser positionChooser; - SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense, positionFourDefense, - positionFiveDefense; - - @Override - public void robotInit() { - driveTrain = new DriveTrain(); - oi = new OI(); - shooter = new Shooter(); - scaler = new Scaler(); - intakeArm = new IntakeArm(); - - // Sendable Choosers allows the driver to select the position of the - // robot - // and the positions of the defenses from a drop-down menu on the Smart - // Dashboard - // make the Sendable Choosers - initializeSendableChoosers(); - addPositionChooserOptions(); - addDefensesToAllDefenseSendableChooosers(); - sendSendableChoosersToSmartDashboard(); - - } - - private void initializeSendableChoosers() { - positionChooser = new SendableChooser(); - positionOneDefense = new SendableChooser(); - positionTwoDefense = new SendableChooser(); - positionThreeDefense = new SendableChooser(); - positionFourDefense = new SendableChooser(); - positionFiveDefense = new SendableChooser(); - } - - 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 addDefensesToAllDefenseSendableChooosers() { - addDefenseOptions(positionOneDefense); - addDefenseOptions(positionTwoDefense); - addDefenseOptions(positionThreeDefense); - addDefenseOptions(positionFourDefense); - addDefenseOptions(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); - } - - private void sendSendableChoosersToSmartDashboard() { - SmartDashboard.putData("PositionChooser", positionChooser); - SmartDashboard.putData("Position One Defense Chooser", positionOneDefense); - SmartDashboard.putData("Position Two Defense Chooser", positionTwoDefense); - SmartDashboard.putData("Position Three Defense Chooser", positionThreeDefense); - SmartDashboard.putData("Position Four Defense Chooser", positionFourDefense); - SmartDashboard.putData("Position Five Defense Chooser", positionFiveDefense); - } - - @Override - public void autonomousInit() { - Scheduler.getInstance().run(); - - // get options chosen from drop down menu - Integer chosenPosition = (Integer) positionChooser.getSelected(); - Integer chosenDefense = 0; - - switch (chosenPosition) { - case 1: - chosenDefense = (Integer) positionOneDefense.getSelected(); - case 2: - chosenDefense = (Integer) positionTwoDefense.getSelected(); - case 3: - chosenDefense = (Integer) positionThreeDefense.getSelected(); - case 4: - chosenDefense = (Integer) positionFourDefense.getSelected(); - case 5: - chosenDefense = (Integer) positionFiveDefense.getSelected(); - } - - System.out.println("Chosen Position: " + chosenPosition); - System.out.println("Chosen Defense: " + chosenDefense); - } - - @Override - public void autonomousPeriodic() { - Scheduler.getInstance().run(); - } - - @Override - public void teleopInit() { - } - - @Override - public void teleopPeriodic() { - Scheduler.getInstance().run(); - - } + public static OI oi; + public static DriveTrain driveTrain; + public static Shooter shooter; + + public static Scaler scaler; + + public static IntakeArm intakeArm; + public static DefenseArm defenseArm; + + public static Compressor compressor; + + // Sendable Choosers send a drop down menu to the Smart Dashboard. + SendableChooser positionChooser; + SendableChooser positionOneDefense, positionTwoDefense, positionThreeDefense, + positionFourDefense, positionFiveDefense; + + @Override + public void robotInit() { + driveTrain = new DriveTrain(); + oi = new OI(); + + // shooter = new Shooter(); + // scaler = new Scaler(); + // intakeArm = new IntakeArm(); + // + // initializeSendableChoosers(); + // addPositionChooserOptions(); + // addDefensesToAllDefenseSendableChoosers(); + // sendSendableChoosersToSmartDashboard(); + compressor = new Compressor(); + + } + + private void initializeSendableChoosers() { + positionChooser = new SendableChooser(); + positionOneDefense = new SendableChooser(); + positionTwoDefense = new SendableChooser(); + positionThreeDefense = new SendableChooser(); + positionFourDefense = new SendableChooser(); + positionFiveDefense = new SendableChooser(); + } + + 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); + } + + 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); + } + + private void sendSendableChoosersToSmartDashboard() { + SmartDashboard.putData("PositionChooser", positionChooser); + SmartDashboard.putData("Position One Defense Chooser", positionOneDefense); + SmartDashboard.putData("Position Two Defense Chooser", positionTwoDefense); + SmartDashboard.putData("Position Three Defense Chooser", + positionThreeDefense); + SmartDashboard.putData("Position Four Defense Chooser", + positionFourDefense); + SmartDashboard.putData("Position Five Defense Chooser", + positionFiveDefense); + + SmartDashboard.putData("Position Four Defense Chooser", + positionFourDefense); + SmartDashboard.putData("Position Five Defense Chooser", + positionFiveDefense); + + shooter = new Shooter(); + + } + + @Override + public void autonomousInit() { + Scheduler.getInstance().run(); + + // Scheduler.getInstance().add(new DriveDistance(24, 5)); + // Scheduler.getInstance().add(new DriveForTime(2, 0.3)); + // Scheduler.getInstance().add(new TurnForAngle(90, 5)); + // Scheduler.getInstance().add( + // new TurnForTime(3, Constants.Direction.RIGHT, 0.3)); + // Scheduler.getInstance().add( + // new TurnForTime(3, Constants.Direction.LEFT, 0.3)); + // Scheduler.getInstance().add(new Turn180()); + } + + @Override + public void autonomousPeriodic() { + Scheduler.getInstance().run(); + } + + @Override + public void teleopInit() { + + Scheduler.getInstance().add(new JoystickDrive()); + compressor.start(); + driveTrain.leftGearPiston.set(Constants.DriveTrain.HIGH_GEAR); + driveTrain.rightGearPiston.set(Constants.DriveTrain.HIGH_GEAR); + } + + @Override + public void teleopPeriodic() { + Scheduler.getInstance().run(); + } + }