From 3366a59a6d8f355ac8bba05c7011f8458e0c96c0 Mon Sep 17 00:00:00 2001 From: Meryem Esa Date: Sat, 23 Jan 2016 11:45:23 -0800 Subject: [PATCH] add smart dashboard autonomous selection --- src/org/usfirst/frc/team3501/robot/Robot.java | 80 ++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/src/org/usfirst/frc/team3501/robot/Robot.java b/src/org/usfirst/frc/team3501/robot/Robot.java index 79e12d9e..f42d6a41 100644 --- a/src/org/usfirst/frc/team3501/robot/Robot.java +++ b/src/org/usfirst/frc/team3501/robot/Robot.java @@ -5,31 +5,104 @@ import org.usfirst.frc.team3501.robot.subsystems.Shooter; 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; + enum Defense { + PORTCULLIS, SALLY_PORT, ROUGH_TERRAIN, LOW_BAR, CHEVAL_DE_FRISE, DRAWBRIDGE, MOAT, ROCK_WALL + }; + + SendableChooser positionOneDefense; + SendableChooser positionTwoDefense; + SendableChooser positionThreeDefense; + SendableChooser positionFourDefense; + SendableChooser positionFiveDefense; + SendableChooser positionChooser; + @Override public void robotInit() { driveTrain = new DriveTrain(); oi = new OI(); shooter = new Shooter(); + + // intialize all the Sendable Choosers + 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 + 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); + + // add options for defenses into each defense chooser (5) + addDefense(positionOneDefense); + addDefense(positionTwoDefense); + addDefense(positionThreeDefense); + addDefense(positionFourDefense); + addDefense(positionFiveDefense); + + SmartDashboard.putData("Position", positionChooser); + SmartDashboard.putData("Position One Defense", positionOneDefense); + SmartDashboard.putData("Position Two Defense", positionTwoDefense); + SmartDashboard.putData("Position Three Defense", positionThreeDefense); + SmartDashboard.putData("Position Four Defense", positionFourDefense); + SmartDashboard.putData("Position Five Defense", 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); } @Override public void autonomousInit() { + Scheduler.getInstance().run(); + + // get options chosen from drop down menu + Integer chosenPosition = (Integer) positionChooser.getSelected(); + Integer chosenDefense = -1; + + if (chosenPosition == 1) + chosenDefense = (Integer) positionOneDefense.getSelected(); + if (chosenPosition == 2) + chosenDefense = (Integer) positionTwoDefense.getSelected(); + if (chosenPosition == 3) + chosenDefense = (Integer) positionThreeDefense.getSelected(); + if (chosenPosition == 4) + chosenDefense = (Integer) positionFourDefense.getSelected(); + if (chosenPosition == 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() { + System.out.println("running teleopInit"); } @Override @@ -37,4 +110,9 @@ public class Robot extends IterativeRobot { Scheduler.getInstance().run(); } + + public void operate() { + + } + } -- 2.30.2