competition fixes
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
CommitLineData
38a404b3
KZ
1package org.usfirst.frc.team3501.robot;
2
9ca89e45
CZ
3import org.usfirst.frc.team3501.robot.commandgroups.AutonMiddleGear;
4import org.usfirst.frc.team3501.robot.commandgroups.AutonSideGear;
150f450f
CZ
5import org.usfirst.frc.team3501.robot.commands.driving.TimeDrive;
6import org.usfirst.frc.team3501.robot.subsystems.Climber;
cca02549 7import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
6f3b6d29 8import org.usfirst.frc.team3501.robot.subsystems.Intake;
079a8cb6 9import org.usfirst.frc.team3501.robot.subsystems.Shooter;
6acd1f1b 10
5d967c55
CZ
11import edu.wpi.cscore.UsbCamera;
12import edu.wpi.first.wpilibj.CameraServer;
1782cbad 13import edu.wpi.first.wpilibj.DriverStation;
38a404b3 14import edu.wpi.first.wpilibj.IterativeRobot;
9ca89e45 15import edu.wpi.first.wpilibj.command.Command;
38a404b3 16import edu.wpi.first.wpilibj.command.Scheduler;
9ca89e45 17import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
1782cbad 18import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
38a404b3
KZ
19
20public class Robot extends IterativeRobot {
6acd1f1b 21 private static DriveTrain driveTrain;
414d5638 22 private static Shooter shooter;
6acd1f1b 23 private static OI oi;
6f3b6d29 24 private static Intake intake;
150f450f 25 private static Climber climber;
38a404b3 26
9ca89e45
CZ
27 Command autonCommand;
28 SendableChooser autonChooser;
29
38a404b3
KZ
30 @Override
31 public void robotInit() {
6acd1f1b
CZ
32 driveTrain = DriveTrain.getDriveTrain();
33 oi = OI.getOI();
079a8cb6 34 shooter = Shooter.getShooter();
6f3b6d29 35 intake = Intake.getIntake();
150f450f 36 climber = Climber.getClimber();
f56e6ebf 37
9ca89e45
CZ
38 autonChooser = new SendableChooser();
39 autonChooser.addDefault("Middle Gear", new AutonMiddleGear());
40 autonChooser.addObject("Red Boiler Gear",
41 new AutonSideGear("RED", "BOILER"));
42 autonChooser.addObject("Red Retrieval Gear",
43 new AutonSideGear("RED", "RETRIEVAL"));
44 autonChooser.addObject("Blue Boiler Gear",
45 new AutonSideGear("BLUE", "BOILER"));
46 autonChooser.addObject("Blue Retrieval Gear",
47 new AutonSideGear("BLUE", "RETRIEVAL"));
48 SmartDashboard.putData("Autonomous Chooser", autonChooser);
49
5d967c55
CZ
50 CameraServer server = CameraServer.getInstance();
51 UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
52 UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
cca02549 53 }
6acd1f1b
CZ
54
55 public static DriveTrain getDriveTrain() {
56 return DriveTrain.getDriveTrain();
cca02549 57 }
6acd1f1b 58
414d5638 59 public static Shooter getShooter() {
60 return Shooter.getShooter();
61 }
62
6acd1f1b
CZ
63 public static OI getOI() {
64 return OI.getOI();
38a404b3
KZ
65 }
66
6f3b6d29 67 public static Intake getIntake() {
7992f152
AD
68 return Intake.getIntake();
69 }
70
150f450f
CZ
71 public static Climber getClimber() {
72 return Climber.getClimber();
73 }
74
38a404b3
KZ
75 @Override
76 public void autonomousInit() {
150f450f 77 driveTrain.setLowGear();
9ca89e45
CZ
78
79 // autonCommand = (Command) autonChooser.getSelected();
150f450f
CZ
80 autonCommand = new TimeDrive(2, 0.6);
81 Scheduler.getInstance().add(autonCommand);
38a404b3
KZ
82 }
83
84 @Override
85 public void autonomousPeriodic() {
86 Scheduler.getInstance().run();
38a404b3
KZ
87 }
88
89 @Override
90 public void teleopInit() {
150f450f 91 driveTrain.setHighGear();
38a404b3
KZ
92 }
93
94 @Override
95 public void teleopPeriodic() {
88ecb8d3 96 Scheduler.getInstance().run();
1782cbad
CZ
97 updateSmartDashboard();
98 }
99
100 public void updateSmartDashboard() {
f56e6ebf
CZ
101 SmartDashboard.putNumber("left encode ",
102 driveTrain.getLeftEncoderDistance());
103 SmartDashboard.putNumber("right encoder",
104 driveTrain.getRightEncoderDistance());
1782cbad
CZ
105 SmartDashboard.putNumber("angle", driveTrain.getAngle());
106 SmartDashboard.putNumber("voltage",
107 DriverStation.getInstance().getBatteryVoltage());
108 SmartDashboard.putNumber("rpm", shooter.getShooterRPM());
f56e6ebf
CZ
109 SmartDashboard.putNumber("target shooting",
110 shooter.getTargetShootingSpeed());
38a404b3
KZ
111 }
112}