summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-03-12 13:24:58 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2017-03-12 13:24:58 -0400
commitf06d9ac82cc3f02fa6be83a56a9588cdff3c48f4 (patch)
treee7f7ac3402d44454f0cba1d235aaa51ad2a074f4
parent562e8780399da70f0cb22b32667cfa3c65c5de52 (diff)
Autonomous: tidy a bit
-rw-r--r--src/org/usfirst/frc/team4272/robot2017/Autonomous.java17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/org/usfirst/frc/team4272/robot2017/Autonomous.java b/src/org/usfirst/frc/team4272/robot2017/Autonomous.java
index a713f47..901e22a 100644
--- a/src/org/usfirst/frc/team4272/robot2017/Autonomous.java
+++ b/src/org/usfirst/frc/team4272/robot2017/Autonomous.java
@@ -72,30 +72,32 @@ public class Autonomous {
return true;
};
+ Command stop = c->{c.lDrive = c.rDrive = 0; return true;};
+
modeChooser.addObject("Center Peg", robot->new Command[]{
init,
- new TimedCommand(driveDistance(robot, 0.4, 8.75), 6),
- c->{c.lDrive = c.rDrive = 0; return true;},
+ timeout(6.0, driveDistance(robot, 0.4, 8.75)),
+ stop,
c->{c.gedOut = true; return true;},
driveDistance(robot, 0.4, -3),
- c->{c.lDrive = c.rDrive = 0; return true;},
+ stop,
});
modeChooser.addObject("Left Peg", robot->new Command[]{
init,
driveDistance(robot, 0.4, 3.5),
turnDegrees(robot, 0.4, 60),
driveDistance(robot, 0.4, 8.3),
- c->{c.lDrive = c.rDrive = 0; return true;},
+ stop,
});
modeChooser.addObject("Right Peg", robot->new Command[]{
init,
driveDistance(robot, 0.4, 3.5),
turnDegrees(robot, 0.4, -60),
driveDistance(robot, 0.4, 8.3),
- c->{c.lDrive = c.rDrive = 0; return true;},
+ stop,
});
modeChooser.addObject("Stand Still", robot->new Command[]{
- c->{c.lDrive = c.rDrive = 0; return true;},
+ stop,
});
SmartDashboard.putData("Autonomous Mode", modeChooser);
@@ -264,4 +266,7 @@ public class Autonomous {
private static Command turnDegrees(HwRobot robot, double speed, double deg) {
return turnRadians(robot, speed, deg * Math.PI/180);
}
+ private static Command timeout(double secs, Command inner) {
+ return new TimedCommand(inner, secs);
+ }
}