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() {
36 return DriveTrain
.getDriveTrain();
39 public static Shooter
getShooter() {
40 return Shooter
.getShooter();
43 public static OI
getOI() {
47 public static Intake
getIntake() {
48 return Intake
.getIntake();
51 public static void swapCameraFeed() {
52 if (Intake
.getIntake().getIntakeCameraFeed() == 1) {
53 UsbCamera climberCam
= server
.startAutomaticCapture("climbercam", 1);
54 UsbCamera intakeCam
= server
.startAutomaticCapture("intakecam", 0);
55 Intake
.getIntake().setIntakeCameraFeed(0);
57 UsbCamera climberCam
= server
.startAutomaticCapture("climbercam", 0);
58 UsbCamera intakeCam
= server
.startAutomaticCapture("intakecam", 1);
59 Intake
.getIntake().setIntakeCameraFeed(1);
64 // If the gear values do not match in the left and right piston, then they are
65 // both set to high gear
67 public void autonomousInit() {
68 // driveTrain.setHighGear();
69 // driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
73 public void autonomousPeriodic() {
74 Scheduler
.getInstance().run();
78 public void teleopInit() {
79 // driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
83 public void teleopPeriodic() {
84 // driveTrain.printEncoderOutput();
85 Scheduler
.getInstance().run();
86 updateSmartDashboard();
90 public void disabledInit() {
91 // driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
95 // public void disabledPeriodic() {
96 // Scheduler.getInstance().add(new RunFlyWheel(2));
99 public void updateSmartDashboard() {
100 SmartDashboard
.putNumber("left encode ",
101 driveTrain
.getLeftEncoderDistance());
102 SmartDashboard
.putNumber("right encoder",
103 driveTrain
.getRightEncoderDistance());
104 SmartDashboard
.putNumber("angle", driveTrain
.getAngle());
105 SmartDashboard
.putNumber("voltage",
106 DriverStation
.getInstance().getBatteryVoltage());
107 SmartDashboard
.putNumber("rpm", shooter
.getShooterRPM());
108 SmartDashboard
.putNumber("target shooting",
109 shooter
.getTargetShootingSpeed());