|
Autonomous for gears
Does this work?
package org.usfirst.frc.team1025.robot.commands.VisionM;
import org.usfirst.frc.team1025.robot.Robot;
import edu.wpi.first.wpilibj.command.Command;
/**
*
*/
public class VisionMa extends Command {
private double centerX;
public VisionMa() {
requires(Robot.visionMaybe);
requires(Robot.chassisSubsystem);
}
// Called just before this Command runs the first time
protected void initialize() {
Robot.visionMaybe.visionThread.start();
}
// Called repeatedly when this Command is scheduled to run
protected void execute() {
synchronized (Robot.visionMaybe.imgLock) {
Robot.visionMaybe.centerX1 = this.centerX;
}
double turn = centerX - (Robot.visionMaybe.IMG_WIDTH / 2);
Robot.chassisSubsystem.robotDrive.arcadeDrive(-0.6, turn * 0.005);
}
// Make this return true when this Command no longer needs to run execute()
public boolean isFinished() {
if(centerX>0.0)
return false;
else if(centerX<237.0){
return false;
}
else{
return true;
}
}
// Called once after isFinished returns true
protected void end() {
}
// Called when another command which requires one or more of the same
// subsystems is scheduled to run
protected void interrupted() {
}
}
|