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();
63 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_COAST_MODE
);
65 >>>>>>> Add code to toggle agitator pistons in RunIndexWheelContinuous
69 public void autonomousPeriodic() {
70 Scheduler
.getInstance().run();
74 public void teleopInit() {
75 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_COAST_MODE
);
79 public void teleopPeriodic() {
80 // driveTrain.printEncoderOutput();
81 Scheduler
.getInstance().run();
82 updateSmartDashboard();
86 public void disabledInit() {
87 driveTrain
.setCANTalonsBrakeMode(driveTrain
.DRIVE_BRAKE_MODE
);
91 // public void disabledPeriodic() {
92 // Scheduler.getInstance().add(new RunFlyWheel(2));
95 public void updateSmartDashboard() {
96 SmartDashboard
.putNumber("left encode ",
97 driveTrain
.getLeftEncoderDistance());
98 SmartDashboard
.putNumber("right encoder",
99 driveTrain
.getRightEncoderDistance());
100 SmartDashboard
.putNumber("angle", driveTrain
.getAngle());
101 SmartDashboard
.putNumber("voltage",
102 DriverStation
.getInstance().getBatteryVoltage());
103 SmartDashboard
.putNumber("rpm", shooter
.getShooterRPM());
104 SmartDashboard
.putNumber("target shooting",
105 shooter
.getTargetShootingSpeed());