Merge branch 'Shooter' of https://github.com/Team4388/2022NoWayHome into Shooter

This commit is contained in:
Abhishrek05
2022-01-28 19:07:35 -07:00
7 changed files with 154 additions and 13 deletions
@@ -4,6 +4,7 @@
package frc4388.robot.subsystems;
import java.io.Console;
import java.util.Base64.Encoder;
import com.ctre.phoenix.motorcontrol.NeutralMode;
import com.ctre.phoenix.motorcontrol.TalonFXControlMode;
@@ -24,6 +25,7 @@ public ShooterTables m_shooterTable;
public static Gains m_drumShooterGains = ShooterConstants.DRUM_SHOOTER_GAINS;
public static BoomBoom m_boomBoom;
public static IHandController m_driverController; //not sure if driverController in 2022 = m_controller in 2020
BangBangController m_controller = new BangBangController();
double velP;
double input;
@@ -124,11 +126,13 @@ public void setShooterGains() {
m_shooterFalconLeft.set(TalonFXControlMode.Velocity, targetVel); //Init
m_shooterFalconRight.follow(m_shooterFalconLeft);
// New BoomBoom controller stuff
BangBangController controller = new BangBangController();
//Controls a motor with the output of the BangBang controller
//Controls a motor with the output of the BangBang conroller and a feedforward
//Shrinks the feedforward slightly to avoid over speeding the shooter
m_shooterFalconLeft.set(controller.calculate(Encoder.getRate(), targetVel) + 0.9 * feedforward.calculate(targetVel));
// m_shooterFalconLeft.set(controller.calculate(encoder.getRate(), targetVel) + 0.9 * feedforward.calculate(targetVel));
m_shooterFalconLeft.set(m_controller.calculate(m_shooterFalconLeft.get(), targetVel));
System.err.println(targetVel);
}
}
}
@@ -67,11 +67,11 @@ public class Turret extends SubsystemBase {
@Override
public void periodic() {
SmartDashboard.putNumber("Turret Angle Raw", getboomBoomRotatePosition());
// SmartDashboard.putNumber("Turret Angle Raw", getboomBoomRotatePosition());
SmartDashboard.putData("Turret Angle", (Sendable) m_turretGyro);
// SmartDashboard.putData("Turret Angle", (Sendable) m_turretGyro);
SmartDashboard.putBoolean("Turret Aimed", m_isAimReady);
// SmartDashboard.putBoolean("Turret Aimed", m_isAimReady);
// This method will be called once per scheduler run
}