package org.usfirst.frc.team3501.robot.commands;
+import org.usfirst.frc.team3501.robot.commands.driving.DriveDistance;
+import org.usfirst.frc.team3501.robot.commands.driving.TurnForAngle;
+
import edu.wpi.first.wpilibj.command.CommandGroup;
/**
*
*/
public class AlignToScore extends CommandGroup {
+ private final double DIST_CENTER_OF_MASS_TO_FRONT_OF_ROBOT = 0;
+
private final double DEFAULT_SPEED = 0.5;
- // constants for position 1: low bar
+ private final double maxTimeout = 5;
+ // constants for position 1: low bar
private final double POS1_DIST1 = 0;
private final double POS1_TURN1 = 0;
private final double POS1_DIST2 = 0;
// constants for position 2
+ private final double POS2_DIST1 = 0;
+ private final double POS2_TURN1 = 0;
+ private final double POS2_DIST2 = 0;
// constants for position 3
+ private final double POS3_DIST1 = 0;
+ private final double POS3_TURN1 = 0;
+ private final double POS3_DIST2 = 0;
+ private final double POS3_TURN2 = 0;
+ private final double POS3_DIST3 = 0;
// constants for position 4
+ private final double POS4_DIST1 = 0;
+ private final double POS4_TURN1 = 0;
+ private final double POS4_DIST2 = 0;
+ private final double POS4_TURN2 = 0;
+ private final double POS4_DIST3 = 0;
// constants for position 5
+ private final double POS5_DIST1 = 0;
+ private final double POS5_TURN1 = 0;
+ private final double POS5_DIST2 = 0;
public AlignToScore(int position) {
// position 1 is always the low bar
case 1:
- addSequential(new DriveForDistance(POS1_DIST1, DEFAULT_SPEED));
- addSequential(new TurnForAngle(POS1_TURN1));
- addSequential(new DriveForDistance(POS1_DIST2, DEFAULT_SPEED));
+ addSequential(new DriveDistance(POS1_DIST1, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS1_TURN1, maxTimeout));
+ addSequential(new DriveDistance(POS1_DIST2, DEFAULT_SPEED));
case 2:
- addSequential();
+ addSequential(new DriveDistance(POS2_DIST1, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS2_TURN1, maxTimeout));
+ addSequential(new DriveDistance(POS2_DIST2, DEFAULT_SPEED));
case 3:
- addSequential();
+ addSequential(new DriveDistance(POS3_DIST1, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS3_TURN1, maxTimeout));
+ addSequential(new DriveDistance(POS3_DIST2, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS3_TURN2, maxTimeout));
+ addSequential(new DriveDistance(POS3_DIST3, DEFAULT_SPEED));
case 4:
- addSequential();
+ addSequential(new DriveDistance(POS4_DIST1, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS4_TURN1, maxTimeout));
+ addSequential(new DriveDistance(POS4_DIST2, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS4_TURN2, maxTimeout));
+ addSequential(new DriveDistance(POS4_DIST3, DEFAULT_SPEED));
case 5:
- addSequential();
+ addSequential(new DriveDistance(POS5_DIST1, DEFAULT_SPEED));
+ addSequential(new TurnForAngle(POS5_TURN1, maxTimeout));
+ addSequential(new DriveDistance(POS5_DIST2, DEFAULT_SPEED));
}
}
}