diff --git a/src/main/java/frc4388/robot/Constants.java b/src/main/java/frc4388/robot/Constants.java index 6b7b4aa..76c7b44 100644 --- a/src/main/java/frc4388/robot/Constants.java +++ b/src/main/java/frc4388/robot/Constants.java @@ -88,7 +88,10 @@ public final class Constants { public static final class ShooterConstants { /* PID Constants Shooter */ +<<<<<<< Updated upstream public static final int CLOSED_LOOP_TIME_MS = 1; +======= +>>>>>>> Stashed changes public static final int SHOOTER_TIMEOUT_MS = 32; public static final int SHOOTER_SLOT_IDX = 0; public static final int SHOOTER_PID_LOOP_IDX = 1; diff --git a/src/main/java/frc4388/robot/RobotContainer.java b/src/main/java/frc4388/robot/RobotContainer.java index 964e0d9..9b5f674 100644 --- a/src/main/java/frc4388/robot/RobotContainer.java +++ b/src/main/java/frc4388/robot/RobotContainer.java @@ -4,6 +4,9 @@ package frc4388.robot; +import com.ctre.phoenix.motorcontrol.TalonFXControlMode; +import com.ctre.phoenix.motorcontrol.can.TalonFX; + import edu.wpi.first.wpilibj.Joystick; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.InstantCommand; @@ -12,6 +15,7 @@ import edu.wpi.first.wpilibj2.command.button.JoystickButton; import frc4388.robot.Constants.*; import frc4388.robot.subsystems.BoomBoom; import frc4388.robot.subsystems.Hood; +//import frc4388.robot.subsystems.Intake; import frc4388.robot.subsystems.LED; import frc4388.robot.subsystems.SwerveDrive; import frc4388.robot.subsystems.Turret; @@ -30,21 +34,22 @@ import frc4388.utility.controller.XboxController; public class RobotContainer { /* RobotMap */ private final RobotMap m_robotMap = new RobotMap(); + private final TalonFX m_testMotor = new TalonFX(2); - /* Subsystems */ - // private final SwerveDrive m_robotSwerveDrive = new SwerveDrive( - // m_robotMap.leftFrontSteerMotor, m_robotMap.leftFrontWheelMotor, - // m_robotMap.rightFrontSteerMotor, m_robotMap.rightFrontWheelMotor, - // m_robotMap.leftBackSteerMotor, m_robotMap.leftBackWheelMotor, - // m_robotMap.rightBackSteerMotor, m_robotMap.rightBackWheelMotor, - // m_robotMap.leftFrontEncoder, - // m_robotMap.rightFrontEncoder, - // m_robotMap.leftBackEncoder, - // m_robotMap.rightBackEncoder - // ); - + /* Subsystems + private final SwerveDrive m_robotSwerveDrive = new SwerveDrive( + m_robotMap.leftFrontSteerMotor, m_robotMap.leftFrontWheelMotor, + m_robotMap.rightFrontSteerMotor, m_robotMap.rightFrontWheelMotor, + m_robotMap.leftBackSteerMotor, m_robotMap.leftBackWheelMotor, + m_robotMap.rightBackSteerMotor, m_robotMap.rightBackWheelMotor, + m_robotMap.leftFrontEncoder, + m_robotMap.rightFrontEncoder, + m_robotMap.leftBackEncoder, + m_robotMap.rightBackEncoder + ); + */ private final LED m_robotLED = new LED(m_robotMap.LEDController); - private final BoomBoom m_robotBoomBoom = new BoomBoom(m_robotMap.shooterFalconLeft, m_robotMap.shooterFalconRight); + private final BoomBoom m_robotBoomBoom = new BoomBoom(); private final Hood m_robotHood = new Hood(); private final Turret m_robotTurret = new Turret(); private final Vision m_robotVison = new Vision(m_robotTurret, m_robotBoomBoom); @@ -60,19 +65,20 @@ public class RobotContainer { /* Default Commands */ // drives the swerve drive with a two-axis input from the driver controller - // m_robotSwerveDrive.setDefaultCommand( - // new RunCommand(() -> m_robotSwerveDrive.driveWithInput(-getDriverController().getLeftXAxis(), - // getDriverController().getLeftYAxis(), -getDriverController().getRightXAxis(), false), m_robotSwerveDrive)); + /*m_robotSwerveDrive.setDefaultCommand( + new RunCommand(() -> m_robotSwerveDrive.driveWithInput(-getDriverController().getLeftXAxis(), + getDriverController().getLeftYAxis(), -getDriverController().getRightXAxis(), false), m_robotSwerveDrive)); // continually sends updates to the Blinkin LED controller to keep the lights on m_robotLED.setDefaultCommand(new RunCommand(m_robotLED::updateLED, m_robotLED)); - + */ //Turret default command m_robotTurret.setDefaultCommand( - new RunCommand(() -> m_robotTurret.runShooterWithInput(getOperatorController().getLeftXAxis()), m_robotTurret)); + new RunCommand(() -> m_robotTurret.runShooterWithInput(getOperatorController().getLeftXAxis()), m_robotTurret) + ); // m_robotTurret.setDefaultCommand( // new RunCommand(() -> m_robotTurret.aimToCenter())); } @@ -88,6 +94,10 @@ public class RobotContainer { /* Operator Buttons */ // activates "Lit Mode" + + new JoystickButton(getDriverJoystick(), XboxController.A_BUTTON) + .whileHeld(() -> m_testMotor.set(TalonFXControlMode.PercentOutput, 0.5)); + new JoystickButton(getOperatorJoystick(), XboxController.A_BUTTON) .whenPressed(() -> m_robotLED.setPattern(LEDPatterns.LAVA_RAINBOW)) .whenReleased(() -> m_robotLED.setPattern(LEDConstants.DEFAULT_PATTERN)); @@ -95,9 +105,16 @@ public class RobotContainer { new JoystickButton(getOperatorJoystick(), XboxController.B_BUTTON) .whenPressed(() -> m_robotBoomBoom.runDrumShooterVelocityPID(0.1)) .whenReleased(() -> m_robotBoomBoom.runDrumShooterVelocityPID(0)); - - /* Driver Buttons */ + //activates intake + new JoystickButton(getOperatorJoystick(), XboxController.B_BUTTON); + // .whenPressed() -> m_robot + /*operator button*/ + //activates hood + new JoystickButton(getOperatorJoystick(), XboxController.Y_BUTTON) + .whenPressed(() -> m_robotHood.runHood(0.5d)) + .whenReleased(() -> m_robotHood.runHood(0.d)); + new JoystickButton(getOperatorJoystick() } /** * Use this to pass the autonomous command to the main {@link Robot} class. diff --git a/src/main/java/frc4388/robot/subsystems/BoomBoom.java b/src/main/java/frc4388/robot/subsystems/BoomBoom.java index 0a235e3..5dfb993 100644 --- a/src/main/java/frc4388/robot/subsystems/BoomBoom.java +++ b/src/main/java/frc4388/robot/subsystems/BoomBoom.java @@ -114,7 +114,7 @@ public void setShooterGains() { //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(calculate(encoder.getRate(), targetVel) + 0.9 * feedforward.calculate(targetVel)); m_shooterFalconLeft.set(m_controller.calculate(m_shooterFalconLeft.get(), targetVel)); } } \ No newline at end of file diff --git a/src/main/java/frc4388/robot/subsystems/Hood.java b/src/main/java/frc4388/robot/subsystems/Hood.java index 1ef6af3..046d402 100644 --- a/src/main/java/frc4388/robot/subsystems/Hood.java +++ b/src/main/java/frc4388/robot/subsystems/Hood.java @@ -4,6 +4,8 @@ package frc4388.robot.subsystems; +import javax.sql.rowset.WebRowSet; + import com.revrobotics.CANSparkMax; import com.revrobotics.RelativeEncoder; import com.revrobotics.SparkMaxPIDController; @@ -21,7 +23,7 @@ import frc4388.utility.Gains; public class Hood extends SubsystemBase { public BoomBoom m_shooterSubsystem; - // public CANSparkMax m_angleAdjusterMotor = new CANSparkMax(ShooterConstants.SHOOTER_ANGLE_ADJUST_ID, MotorType.kBrushless); + //public CANSparkMax m_angleAdjusterMotor = new CANSparkMax(ShooterConstants.SHOOTER_ANGLE_ADJUST_ID, MotorType.kBrushless); public SparkMaxLimitSwitch m_hoodUpLimitSwitch; public SparkMaxLimitSwitch m_hoodDownLimitSwitch; public static Gains m_angleAdjusterGains = ShooterConstants.SHOOTER_ANGLE_GAINS;