diff --git a/src/main/java/frc4388/robot/subsystems/Turret.java b/src/main/java/frc4388/robot/subsystems/Turret.java index eba7f23..0202c6d 100644 --- a/src/main/java/frc4388/robot/subsystems/Turret.java +++ b/src/main/java/frc4388/robot/subsystems/Turret.java @@ -4,38 +4,42 @@ package frc4388.robot.subsystems; -import java.lang.ModuleLayer.Controller; -import javax.naming.ldap.Control; - -import com.ctre.phoenix.sensors.CANCoder; +import com.revrobotics.CANSparkMax.ControlType; import com.revrobotics.CANSparkMax.IdleMode; - +import com.revrobotics.CANSparkMax; +import com.revrobotics.RelativeEncoder; +import com.revrobotics.SparkMaxLimitSwitch; +import com.revrobotics.SparkMaxPIDController; +import com.revrobotics.CANSparkMaxLowLevel.MotorType; import edu.wpi.first.util.sendable.Sendable; -import edu.wpi.first.wpilibj.drive.RobotDriveBase.MotorType; import edu.wpi.first.wpilibj.interfaces.Gyro; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc4388.robot.Constants.ShooterConstants; import frc4388.utility.Gains; +import com.revrobotics.CANSparkMax.SoftLimitDirection; -public class Turret extends SubsystemBase { - private static final String turretMotor = null; + + + +public class Turret extends SubsystemBase { + /** Creates a new Turret. */ public BoomBoom m_boomBoomSubsystem; public SwerveDrive m_sDriveSubsystem; public CANSparkMax m_boomBoomRotateMotor = new CANSparkMax(ShooterConstants.SHOOTER_ROTATE_ID, MotorType.kBrushless); public static Gains m_shooterTGains = ShooterConstants.SHOOTER_TURRET_GAINS; - CANDigitalInput m_boomBoomRightLimit, m_boomBoomLeftLimit; + SparkMaxLimitSwitch m_boomBoomRightLimit, m_boomBoomLeftLimit; public Gyro m_turretGyro; public double m_targetDistance = 0; public boolean m_isAimReady = false; - Controller m_boomBoomRotatePIDController = m_boomBoomRotateMotor.getPIDController(); - public CANCoder m_boomBoomRotateEncoder = m_boomBoomRotateMotor.getEncoder(); + SparkMaxPIDController m_boomBoomRotatePIDController = m_boomBoomRotateMotor.getPIDController(); + public RelativeEncoder m_boomBoomRotateEncoder = m_boomBoomRotateMotor.getEncoder(); //Variables @@ -43,20 +47,18 @@ public class Turret extends SubsystemBase { m_boomBoomRotateMotor.setIdleMode(IdleMode.kBrake); - boolean enableLimitSwitch = true; + m_turretGyro = getGyroInterface(); - m_boomBoomLeftLimit = m_boomBoomRotateMotor.getReverseLimitSwitch(LimitSwitchPolarity.kNormallyOpen); - m_boomBoomRightLimit = m_boomBoomRotateMotor.getForwardLimitSwitch(LimitSwitchPolarity.kNormallyOpen); - m_boomBoomRightLimit.enableLimitSwitch; - m_boomBoomLeftLimit.enableLimitSwitch; + m_boomBoomLeftLimit = m_boomBoomRotateMotor.getReverseLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_boomBoomRightLimit = m_boomBoomRotateMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen); + m_boomBoomRightLimit.enableLimitSwitch(true); + m_boomBoomLeftLimit.enableLimitSwitch(true); m_boomBoomRotateMotor.enableSoftLimit(SoftLimitDirection.kForward, false); m_boomBoomRotateMotor.enableSoftLimit(SoftLimitDirection.kReverse, true); m_boomBoomRotateMotor.setSoftLimit(SoftLimitDirection.kForward, ShooterConstants.TURRET_RIGHT_SOFT_LIMIT); - boolean setInverted = false; - m_boomBoomRotateMotor.setInverted; - Object turretMotor; - Object m_turretMotor = turretMotor; + m_boomBoomRotateMotor.setInverted(false); + } private Gyro getGyroInterface() { @@ -86,7 +88,7 @@ public class Turret extends SubsystemBase { m_boomBoomRotatePIDController.setP(m_shooterTGains.m_kP); m_boomBoomRotatePIDController.setI(m_shooterTGains.m_kI); m_boomBoomRotatePIDController.setD(m_shooterTGains.m_kD); - m_boomBoomRotatePIDController.setF(m_shooterTGains.m_kF); + m_boomBoomRotatePIDController.setFF(m_shooterTGains.m_kF); m_boomBoomRotatePIDController.setIZone(m_shooterTGains.m_kIzone); m_boomBoomRotatePIDController.setOutputRange(ShooterConstants.SHOOTER_TURRET_MIN, m_shooterTGains.m_kPeakOutput); @@ -109,11 +111,7 @@ public class Turret extends SubsystemBase { return (m_boomBoomRotateEncoder.getPosition() - ShooterConstants.TURRET_MOTOR_POS_AT_ZERO_ROT) * 360/ShooterConstants. TURRET_MOTOR_ROTS_PER_ROT; } - public void turnWithJoystick (double input) - { - turretMotor.set(input); - } //function turnWithJoystick(double input) // motor.set(input) diff --git a/src/main/java/frc4388/robot/subsystems/Vision.java b/src/main/java/frc4388/robot/subsystems/Vision.java index 85ee3e6..604bdae 100644 --- a/src/main/java/frc4388/robot/subsystems/Vision.java +++ b/src/main/java/frc4388/robot/subsystems/Vision.java @@ -69,9 +69,8 @@ public void track(){ turnAmount = -0.1; } } - m_turret.turnWithJoystick(-turnAmount); - SmartDashboard.putNumber("Disance to Target", realDistance); + SmartDashboard.putNumber("Distance to Target", realDistance); //start CSV