+++ /dev/null
-package org.usfirst.frc.team3501.robot.commands;
-
-import org.usfirst.frc.team3501.robot.Robot;
-
-import edu.wpi.first.wpilibj.command.Command;
-
-public class MoveIntakeArmToAngle extends Command {
- private double currentAngle;
- private double targetAngle;
- private double targetSpeed;
- private double SENSITIVITY_THRESHOLD = 0.1;
- private boolean isDecreasing = false;
-
- public MoveIntakeArmToAngle(double angle, double speed) {
- requires(Robot.intakeArm);
- targetAngle = angle;
- targetSpeed = speed;
-
- }
-
- @Override
- protected void initialize() {
- currentAngle = Robot.intakeArm.getArmAngle();
- double difference = targetAngle - currentAngle;
- if (difference > 0) {
- Robot.intakeArm.setArmSpeed(targetSpeed);
- isDecreasing = true;
- } else {
- Robot.intakeArm.setArmSpeed(-targetSpeed);
- isDecreasing = false;
- }
- }
-
- @Override
- protected void execute() {
-
- }
-
- @Override
- protected boolean isFinished() {
- currentAngle = Robot.intakeArm.getArmAngle();
-
- if (isDecreasing == true) {
- return (currentAngle <= targetAngle + SENSITIVITY_THRESHOLD);
- } else {
- return (currentAngle >= targetAngle + SENSITIVITY_THRESHOLD);
- }
- }
-
- @Override
- protected void end() {
- Robot.intakeArm.stop();
- }
-
- @Override
- protected void interrupted() {
- }
-
-}