oops tab -> spaces
[ozzloy@gmail.com/3501-spark-go] / src / org / usfirst / frc / team3501 / robot / Robot.java
index b5ac5b7a98a13dd563a37dfbe2e9e504cd165755..c9c43d42f118444400680bb701d1cc9ceea5fdf0 100644 (file)
@@ -9,32 +9,49 @@ import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
 import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
 
 import org.usfirst.frc.team3501.robot.autons.*;
+import org.usfirst.frc.team3501.robot.commands.*;
 import org.usfirst.frc.team3501.robot.subsystems.*;
+import org.usfirst.frc.team3501.util.AutonData;
 
 public class Robot extends IterativeRobot {
 
-       public static final Drivetrain drivetrain = new Drivetrain();
-       public static final Arm               arm = new Arm();
-       public static final Claw             claw = new Claw();
+    public static Drivetrain drivetrain;
+    public static Arm arm;
+    public static Claw claw;
 
-       public static OI oi;
+    public static Pneumatics pneumatics;
 
-       private SendableChooser autoChooser;
+    public static OI oi;
 
+    public static AutonData autonData;
+
+    private SendableChooser autonChooser;
     private Command autonomousCommand;
 
     public void robotInit() {
-               oi = new OI();
+        drivetrain = new Drivetrain();
+        arm        = new Arm();
+        claw       = new Claw();
+
+        pneumatics = new Pneumatics();
+
+        autonData = new AutonData();
 
-               chooseAuto();
+        oi = new OI();
+
+        chooseAuto();
     }
 
-       public void disabledPeriodic() {
-               Scheduler.getInstance().run();
-       }
+    public void disabledPeriodic() {
+        Scheduler.getInstance().run();
+    }
 
     public void autonomousInit() {
-        autonomousCommand = (Command) autoChooser.getSelected();
+        schedule(new TurnOnCompressor());
+
+        autonData.update();
+
+        autonomousCommand = (Command) autonChooser.getSelected();
         autonomousCommand.start();
     }
 
@@ -43,7 +60,10 @@ public class Robot extends IterativeRobot {
     }
 
     public void teleopInit() {
-        autonomousCommand.cancel();
+        schedule(new TurnOnCompressor());
+
+        if (autonomousCommand != null)
+            autonomousCommand.cancel();
     }
 
     public void teleopPeriodic() {
@@ -55,11 +75,16 @@ public class Robot extends IterativeRobot {
     }
 
     private void chooseAuto() {
-        autoChooser = new SendableChooser();
+        autonChooser = new SendableChooser();
 
-        autoChooser.addDefault("Drive over step", new DriveOverStep());
-        autoChooser.addObject("Drive past step",  new DrivePastStep());
+        autonChooser.addDefault("Pick up container", new ContainerOverStep());
+        autonChooser.addObject("Drive over step",    new DriveOverStep());
+        autonChooser.addObject("Drive past step",    new DrivePastStep());
+
+        SmartDashboard.putData("Auto Mode", autonChooser);
+    }
 
-        SmartDashboard.putData("Auto Mode", autoChooser);
+    private void schedule(Command c) {
+        Scheduler.getInstance().add(c);
     }
 }