Fix code to swap camera feed
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
CommitLineData
38a404b3
KZ
1package org.usfirst.frc.team3501.robot;
2
cca02549 3import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
6f3b6d29 4import org.usfirst.frc.team3501.robot.subsystems.Intake;
079a8cb6 5import org.usfirst.frc.team3501.robot.subsystems.Shooter;
6acd1f1b 6
5d967c55
CZ
7import edu.wpi.cscore.UsbCamera;
8import edu.wpi.first.wpilibj.CameraServer;
1782cbad 9import edu.wpi.first.wpilibj.DriverStation;
38a404b3
KZ
10import edu.wpi.first.wpilibj.IterativeRobot;
11import edu.wpi.first.wpilibj.command.Scheduler;
1782cbad 12import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
38a404b3
KZ
13
14public class Robot extends IterativeRobot {
6acd1f1b 15 private static DriveTrain driveTrain;
414d5638 16 private static Shooter shooter;
6acd1f1b 17 private static OI oi;
6f3b6d29 18 private static Intake intake;
99930d53 19 private static CameraServer server;
38a404b3
KZ
20
21 @Override
22 public void robotInit() {
6acd1f1b
CZ
23 driveTrain = DriveTrain.getDriveTrain();
24 oi = OI.getOI();
079a8cb6 25 shooter = Shooter.getShooter();
6f3b6d29 26 intake = Intake.getIntake();
f56e6ebf 27
99930d53 28 server = CameraServer.getInstance();
5d967c55
CZ
29 UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
30 UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
f56e6ebf
CZ
31
32 driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
cca02549 33 }
6acd1f1b
CZ
34
35 public static DriveTrain getDriveTrain() {
005d6bf0 36
6acd1f1b 37 return DriveTrain.getDriveTrain();
cca02549 38 }
6acd1f1b 39
414d5638 40 public static Shooter getShooter() {
41 return Shooter.getShooter();
42 }
43
6acd1f1b
CZ
44 public static OI getOI() {
45 return OI.getOI();
38a404b3
KZ
46 }
47
6f3b6d29 48 public static Intake getIntake() {
7992f152
AD
49 return Intake.getIntake();
50 }
51
99930d53 52 public static void swapCameraFeed() {
d1930cd9
RR
53 if (Intake.getIntake().getIntakeCameraFeed() == 1) {
54 UsbCamera climberCam = server.startAutomaticCapture("climbercam", 1);
55 UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 0);
56 Intake.getIntake().setIntakeCameraFeed(0);
57 } else {
58 UsbCamera climberCam = server.startAutomaticCapture("climbercam", 0);
59 UsbCamera intakeCam = server.startAutomaticCapture("intakecam", 1);
60 Intake.getIntake().setIntakeCameraFeed(1);
61 }
62
99930d53
RR
63 }
64
538715b1
AD
65 // If the gear values do not match in the left and right piston, then they are
66 // both set to high gear
38a404b3
KZ
67 @Override
68 public void autonomousInit() {
2d810c3c 69 driveTrain.setHighGear();
f56e6ebf 70 driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
38a404b3
KZ
71 }
72
73 @Override
74 public void autonomousPeriodic() {
75 Scheduler.getInstance().run();
38a404b3
KZ
76 }
77
78 @Override
79 public void teleopInit() {
f56e6ebf 80 driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_COAST_MODE);
38a404b3
KZ
81 }
82
83 @Override
84 public void teleopPeriodic() {
f56e6ebf 85 // driveTrain.printEncoderOutput();
88ecb8d3 86 Scheduler.getInstance().run();
1782cbad
CZ
87 updateSmartDashboard();
88 }
89
f56e6ebf
CZ
90 @Override
91 public void disabledInit() {
92 driveTrain.setCANTalonsBrakeMode(driveTrain.DRIVE_BRAKE_MODE);
93 }
94 //
95 // @Override
96 // public void disabledPeriodic() {
97 // Scheduler.getInstance().add(new RunFlyWheel(2));
98 // }
99
1782cbad 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}