update code
[3501/2017steamworks] / src / org / usfirst / frc / team3501 / robot / Robot.java
CommitLineData
38a404b3
KZ
1package org.usfirst.frc.team3501.robot;
2
a4ea9991 3import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance;
cca02549 4import org.usfirst.frc.team3501.robot.subsystems.DriveTrain;
6f3b6d29 5import org.usfirst.frc.team3501.robot.subsystems.Intake;
079a8cb6 6import org.usfirst.frc.team3501.robot.subsystems.Shooter;
6acd1f1b 7
38a404b3
KZ
8import edu.wpi.first.wpilibj.IterativeRobot;
9import edu.wpi.first.wpilibj.command.Scheduler;
34ffcd03 10import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
38a404b3
KZ
11
12public class Robot extends IterativeRobot {
6acd1f1b 13 private static DriveTrain driveTrain;
414d5638 14 private static Shooter shooter;
6acd1f1b 15 private static OI oi;
6f3b6d29 16 private static Intake intake;
38a404b3
KZ
17
18 @Override
19 public void robotInit() {
bc1e5f1b 20 driveTrain = DriveTrain.getDriveTrain();
6acd1f1b 21 oi = OI.getOI();
079a8cb6 22 shooter = Shooter.getShooter();
6f3b6d29 23 intake = Intake.getIntake();
9781fa24 24
576421d8
ES
25 SmartDashboard.putNumber(driveTrain.DRIVE_P_Val, 0.006);
26 SmartDashboard.putNumber(driveTrain.DRIVE_I_Val, 0.0011);
27 SmartDashboard.putNumber(driveTrain.DRIVE_D_Val, -0.002);
28 SmartDashboard.putNumber(driveTrain.DRIVE_GYRO_P_Val, 0.01);
b5ddf3e2 29
63c60c71 30 SmartDashboard.putNumber(driveTrain.DRIVE_TARGET_DIST, 50);
afe0c898 31 SmartDashboard.putNumber(driveTrain.MAX_TIME_OUT, 10);
9781fa24 32
63c60c71
MW
33 SmartDashboard.putNumber(driveTrain.GYRO_P_Val, 0);
34 SmartDashboard.putNumber(driveTrain.GYRO_I_Val, 0);
35 SmartDashboard.putNumber(driveTrain.GYRO_D_Val, 0);
9781fa24 36
cca02549 37 }
6acd1f1b
CZ
38
39 public static DriveTrain getDriveTrain() {
cdb67f48 40 return driveTrain;
cca02549 41 }
6acd1f1b 42
414d5638 43 public static Shooter getShooter() {
44 return Shooter.getShooter();
45 }
46
6acd1f1b
CZ
47 public static OI getOI() {
48 return OI.getOI();
38a404b3
KZ
49 }
50
6f3b6d29 51 public static Intake getIntake() {
7992f152
AD
52 return Intake.getIntake();
53 }
54
538715b1
AD
55 // If the gear values do not match in the left and right piston, then they are
56 // both set to high gear
38a404b3
KZ
57 @Override
58 public void autonomousInit() {
576421d8 59 System.out.println("AUTON INIT");
202468a5 60 driveTrain.setHighGear();
2fe295a6 61
c9cdc810 62 double driveP = SmartDashboard.getNumber(driveTrain.DRIVE_P_Val,
63c60c71
MW
63 driveTrain.PID_ERROR);
64 double driveI = SmartDashboard.getNumber(driveTrain.DRIVE_I_Val,
65 driveTrain.PID_ERROR);
66 double driveD = SmartDashboard.getNumber(driveTrain.DRIVE_D_Val,
67 driveTrain.PID_ERROR);
68
69 double gyroP = SmartDashboard.getNumber(driveTrain.GYRO_P_Val,
70 driveTrain.PID_ERROR);
71 double gyroI = SmartDashboard.getNumber(driveTrain.GYRO_I_Val,
72 driveTrain.PID_ERROR);
73 double gyroD = SmartDashboard.getNumber(driveTrain.GYRO_D_Val,
74 driveTrain.PID_ERROR);
75
afe0c898 76 double setpoint = SmartDashboard.getNumber(driveTrain.DRIVE_TARGET_DIST,
63c60c71 77 driveTrain.PID_ERROR);
afe0c898 78 double maxTimeOut = SmartDashboard.getNumber(driveTrain.MAX_TIME_OUT,
63c60c71 79 driveTrain.PID_ERROR);
f9b52969
E
80
81 driveTrain.getDriveController().setName("Drive");
82 driveTrain.getGyroController().setName("Gyro");
f9b52969 83
b5ddf3e2 84 driveTrain.getDriveController().setConstants(driveP, driveI, driveD);
f9b52969 85 driveTrain.getGyroController().setConstants(gyroP, gyroI, gyroD);
09ee7387 86
b5ddf3e2
ES
87 Scheduler.getInstance()
88 .add(new DriveDistance(setpoint, maxTimeOut));
38a404b3
KZ
89 }
90
91 @Override
92 public void autonomousPeriodic() {
93 Scheduler.getInstance().run();
576421d8 94 SmartDashboard.putNumber("angle", driveTrain.getAngle());
38a404b3
KZ
95 }
96
97 @Override
98 public void teleopInit() {
538715b1 99
38a404b3
KZ
100 }
101
102 @Override
103 public void teleopPeriodic() {
88ecb8d3 104 Scheduler.getInstance().run();
38a404b3
KZ
105 }
106}