Files
2022NoWayHome/src/main/java/frc4388/robot/subsystems/Hood.java
T

85 lines
3.1 KiB
Java
Raw Normal View History

2022-01-20 18:08:05 -07:00
// 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;
2022-01-25 19:56:32 -07:00
2022-02-17 19:38:49 -07:00
import javax.sql.rowset.WebRowSet;
2022-01-20 20:00:31 -07:00
import com.revrobotics.CANSparkMax;
2022-01-26 16:52:20 -07:00
import com.revrobotics.RelativeEncoder;
2022-01-25 19:56:32 -07:00
import com.revrobotics.SparkMaxPIDController;
2022-01-26 16:52:20 -07:00
import com.revrobotics.SparkMaxLimitSwitch;
import com.revrobotics.CANSparkMax.ControlType;
2022-01-20 20:00:31 -07:00
import com.revrobotics.CANSparkMax.IdleMode;
import com.revrobotics.CANSparkMax.SoftLimitDirection;
import com.revrobotics.CANSparkMaxLowLevel.MotorType;
2022-01-20 18:08:05 -07:00
import edu.wpi.first.wpilibj2.command.SubsystemBase;
2022-01-20 20:00:31 -07:00
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import frc4388.robot.Constants.ShooterConstants;
import frc4388.utility.Gains;
2022-01-20 18:08:05 -07:00
public class Hood extends SubsystemBase {
2022-01-25 18:57:28 -07:00
public BoomBoom m_shooterSubsystem;
2022-01-20 20:00:31 -07:00
2022-02-17 19:38:49 -07:00
//public CANSparkMax m_angleAdjusterMotor = new CANSparkMax(ShooterConstants.SHOOTER_ANGLE_ADJUST_ID, MotorType.kBrushless);
2022-01-26 16:52:20 -07:00
public SparkMaxLimitSwitch m_hoodUpLimitSwitch;
public SparkMaxLimitSwitch m_hoodDownLimitSwitch;
public static Gains m_angleAdjusterGains = ShooterConstants.SHOOTER_ANGLE_GAINS;
// public RelativeEncoder m_angleEncoder = m_angleAdjusterMotor.getEncoder();
2022-01-25 19:56:32 -07:00
// public SparkMaxPIDController m_angleAdjusterPIDController = m_angleAdjusterMotor.getPIDController();
2022-01-26 16:52:20 -07:00
//public boolean m_isHoodReady = false;
2022-01-25 19:56:32 -07:00
public double m_fireAngle;
2022-01-20 20:00:31 -07:00
2022-01-26 16:52:20 -07:00
2022-01-20 18:08:05 -07:00
/** Creates a new Hood. */
2022-01-20 20:00:31 -07:00
public Hood() {
// m_angleAdjusterMotor.setIdleMode(IdleMode.kBrake);
2022-01-20 20:00:31 -07:00
// m_hoodUpLimitSwitch = m_angleAdjusterMotor.getForwardLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen);
// m_hoodDownLimitSwitch = m_angleAdjusterMotor.getReverseLimitSwitch(SparkMaxLimitSwitch.Type.kNormallyOpen);
// m_hoodUpLimitSwitch.enableLimitSwitch(true);
// m_hoodDownLimitSwitch.enableLimitSwitch(true);
2022-01-20 20:00:31 -07:00
}
2022-01-20 18:08:05 -07:00
@Override
public void periodic() {
// This method will be called once per scheduler run
}
2022-01-20 20:00:31 -07:00
public void runAngleAdjustPID(double targetAngle)
{
//Set PID Coefficients
// m_angleAdjusterPIDController.setP(m_angleAdjusterGains.m_kP);
// m_angleAdjusterPIDController.setI(m_angleAdjusterGains.m_kI);
// m_angleAdjusterPIDController.setD(m_angleAdjusterGains.m_kD);
// m_angleAdjusterPIDController.setIZone(m_angleAdjusterGains.m_kIzone);
// m_angleAdjusterPIDController.setFF(m_angleAdjusterGains.m_kF);
// m_angleAdjusterPIDController.setOutputRange(ShooterConstants.SHOOTER_TURRET_MIN, m_angleAdjusterGains.m_kPeakOutput);
2022-01-20 20:00:31 -07:00
// m_angleAdjusterPIDController.setReference(targetAngle, ControlType.kPosition);
2022-01-20 20:00:31 -07:00
}
2022-01-25 19:56:32 -07:00
2022-01-20 20:00:31 -07:00
public void runHood(double input) {
// m_angleAdjusterMotor.set(input);
2022-01-20 20:00:31 -07:00
}
public void resetGyroAngleAdj(){
// m_angleEncoder.setPosition(0);
2022-01-20 20:00:31 -07:00
}
public double getAnglePosition(){
return 0.0;//m_angleEncoder.getPosition();
2022-01-20 20:00:31 -07:00
}
public double getAnglePositionDegrees(){
return 0.0;//((m_angleEncoder.getPosition() - ShooterConstants.HOOD_MOTOR_POS_AT_ZERO_ROT) * 360/ShooterConstants.HOOD_MOTOR_ROTS_PER_ROT) - 90;
2022-01-20 20:00:31 -07:00
}
2022-01-20 18:08:05 -07:00
}