mirror of
https://github.com/Team4388/2022NoWayHome.git
synced 2026-06-09 08:48:07 -06:00
turret is debugged
This commit is contained in:
@@ -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<CANSparkMax, CANDigitalInput,> 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<CANSparkMax, CANDigitalInput,> 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<CANSparkMax, CANDigitalInput,> 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<CANSparkMax, CANDigitalInput,> 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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user