-
Notifications
You must be signed in to change notification settings - Fork 2
/
Robot.java
111 lines (88 loc) · 2.47 KB
/
Robot.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package org.usfirst.frc.team4585.robot;
import org.usfirst.frc.team4585.model.*;
import org.usfirst.frc.team4585.model.auto.GhostController;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.Timer;
/**
* The VM is configured to automatically run this class, and to call the
* functions corresponding to each mode, as described in the IterativeRobot
* documentation. If you change the name of this class or the package after
* creating this project, you must also update the manifest file in the resource
* directory.
*/
public class Robot extends IterativeRobot {
private final int JOYSTICK_PORT = 0;
private Timer timer = new Timer();
private Joystick joy = new Joystick(JOYSTICK_PORT);
private Chassis chassis = new Chassis(joy, timer);
private Arm arm = new Arm(joy);
private Claw claw = new Claw(joy);
private PositionTracker tracker = new PositionTracker(timer);
private GhostController marcus = new GhostController(chassis, arm, claw);
// private ArmExtender actuator = new ArmExtender(joy);
private Winch winch = new Winch(joy);
private ArmActuator actuator = new ArmActuator(joy);
private Lifters lifters = new Lifters(joy, timer);
/**
* This function is run when the robot is first started up and should be
* used for any initialization code.
*/
@Override
public void robotInit() {
}
/**
* This function is run once each time the robot enters autonomous mode.
*/
@Override
public void autonomousInit() {
marcus.autoInit();
chassis.autoInit();
arm.autoInit();
claw.autoInit();
tracker.autoInit();
actuator.autoInit();
lifters.autoInit();
timer.reset();
timer.start();
}
/**
* This function is called periodically during autonomous.
*/
@Override
public void autonomousPeriodic() {
marcus.doAuto();
chassis.doAuto();
arm.doAuto();
claw.doAuto();
tracker.doAuto();
}
/**
* This function is called once each time the robot enters teleoperated mode.
*/
@Override
public void teleopInit() {
chassis.teleopInit();
arm.teleopInit();
claw.teleopInit();
tracker.teleopInit();
actuator.teleopInit();
}
/**
* This function is called periodically during teleoperated mode.
*/
@Override
public void teleopPeriodic() {
chassis.doTeleop();
arm.doTeleop();
claw.doTeleop();
tracker.doTeleop();
actuator.doTeleop();
}
/**
* This function is called periodically during test mode.
*/
@Override
public void testPeriodic() {
}
}