1 package org
.usfirst
.frc
.team3501
.robot
;
3 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.DriveTrain
;
4 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.Intake
;
5 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.Shooter
;
7 import edu
.wpi
.cscore
.UsbCamera
;
8 import edu
.wpi
.first
.wpilibj
.CameraServer
;
9 import edu
.wpi
.first
.wpilibj
.DriverStation
;
10 import edu
.wpi
.first
.wpilibj
.IterativeRobot
;
11 import edu
.wpi
.first
.wpilibj
.command
.Scheduler
;
12 import edu
.wpi
.first
.wpilibj
.smartdashboard
.SmartDashboard
;
14 public class Robot
extends IterativeRobot
{
15 private static DriveTrain driveTrain
;
16 private static Shooter shooter
;
18 private static Intake intake
;
19 private static CameraServer server
;
22 public void robotInit() {
23 driveTrain
= DriveTrain
.getDriveTrain();
25 shooter
= Shooter
.getShooter();
26 intake
= Intake
.getIntake();
28 server
= CameraServer
.getInstance();
29 UsbCamera climberCam
= server
.startAutomaticCapture("climbercam", 0);
30 UsbCamera intakeCam
= server
.startAutomaticCapture("intakecam", 1);
32 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_COAST_MODE
);
35 public static DriveTrain
getDriveTrain() {
37 return DriveTrain
.getDriveTrain();
40 public static Shooter
getShooter() {
41 return Shooter
.getShooter();
44 public static OI
getOI() {
48 public static Intake
getIntake() {
49 return Intake
.getIntake();
52 public static void swapCameraFeed() {
53 UsbCamera climberCam
= server
.startAutomaticCapture("climbercam", 1);
54 UsbCamera intakeCam
= server
.startAutomaticCapture("intakecam", 0);
57 // If the gear values do not match in the left and right piston, then they are
58 // both set to high gear
60 public void autonomousInit() {
61 driveTrain
.setHighGear();
62 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_COAST_MODE
);
66 public void autonomousPeriodic() {
67 Scheduler
.getInstance().run();
71 public void teleopInit() {
72 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_COAST_MODE
);
76 public void teleopPeriodic() {
77 // driveTrain.printEncoderOutput();
78 Scheduler
.getInstance().run();
79 updateSmartDashboard();
83 public void disabledInit() {
84 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_BRAKE_MODE
);
88 // public void disabledPeriodic() {
89 // Scheduler.getInstance().add(new RunFlyWheel(2));
92 public void updateSmartDashboard() {
93 SmartDashboard
.putNumber("left encode ",
94 driveTrain
.getLeftEncoderDistance());
95 SmartDashboard
.putNumber("right encoder",
96 driveTrain
.getRightEncoderDistance());
97 SmartDashboard
.putNumber("angle", driveTrain
.getAngle());
98 SmartDashboard
.putNumber("voltage",
99 DriverStation
.getInstance().getBatteryVoltage());
100 SmartDashboard
.putNumber("rpm", shooter
.getShooterRPM());
101 SmartDashboard
.putNumber("target shooting",
102 shooter
.getTargetShootingSpeed());