Skip to content

Commit 4db94b4

Browse files
Make wobble stop doing a finished side, fix logic
1 parent 837f13d commit 4db94b4

1 file changed

Lines changed: 25 additions & 8 deletions

File tree

Robot2019/src/main/java/frc/robot/commands/WobbleDrive.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,16 @@ public class WobbleDrive extends Command {
1818
Timer tim;
1919
boolean leftSideDone;
2020
boolean rightSideDone;
21-
private final double wobbleTime = 0.75; // TODO: Set to actual number
22-
private final double driveSpeed = 0.5; // TODO: Set to actual number
23-
private final double encRateTolerance = 0.5; // TODO: Set to actual number
21+
private final double minTime = 0.2;
22+
private final double wobbleTime = 0.3; // TODO: Set to actual number
23+
private final double driveSpeed = 0.3; // TODO: Set to actual number
24+
private final double encRateTolerance = 1; // TODO: Set to actual number
2425

2526
public WobbleDrive(Drivetrain dt) {
2627
// Use requires() here to declare subsystem dependencies
2728
// eg. requires(chassis);
2829
requires(dt);
2930
this.dt = dt;
30-
leftSideDone = false;
31-
rightSideDone = false;
3231
}
3332

3433
// Called just before this Command runs the first time
@@ -38,18 +37,36 @@ protected void initialize() {
3837
tim.reset();
3938
tim.start();
4039
dt.setWobbleDone(false);
40+
leftSideDone = false;
41+
rightSideDone = false;
4142
}
4243

4344
// Called repeatedly when this Command is scheduled to run
4445
@Override
4546
protected void execute() {
46-
if (tim.get() > wobbleTime) {
47-
boolean done = dt.getEncRate(Side.LEFT) < encRateTolerance && dt.getEncRate(Side.RIGHT) < encRateTolerance;
47+
boolean done = dt.getEncRate(Side.LEFT) < encRateTolerance && dt.getEncRate(Side.RIGHT) < encRateTolerance;
48+
if (tim.get() > minTime) {
4849
if (side == Side.LEFT) {
4950
leftSideDone = done;
50-
side = Side.RIGHT;
5151
} else {
5252
rightSideDone = done;
53+
}
54+
}
55+
if (leftSideDone) {
56+
tim.reset();
57+
tim.start();
58+
side = Side.RIGHT;
59+
}
60+
if (rightSideDone) {
61+
tim.reset();
62+
tim.start();
63+
side = Side.LEFT;
64+
}
65+
66+
if (tim.get() > wobbleTime && (!leftSideDone && !rightSideDone)) {
67+
if (side == Side.LEFT) {
68+
side = Side.RIGHT;
69+
} else {
5370
side = Side.LEFT;
5471
}
5572
tim.reset();

0 commit comments

Comments
 (0)