mirror of
https://github.com/Team4388/2023WayOfTheRobot.git
synced 2026-06-09 00:37:59 -06:00
61 lines
1.7 KiB
Java
61 lines
1.7 KiB
Java
// Copyright (c) FIRST and other WPILib contributors.
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
// the WPILib BSD license file in the root directory of this project.
|
|
|
|
package frc4388.robot.subsystems;
|
|
|
|
import com.ctre.phoenix.motorcontrol.LimitSwitchNormal;
|
|
import com.ctre.phoenix.motorcontrol.LimitSwitchSource;
|
|
import com.ctre.phoenix.motorcontrol.can.WPI_TalonFX;
|
|
|
|
import edu.wpi.first.wpilibj2.command.SubsystemBase;
|
|
import frc4388.robot.Constants;
|
|
|
|
public class Arm extends SubsystemBase {
|
|
/** Creates a new Arm. */
|
|
private WPI_TalonFX pivot;
|
|
private WPI_TalonFX tele;
|
|
|
|
|
|
|
|
public Arm(WPI_TalonFX pivot, WPI_TalonFX tele) {
|
|
this.pivot = pivot;
|
|
this.tele = tele;
|
|
|
|
//Limit switches
|
|
pivot.configForwardLimitSwitchSource(LimitSwitchSource.FeedbackConnector, LimitSwitchNormal.NormallyOpen);
|
|
pivot.configReverseLimitSwitchSource(LimitSwitchSource.FeedbackConnector, LimitSwitchNormal.NormallyOpen);
|
|
|
|
tele.configReverseLimitSwitchSource(LimitSwitchSource.FeedbackConnector, LimitSwitchNormal.NormallyOpen);
|
|
tele.configForwardSoftLimitThreshold(Constants.ArmConstants.TELE_FORWARD_SOFT_LIMIT);
|
|
}
|
|
|
|
public void runPivot(double output) {
|
|
pivot.set(output);
|
|
}
|
|
|
|
public void runTele(double output) {
|
|
tele.set(output);
|
|
}
|
|
|
|
public void runPivotAndTele(double pOutput, double tOutput) {
|
|
pivot.set(pOutput);
|
|
tele.set(tOutput);
|
|
}
|
|
|
|
public double getPivotPos() {
|
|
return pivot.getSelectedSensorPosition();
|
|
}
|
|
|
|
public double getTelePos() {
|
|
return tele.getSelectedSensorPosition();
|
|
}
|
|
|
|
@Override
|
|
public void periodic() {
|
|
if (tele.isRevLimitSwitchClosed() == 1) {
|
|
tele.setSelectedSensorPosition(0);
|
|
}
|
|
}
|
|
}
|