@@ -0,0 +1,1735 @@
+/*%0D%0A * To change this license header, choose License Headers in Project Properties.%0D%0A * To change this template file, choose Tools %7C Templates%0D%0A * and open the template in the editor.%0D%0A */%0D%0Apackage edu.afs.commands;%0D%0A%0D%0Aimport java.util.Timer;%0D%0Aimport java.util.TimerTask;%0D%0A%0D%0A/**%0D%0A * Make the robot %22bump%22 backward a small amount for button-controlled fine%0D%0A * position adjustments.%0D%0A * %0D%0A * @author RAmato%0D%0A */%0D%0Apublic class DriveBumpReverseCommand extends CommandBase %7B%0D%0A    %0D%0A    private static final int BUMP_TIMEOUT = 50; //Milliseconds%0D%0A    private static final double BUMP_SPEED = -0.5;%0D%0A    private Timer m_bumpTimer;%0D%0A    private boolean m_isBumpDone;%0D%0A    %0D%0A    public DriveBumpReverseCommand() %7B%0D%0A        requires(drive);%0D%0A        Timer m_bumpTimer = new Timer();%0D%0A        m_isBumpDone = false;%0D%0A    %7D%0D%0A    %0D%0A        class BumpTimerTask extends TimerTask %7B%0D%0A        public void run() %7B%0D%0A            m_isBumpDone = true;%0D%0A            m_bumpTimer.cancel(); //Terminate the timer thread%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A    // Called just before this Command runs the first time%0D%0A    protected void initialize() %7B%0D%0A        m_bumpTimer.schedule(new BumpTimerTask(), BUMP_TIMEOUT);%0D%0A    %7D%0D%0A%0D%0A    // Called repeatedly when this Command is scheduled to run%0D%0A    protected void execute() %7B%0D%0A        drive.driveStraight(BUMP_SPEED);%0D%0A    %7D%0D%0A%0D%0A    // Make this return true when this Command no longer needs to run execute()%0D%0A    protected boolean isFinished() %7B%0D%0A        return m_isBumpDone;%0D%0A    %7D%0D%0A    // Called once after isFinished returns true%0D%0A    protected void end() %7B%0D%0A    %7D%0D%0A%0D%0A    // Called when another command which requires one or more of the same%0D%0A    // subsystems is scheduled to run%0D%0A    protected void interrupted() %7B%0D%0A    %7D%0D%0A%7D%0D%0A

Add "bump" commands for fine position adjustment.