private TalonFX leftMotor; //invert this one
private double maxVelocity;
private double maxAcceleration;
- private DCMotorSim intakeSim;
-
- private MotionMagicVoltage voltageRequest = new MotionMagicVoltage(0);
+ private final DCMotorSim intakeSim;
+ private double distance;
+ private final MotionMagicVoltage voltageRequest = new MotionMagicVoltage(0);
public Intake() {
rightMotor = new TalonFX(IntakeConstants.rightID);
var slot0Configs = Config.Slot0;
//find values later
//friction, maybe?
- slot0Configs.kP = 0;
+ slot0Configs.kP = 0.1;
slot0Configs.kI = 0;
slot0Configs.kD = 0;
slot0Configs.kV = 0;
// report the position of the extension
double percentExtended = getPosition() / IntakeConstants.kMaxRotations;
- double distance = percentExtended/IntakeConstants.gearRatio * 1/IntakeConstants.rackPitch; // in inches
+ distance = percentExtended/IntakeConstants.gearRatio * 1/IntakeConstants.rackPitch;
percentExtended = Math.max(0.0, Math.min(1.0, percentExtended));
// robotExtension.setLength(percentExtended * maxExtension);
return position;
}
+ public boolean atMaxExtension(){
+ return distance == IntakeConstants.maxExtension; // TODO add tolerance for distance
+ }
+
+
public void spin(double speed) {
rollerMotor.set(IntakeConstants.speed);
}
public void retract(){
setPosition(IntakeConstants.startingPoint);
+
}