be86bc2935465efb2d34ffb38f27dd226baf8456
[3501/stronghold-2016] / src / org / usfirst / frc / team3501 / robot / Robot.java
1 package org.usfirst.frc.team3501.robot;
2
3 import org.usfirst.frc.team3501.robot.commands.driving.SetLowGear;
4 import org.usfirst.frc.team3501.robot.commands.driving.TimeDrive;
5 import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
6 import org.usfirst.frc.team3501.robot.subsystems.IntakeArm;
7 import org.usfirst.frc.team3501.robot.subsystems.Shooter;
8
9 import edu.wpi.first.wpilibj.CameraServer;
10 import edu.wpi.first.wpilibj.IterativeRobot;
11 import edu.wpi.first.wpilibj.command.Scheduler;
12 import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
13 import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
14
15 public class Robot extends IterativeRobot {
16 public static OI oi;
17 public static DriveTrain driveTrain;
18 public static Shooter shooter;
19 public static IntakeArm intakeArm;
20
21 SendableChooser frontChooser;
22 boolean isFront;
23
24 CameraServer cameraServer;
25
26 @Override
27 public void robotInit() {
28 driveTrain = new DriveTrain();
29 shooter = new Shooter();
30 intakeArm = new IntakeArm();
31
32 oi = new OI();
33 isFront = true;
34
35 frontChooser = new SendableChooser();
36 frontChooser.addDefault("Intake is front", false);
37 frontChooser.addObject("Shooter is front", true);
38
39 SmartDashboard.putData("Front chooser", frontChooser);
40
41 cameraServer = CameraServer.getInstance();
42 cameraServer.setQuality(50);
43 cameraServer.startAutomaticCapture();
44
45 }
46
47 @Override
48 public void autonomousInit() {
49 // get options chosen from drop down menu
50
51 isFront = (boolean) frontChooser.getSelected();
52
53 if (!isFront)
54 driveTrain.toggleFlipped();
55
56 Scheduler.getInstance().add(new TimeDrive(.6, 4));
57 }
58
59 @Override
60 public void autonomousPeriodic() {
61
62 Scheduler.getInstance().run();
63 }
64
65 @Override
66 public void teleopInit() {
67 if (!isFront)
68 driveTrain.toggleFlipped();
69 Scheduler.getInstance().add(new SetLowGear());
70 }
71
72 @Override
73 public void teleopPeriodic() {
74 Scheduler.getInstance().run();
75 }
76
77 }