From 430e6674696409a132b8a8fad2476ab7384b456a Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 13:12:54 +0200 Subject: [PATCH 01/27] added constants commands and subsystem class --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 8 ++++++++ .../frc/robot/subsystems/Shooter/ShooterCommands.java | 4 ++++ .../frc/robot/subsystems/Shooter/ShooterConstants.java | 4 ++++ 3 files changed, 16 insertions(+) create mode 100644 src/main/java/frc/robot/subsystems/Shooter/Shooter.java create mode 100644 src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java create mode 100644 src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java new file mode 100644 index 0000000..7d6a45a --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -0,0 +1,8 @@ +package frc.robot.subsystems.Shooter; + + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Shooter extends SubsystemBase { +} + diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java new file mode 100644 index 0000000..a1a526b --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -0,0 +1,4 @@ +package frc.robot.subsystems.Shooter; + +public class ShooterCommands { +} diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java new file mode 100644 index 0000000..e21c31e --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -0,0 +1,4 @@ +package frc.robot.subsystems.Shooter; + +public class ShooterConstants { +} From 4ffd5544a1e0bea00afa47b9e97f212e3513c1af Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 14:50:10 +0200 Subject: [PATCH 02/27] added code to subsystem constants and command --- src/main/java/frc/robot/RobotContainer.java | 20 ++++--- .../frc/robot/subsystems/Shooter/Shooter.java | 14 +++++ .../subsystems/Shooter/ShooterCommands.java | 16 ++++++ .../subsystems/Shooter/ShooterConstants.java | 54 ++++++++++++++++++- 4 files changed, 92 insertions(+), 12 deletions(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index f5ec171..f2e93d1 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -7,22 +7,20 @@ import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; +import frc.robot.subsystems.Shooter.Shooter; +public class RobotContainer { + public static final Shooter SHOOTER = new Shooter(); -public class RobotContainer -{ - public RobotContainer() - { + public RobotContainer() { configureBindings(); } - - - private void configureBindings() {} - - - public Command getAutonomousCommand() - { + + private void configureBindings() { + } + + public Command getAutonomousCommand() { return Commands.print("No autonomous command configured"); } } diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 7d6a45a..9692949 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -1,8 +1,22 @@ package frc.robot.subsystems.Shooter; +import com.ctre.phoenix.motorcontrol.ControlMode; +import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Shooter extends SubsystemBase { + private final WPI_TalonSRX rightMotor = ShooterConstants.RIGHT_MOTOR; + private final WPI_TalonSRX leftMotor = ShooterConstants.LEFT_MOTOR; + + void stopMotors() { + setTargetPercentageVoltageOutput(0); + } + + void setTargetPercentageVoltageOutput(double percentageMotorOutput) { + rightMotor.set(ControlMode.PercentOutput, percentageMotorOutput); + leftMotor.set(ControlMode.PercentOutput, percentageMotorOutput); + } } + diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index a1a526b..584e67c 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -1,4 +1,20 @@ package frc.robot.subsystems.Shooter; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.StartEndCommand; +import frc.robot.RobotContainer; + public class ShooterCommands { + public static Command getSetTargetStateCommand(ShooterConstants.ShooterState targetState) { + return getSetMotorOutputCommand(targetState.targetMotorOutput); + } + + private static Command getSetMotorOutputCommand(double motorOutput) { + return new StartEndCommand( + () -> RobotContainer.SHOOTER.setTargetPercentageVoltageOutput(motorOutput), + RobotContainer.SHOOTER::stopMotors, + RobotContainer.SHOOTER + ); + } } + diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index e21c31e..8f33621 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -1,4 +1,56 @@ package frc.robot.subsystems.Shooter; +import com.ctre.phoenix.motorcontrol.InvertType; +import com.ctre.phoenix.motorcontrol.NeutralMode; +import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; + public class ShooterConstants { -} + private static final int + RIGHT_MOTOR_ID = 3, + LEFT_MOTOR_ID = 4; + + static final WPI_TalonSRX + RIGHT_MOTOR = new WPI_TalonSRX(RIGHT_MOTOR_ID), + LEFT_MOTOR = new WPI_TalonSRX(LEFT_MOTOR_ID); + + private static final InvertType RIGHT_MOTOR_INVERTED_VALUE = InvertType.None; + private static final InvertType LEFT_MOTOR_INVERTED_VALUE = InvertType.InvertMotorOutput; + private static final NeutralMode NEUTRAL_MODE = NeutralMode.Coast; + private static final double VOLTAGE_COMPENSATION_VALUE = 12; + + static { + configureRightMotor(); + configureLeftMotor(); + } + + private static final void configureRightMotor() { + RIGHT_MOTOR.configFactoryDefault(); + + RIGHT_MOTOR.setInverted(RIGHT_MOTOR_INVERTED_VALUE); + RIGHT_MOTOR.setNeutralMode(NEUTRAL_MODE); + RIGHT_MOTOR.enableVoltageCompensation(true); + RIGHT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_VALUE); + } + + private static final void configureLeftMotor() { + LEFT_MOTOR.configFactoryDefault(); + + LEFT_MOTOR.setInverted(LEFT_MOTOR_INVERTED_VALUE); + LEFT_MOTOR.setNeutralMode(NEUTRAL_MODE); + LEFT_MOTOR.enableVoltageCompensation(true); + LEFT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_VALUE); + } + + public enum ShooterState { + SHOOT(1), + EJECT(0.3), + REVERSE(-0.3), + REST(0); + + final double targetMotorOutput; + + ShooterState(double setShooterState) { + this.targetMotorOutput = setShooterState; + } + } +} \ No newline at end of file From 86e083bd8a0b7fde070052232a3df113a3c45b47 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 14:55:49 +0200 Subject: [PATCH 03/27] Update RobotContainer.java --- src/main/java/frc/robot/RobotContainer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index f2e93d1..7b43b01 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -11,6 +11,7 @@ public class RobotContainer { + public static final Shooter SHOOTER = new Shooter(); public RobotContainer() { From 232ad10ec20cbc34d35e4ef123d6caef65b47ae7 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 14:56:52 +0200 Subject: [PATCH 04/27] Update RobotContainer.java --- src/main/java/frc/robot/RobotContainer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 7b43b01..632f79b 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -11,7 +11,7 @@ public class RobotContainer { - + public static final Shooter SHOOTER = new Shooter(); public RobotContainer() { @@ -21,6 +21,7 @@ public RobotContainer() { private void configureBindings() { } + public Command getAutonomousCommand() { return Commands.print("No autonomous command configured"); } From a4b05aab1af4aacdc76f6b7a41c292406f928f48 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:31:08 +0200 Subject: [PATCH 05/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 8f33621..c5d49c6 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -45,7 +45,7 @@ public enum ShooterState { SHOOT(1), EJECT(0.3), REVERSE(-0.3), - REST(0); + STOP(0); final double targetMotorOutput; From 0772e045935f552443b06ecc0ffdbd2f59520432 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:32:43 +0200 Subject: [PATCH 06/27] renamed variables in enum to match --- .../java/frc/robot/subsystems/Shooter/ShooterCommands.java | 2 +- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index 584e67c..29e8922 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -6,7 +6,7 @@ public class ShooterCommands { public static Command getSetTargetStateCommand(ShooterConstants.ShooterState targetState) { - return getSetMotorOutputCommand(targetState.targetMotorOutput); + return getSetMotorOutputCommand(targetState.setShooterState); } private static Command getSetMotorOutputCommand(double motorOutput) { diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index c5d49c6..1f75aea 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -47,10 +47,10 @@ public enum ShooterState { REVERSE(-0.3), STOP(0); - final double targetMotorOutput; + final double setShooterState; ShooterState(double setShooterState) { - this.targetMotorOutput = setShooterState; + this.setShooterState = setShooterState; } } } \ No newline at end of file From 86b591710a89ae1e6e9d447367bc6a8afa2c83d7 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:33:18 +0200 Subject: [PATCH 07/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 1f75aea..636b953 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -16,7 +16,7 @@ public class ShooterConstants { private static final InvertType RIGHT_MOTOR_INVERTED_VALUE = InvertType.None; private static final InvertType LEFT_MOTOR_INVERTED_VALUE = InvertType.InvertMotorOutput; private static final NeutralMode NEUTRAL_MODE = NeutralMode.Coast; - private static final double VOLTAGE_COMPENSATION_VALUE = 12; + private static final double VOLTAGE_COMPENSATION_SATURATION = 12; static { configureRightMotor(); @@ -29,7 +29,7 @@ private static final void configureRightMotor() { RIGHT_MOTOR.setInverted(RIGHT_MOTOR_INVERTED_VALUE); RIGHT_MOTOR.setNeutralMode(NEUTRAL_MODE); RIGHT_MOTOR.enableVoltageCompensation(true); - RIGHT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_VALUE); + RIGHT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_SATURATION); } private static final void configureLeftMotor() { @@ -38,7 +38,7 @@ private static final void configureLeftMotor() { LEFT_MOTOR.setInverted(LEFT_MOTOR_INVERTED_VALUE); LEFT_MOTOR.setNeutralMode(NEUTRAL_MODE); LEFT_MOTOR.enableVoltageCompensation(true); - LEFT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_VALUE); + LEFT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_SATURATION); } public enum ShooterState { From 7b6a0e5299702ab1658632213aad79689f8d7078 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:36:48 +0200 Subject: [PATCH 08/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 636b953..d448e52 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -28,6 +28,7 @@ private static final void configureRightMotor() { RIGHT_MOTOR.setInverted(RIGHT_MOTOR_INVERTED_VALUE); RIGHT_MOTOR.setNeutralMode(NEUTRAL_MODE); + RIGHT_MOTOR.enableVoltageCompensation(true); RIGHT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_SATURATION); } @@ -37,6 +38,7 @@ private static final void configureLeftMotor() { LEFT_MOTOR.setInverted(LEFT_MOTOR_INVERTED_VALUE); LEFT_MOTOR.setNeutralMode(NEUTRAL_MODE); + LEFT_MOTOR.enableVoltageCompensation(true); LEFT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_SATURATION); } From 83390188dfcdd4306a2d0a6c5dd06903a99d2fc8 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:38:21 +0200 Subject: [PATCH 09/27] renamed setTargetPercentageVoltageOutput to SetMotorOutput --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 4 ++-- .../java/frc/robot/subsystems/Shooter/ShooterCommands.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 9692949..120d5ff 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -10,10 +10,10 @@ public class Shooter extends SubsystemBase { private final WPI_TalonSRX leftMotor = ShooterConstants.LEFT_MOTOR; void stopMotors() { - setTargetPercentageVoltageOutput(0); + setMotorOutput(0); } - void setTargetPercentageVoltageOutput(double percentageMotorOutput) { + void setMotorOutput(double percentageMotorOutput) { rightMotor.set(ControlMode.PercentOutput, percentageMotorOutput); leftMotor.set(ControlMode.PercentOutput, percentageMotorOutput); } diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index 29e8922..309fcf7 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -11,7 +11,7 @@ public static Command getSetTargetStateCommand(ShooterConstants.ShooterState tar private static Command getSetMotorOutputCommand(double motorOutput) { return new StartEndCommand( - () -> RobotContainer.SHOOTER.setTargetPercentageVoltageOutput(motorOutput), + () -> RobotContainer.SHOOTER.setMotorOutput(motorOutput), RobotContainer.SHOOTER::stopMotors, RobotContainer.SHOOTER ); From 853f16732b0f2ff0c9d9721e2eb60d727cdf53b8 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:40:10 +0200 Subject: [PATCH 10/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index d448e52..810c050 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -28,7 +28,7 @@ private static final void configureRightMotor() { RIGHT_MOTOR.setInverted(RIGHT_MOTOR_INVERTED_VALUE); RIGHT_MOTOR.setNeutralMode(NEUTRAL_MODE); - + RIGHT_MOTOR.enableVoltageCompensation(true); RIGHT_MOTOR.configVoltageCompSaturation(VOLTAGE_COMPENSATION_SATURATION); } @@ -46,7 +46,7 @@ private static final void configureLeftMotor() { public enum ShooterState { SHOOT(1), EJECT(0.3), - REVERSE(-0.3), + COLLECT(-0.3), STOP(0); final double setShooterState; From 36def3fc33480145ec35360d381af470fede1bf9 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 15:44:38 +0200 Subject: [PATCH 11/27] added function to subsystem for setting a state for the shooter --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 6 ++++++ .../java/frc/robot/subsystems/Shooter/ShooterCommands.java | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 120d5ff..6ceb20b 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -8,11 +8,17 @@ public class Shooter extends SubsystemBase { private final WPI_TalonSRX rightMotor = ShooterConstants.RIGHT_MOTOR; private final WPI_TalonSRX leftMotor = ShooterConstants.LEFT_MOTOR; + private ShooterConstants.ShooterState currentState; void stopMotors() { setMotorOutput(0); } + void setTargetState(ShooterConstants.ShooterState targetState) { + setMotorOutput(targetState.setShooterState); + currentState = targetState; + } + void setMotorOutput(double percentageMotorOutput) { rightMotor.set(ControlMode.PercentOutput, percentageMotorOutput); leftMotor.set(ControlMode.PercentOutput, percentageMotorOutput); diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index 309fcf7..ccc7cc1 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -1,12 +1,15 @@ package frc.robot.subsystems.Shooter; import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.InstantCommand; import edu.wpi.first.wpilibj2.command.StartEndCommand; import frc.robot.RobotContainer; public class ShooterCommands { public static Command getSetTargetStateCommand(ShooterConstants.ShooterState targetState) { - return getSetMotorOutputCommand(targetState.setShooterState); + return new InstantCommand( + () -> RobotContainer.SHOOTER.setTargetState(targetState) + ); } private static Command getSetMotorOutputCommand(double motorOutput) { From a32ac41a2eb1033fa3e44a7106e36ca0bd5a0a8b Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Mon, 30 Dec 2024 16:40:07 +0200 Subject: [PATCH 12/27] changed command form instant command to a start end command --- .../java/frc/robot/subsystems/Shooter/Shooter.java | 13 +++++++------ .../robot/subsystems/Shooter/ShooterCommands.java | 11 ++++++----- .../robot/subsystems/Shooter/ShooterConstants.java | 6 +++--- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 6ceb20b..44ee65a 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -6,8 +6,9 @@ import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Shooter extends SubsystemBase { - private final WPI_TalonSRX rightMotor = ShooterConstants.RIGHT_MOTOR; - private final WPI_TalonSRX leftMotor = ShooterConstants.LEFT_MOTOR; + private final WPI_TalonSRX + rightMotor = ShooterConstants.RIGHT_MOTOR, + leftMotor = ShooterConstants.LEFT_MOTOR; private ShooterConstants.ShooterState currentState; void stopMotors() { @@ -15,13 +16,13 @@ void stopMotors() { } void setTargetState(ShooterConstants.ShooterState targetState) { - setMotorOutput(targetState.setShooterState); currentState = targetState; + setMotorOutput(currentState.setShooterState); } - void setMotorOutput(double percentageMotorOutput) { - rightMotor.set(ControlMode.PercentOutput, percentageMotorOutput); - leftMotor.set(ControlMode.PercentOutput, percentageMotorOutput); + void setMotorOutput(double targetMotorOutputPercentage) { + rightMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); + leftMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); } } diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index ccc7cc1..07799d7 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -1,20 +1,21 @@ package frc.robot.subsystems.Shooter; import edu.wpi.first.wpilibj2.command.Command; -import edu.wpi.first.wpilibj2.command.InstantCommand; import edu.wpi.first.wpilibj2.command.StartEndCommand; import frc.robot.RobotContainer; public class ShooterCommands { public static Command getSetTargetStateCommand(ShooterConstants.ShooterState targetState) { - return new InstantCommand( - () -> RobotContainer.SHOOTER.setTargetState(targetState) + return new StartEndCommand( + () -> RobotContainer.SHOOTER.setTargetState(targetState), + RobotContainer.SHOOTER::stopMotors, + RobotContainer.SHOOTER ); } - private static Command getSetMotorOutputCommand(double motorOutput) { + private static Command getSetMotorOutputCommand(double targetMotorOutputPercentage) { return new StartEndCommand( - () -> RobotContainer.SHOOTER.setMotorOutput(motorOutput), + () -> RobotContainer.SHOOTER.setMotorOutput(targetMotorOutputPercentage), RobotContainer.SHOOTER::stopMotors, RobotContainer.SHOOTER ); diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 810c050..26068ea 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -46,13 +46,13 @@ private static final void configureLeftMotor() { public enum ShooterState { SHOOT(1), EJECT(0.3), - COLLECT(-0.3), + EJECT_THROUGH_INTAKE(-0.3), STOP(0); final double setShooterState; - ShooterState(double setShooterState) { - this.setShooterState = setShooterState; + ShooterState(double setTargetState) { + this.setShooterState = setTargetState; } } } \ No newline at end of file From d8e2605ef5349d93507616c8059f3f998cab3ced Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 11:41:39 +0200 Subject: [PATCH 13/27] Update Shooter.java --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 44ee65a..7d7a9ec 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -24,6 +24,4 @@ void setMotorOutput(double targetMotorOutputPercentage) { rightMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); leftMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); } -} - - +} \ No newline at end of file From 0e728720b3cdd8d55d59cdef032b2256f0b5fb34 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 11:42:15 +0200 Subject: [PATCH 14/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 26068ea..51a1f6d 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -46,7 +46,7 @@ private static final void configureLeftMotor() { public enum ShooterState { SHOOT(1), EJECT(0.3), - EJECT_THROUGH_INTAKE(-0.3), + INHALE_GAME_PIECE(-0.3), STOP(0); final double setShooterState; From e5be1c26e64d606edd4cd7cae6c941b35dcdd0ca Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 12:17:30 +0200 Subject: [PATCH 15/27] removed INHALE_GAME_PIECE state --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 51a1f6d..147af44 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -8,7 +8,6 @@ public class ShooterConstants { private static final int RIGHT_MOTOR_ID = 3, LEFT_MOTOR_ID = 4; - static final WPI_TalonSRX RIGHT_MOTOR = new WPI_TalonSRX(RIGHT_MOTOR_ID), LEFT_MOTOR = new WPI_TalonSRX(LEFT_MOTOR_ID); @@ -46,7 +45,6 @@ private static final void configureLeftMotor() { public enum ShooterState { SHOOT(1), EJECT(0.3), - INHALE_GAME_PIECE(-0.3), STOP(0); final double setShooterState; From 5baaacbc10020ca84637f40fda909481eecd1664 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 12:20:15 +0200 Subject: [PATCH 16/27] changed name of setShooterState to shooterStateVoltagePercentage --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 2 +- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 7d7a9ec..32563a6 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -17,7 +17,7 @@ void stopMotors() { void setTargetState(ShooterConstants.ShooterState targetState) { currentState = targetState; - setMotorOutput(currentState.setShooterState); + setMotorOutput(currentState.shooterStateVoltagePercentage); } void setMotorOutput(double targetMotorOutputPercentage) { diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 147af44..fea935f 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -47,10 +47,10 @@ public enum ShooterState { EJECT(0.3), STOP(0); - final double setShooterState; + final double shooterStateVoltagePercentage; - ShooterState(double setTargetState) { - this.setShooterState = setTargetState; + ShooterState(double shooterStateVoltagePercentage) { + this.shooterStateVoltagePercentage = shooterStateVoltagePercentage; } } } \ No newline at end of file From d8220a8541f1ea76c87f116dc31a550fa0ee03df Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 12:20:59 +0200 Subject: [PATCH 17/27] Update ShooterCommands.java --- .../java/frc/robot/subsystems/Shooter/ShooterCommands.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index 07799d7..498c633 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -20,5 +20,4 @@ private static Command getSetMotorOutputCommand(double targetMotorOutputPercenta RobotContainer.SHOOTER ); } -} - +} \ No newline at end of file From 37900ed1017662a3bf7efacb48484a468ed0e5ce Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 13:09:15 +0200 Subject: [PATCH 18/27] Update Shooter.java --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 32563a6..7e8002e 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -1,6 +1,5 @@ package frc.robot.subsystems.Shooter; - import com.ctre.phoenix.motorcontrol.ControlMode; import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; import edu.wpi.first.wpilibj2.command.SubsystemBase; From cdf7fcd2999243e26f0e7e57ca46ba151511090b Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 13:11:56 +0200 Subject: [PATCH 19/27] switched all the targetMotorOutputPercentage to targetVoltagePercentage --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 8 ++++---- .../frc/robot/subsystems/Shooter/ShooterCommands.java | 4 ++-- .../frc/robot/subsystems/Shooter/ShooterConstants.java | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 7e8002e..3cefa82 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -16,11 +16,11 @@ void stopMotors() { void setTargetState(ShooterConstants.ShooterState targetState) { currentState = targetState; - setMotorOutput(currentState.shooterStateVoltagePercentage); + setMotorOutput(currentState.voltagePercentage); } - void setMotorOutput(double targetMotorOutputPercentage) { - rightMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); - leftMotor.set(ControlMode.PercentOutput, targetMotorOutputPercentage); + void setMotorOutput(double targetVoltagePercentage) { + rightMotor.set(ControlMode.PercentOutput, targetVoltagePercentage); + leftMotor.set(ControlMode.PercentOutput, targetVoltagePercentage); } } \ No newline at end of file diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java index 498c633..cb116eb 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterCommands.java @@ -13,9 +13,9 @@ public static Command getSetTargetStateCommand(ShooterConstants.ShooterState tar ); } - private static Command getSetMotorOutputCommand(double targetMotorOutputPercentage) { + private static Command getSetMotorOutputCommand(double targetVoltagePercentage) { return new StartEndCommand( - () -> RobotContainer.SHOOTER.setMotorOutput(targetMotorOutputPercentage), + () -> RobotContainer.SHOOTER.setMotorOutput(targetVoltagePercentage), RobotContainer.SHOOTER::stopMotors, RobotContainer.SHOOTER ); diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index fea935f..8541b2a 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -47,10 +47,10 @@ public enum ShooterState { EJECT(0.3), STOP(0); - final double shooterStateVoltagePercentage; + final double voltagePercentage; - ShooterState(double shooterStateVoltagePercentage) { - this.shooterStateVoltagePercentage = shooterStateVoltagePercentage; + ShooterState(double voltagePercentage) { + this.voltagePercentage = voltagePercentage; } } } \ No newline at end of file From 9037e62ebe76ecdf0afd85f5160fd508127491e7 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 13:17:07 +0200 Subject: [PATCH 20/27] Update RobotContainer.java --- src/main/java/frc/robot/RobotContainer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index a9cd5ef..8b18c0c 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -6,7 +6,6 @@ public class RobotContainer { public static final Shooter SHOOTER = new Shooter(); - public static final Transporter TRANSPORTER = new Transporter(); public RobotContainer() { configureBindings(); From f8d1e26a55da37de3c72caef908ec8bf61d0a5bc Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 14:01:02 +0200 Subject: [PATCH 21/27] Update Shooter.java --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 3cefa82..e5e0ccc 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -1,11 +1,12 @@ package frc.robot.subsystems.Shooter; import com.ctre.phoenix.motorcontrol.ControlMode; +import com.ctre.phoenix.motorcontrol.can.TalonSRX; import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Shooter extends SubsystemBase { - private final WPI_TalonSRX + private final TalonSRX rightMotor = ShooterConstants.RIGHT_MOTOR, leftMotor = ShooterConstants.LEFT_MOTOR; private ShooterConstants.ShooterState currentState; From 2450b98e3710ea77bf78252888127da22650511b Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 14:18:12 +0200 Subject: [PATCH 22/27] Update Shooter.java --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index e5e0ccc..3e4db9a 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -2,7 +2,6 @@ import com.ctre.phoenix.motorcontrol.ControlMode; import com.ctre.phoenix.motorcontrol.can.TalonSRX; -import com.ctre.phoenix.motorcontrol.can.WPI_TalonSRX; import edu.wpi.first.wpilibj2.command.SubsystemBase; public class Shooter extends SubsystemBase { From 69c361b9090bfd8f361ef0597013e2d026888a53 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 14:19:14 +0200 Subject: [PATCH 23/27] Update Shooter.java --- src/main/java/frc/robot/subsystems/Shooter/Shooter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java index 3e4db9a..a095573 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/Shooter/Shooter.java @@ -16,7 +16,7 @@ void stopMotors() { void setTargetState(ShooterConstants.ShooterState targetState) { currentState = targetState; - setMotorOutput(currentState.voltagePercentage); + setMotorOutput(targetState.voltagePercentage); } void setMotorOutput(double targetVoltagePercentage) { From 3b3b4a62a9c2b5b23eb7d3bab1bd15f2b2da9ff5 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 14:21:48 +0200 Subject: [PATCH 24/27] Update Robot.java --- src/main/java/frc/robot/Robot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index aa489da..8065f5e 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -17,7 +17,7 @@ public class Robot extends TimedRobot @Override - public void robotInit() {} + public void robotInit() {robotContainer = new RobotContainer();} @Override From 83e27f0614d36c20e3f3f9e9f2cb6c78fc47fd45 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 14:23:42 +0200 Subject: [PATCH 25/27] Update RobotContainer.java --- src/main/java/frc/robot/RobotContainer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 8b18c0c..c558423 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -3,9 +3,11 @@ import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import frc.robot.subsystems.Shooter.Shooter; +import frc.robot.subsystems.Transporter.Transporter; public class RobotContainer { public static final Shooter SHOOTER = new Shooter(); + public static final Transporter TRANSPORTER = new Transporter(); public RobotContainer() { configureBindings(); @@ -13,7 +15,7 @@ public RobotContainer() { private void configureBindings() { } - + public Command getAutonomousCommand() { return Commands.print("No autonomous command configured"); } From ecdcd49fe2703817797e91b01fc7536c0bb75d54 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 15:52:31 +0200 Subject: [PATCH 26/27] Update Robot.java --- src/main/java/frc/robot/Robot.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index 8065f5e..c94b579 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -17,7 +17,9 @@ public class Robot extends TimedRobot @Override - public void robotInit() {robotContainer = new RobotContainer();} + public void robotInit() { + robotContainer = new RobotContainer(); + } @Override From aa000ef281cf3ea6ff58766738bc9dd3cbd44669 Mon Sep 17 00:00:00 2001 From: ShmayaR Date: Tue, 31 Dec 2024 19:12:51 +0200 Subject: [PATCH 27/27] Update ShooterConstants.java --- .../java/frc/robot/subsystems/Shooter/ShooterConstants.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java index 8541b2a..c9c0b00 100644 --- a/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java +++ b/src/main/java/frc/robot/subsystems/Shooter/ShooterConstants.java @@ -6,8 +6,8 @@ public class ShooterConstants { private static final int - RIGHT_MOTOR_ID = 3, - LEFT_MOTOR_ID = 4; + RIGHT_MOTOR_ID = 6, + LEFT_MOTOR_ID = 7; static final WPI_TalonSRX RIGHT_MOTOR = new WPI_TalonSRX(RIGHT_MOTOR_ID), LEFT_MOTOR = new WPI_TalonSRX(LEFT_MOTOR_ID);