1 package org
.usfirst
.frc
.team3501
.robot
;
3 import org
.usfirst
.frc
.team3501
.robot
.commands
.driving
.DriveDistance
;
4 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.DriveTrain
;
5 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.Intake
;
6 import org
.usfirst
.frc
.team3501
.robot
.subsystems
.Shooter
;
8 import edu
.wpi
.first
.wpilibj
.IterativeRobot
;
9 import edu
.wpi
.first
.wpilibj
.command
.Scheduler
;
10 import edu
.wpi
.first
.wpilibj
.smartdashboard
.SmartDashboard
;
12 public class Robot
extends IterativeRobot
{
13 private static DriveTrain driveTrain
;
14 private static Shooter shooter
;
16 private static Intake intake
;
19 public void robotInit() {
20 driveTrain
= DriveTrain
.getDriveTrain();
22 shooter
= Shooter
.getShooter();
23 intake
= Intake
.getIntake();
25 SmartDashboard
.putNumber(driveTrain
.DRIVE_P_Val
, 0);
26 SmartDashboard
.putNumber(driveTrain
.DRIVE_I_Val
, 0);
27 SmartDashboard
.putNumber(driveTrain
.DRIVE_D_Val
, 0);
28 SmartDashboard
.putNumber(driveTrain
.DRIVE_TARGET_DIST
, 50);
29 SmartDashboard
.putNumber(driveTrain
.DRIVE_MOTOR_VAL
, 0.5);
31 SmartDashboard
.putNumber(driveTrain
.GYRO_P_Val
, 0);
32 SmartDashboard
.putNumber(driveTrain
.GYRO_I_Val
, 0);
33 SmartDashboard
.putNumber(driveTrain
.GYRO_D_Val
, 0);
37 public static DriveTrain
getDriveTrain() {
41 public static Shooter
getShooter() {
42 return Shooter
.getShooter();
45 public static OI
getOI() {
49 public static Intake
getIntake() {
50 return Intake
.getIntake();
53 // If the gear values do not match in the left and right piston, then they are
54 // both set to high gear
56 public void autonomousInit() {
57 driveTrain
.setHighGear();
59 double driveP
= SmartDashboard
.getNumber(driveTrain
.DRIVE_D_Val
,
60 driveTrain
.PID_ERROR
);
61 double driveI
= SmartDashboard
.getNumber(driveTrain
.DRIVE_I_Val
,
62 driveTrain
.PID_ERROR
);
63 double driveD
= SmartDashboard
.getNumber(driveTrain
.DRIVE_D_Val
,
64 driveTrain
.PID_ERROR
);
66 double gyroP
= SmartDashboard
.getNumber(driveTrain
.GYRO_P_Val
,
67 driveTrain
.PID_ERROR
);
68 double gyroI
= SmartDashboard
.getNumber(driveTrain
.GYRO_I_Val
,
69 driveTrain
.PID_ERROR
);
70 double gyroD
= SmartDashboard
.getNumber(driveTrain
.GYRO_D_Val
,
71 driveTrain
.PID_ERROR
);
73 double Setpoint
= SmartDashboard
.getNumber(driveTrain
.DRIVE_TARGET_DIST
,
74 driveTrain
.PID_ERROR
);
75 double Speed
= SmartDashboard
.getNumber(driveTrain
.DRIVE_MOTOR_VAL
,
76 driveTrain
.PID_ERROR
);
78 driveTrain
.getDriveController().setName("Drive");
79 driveTrain
.getGyroController().setName("Gyro");
81 driveTrain
.getDriveController().setConstants(driveP
, driveI
, driveD
);
83 driveTrain
.getGyroController().setConstants(gyroP
, gyroI
, gyroD
);
85 Scheduler
.getInstance().add(new DriveDistance(Setpoint
, Speed
));
87 SmartDashboard
.putNumber(Constants
.DriveTrain
.P_Val
, 0);
88 SmartDashboard
.putNumber(Constants
.DriveTrain
.I_Val
, 0);
89 SmartDashboard
.putNumber(Constants
.DriveTrain
.D_Val
, 0);
90 SmartDashboard
.putNumber(Constants
.DriveTrain
.TARGET_DIST
, 50);
91 SmartDashboard
.putNumber(Constants
.DriveTrain
.MOTOR_VAL
, 0.5);
96 public void autonomousPeriodic() {
97 Scheduler
.getInstance().run();
102 public void teleopInit() {
107 public void teleopPeriodic() {
108 Scheduler
.getInstance().run();