From 3411b79f2609ff33de8aafa6c39302b6d6b1e652 Mon Sep 17 00:00:00 2001 From: Krypton-4-FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:06:41 -0800 Subject: [PATCH 1/7] created hopper subsystem and intake hopper --- src/main/java/frc/robot/RobotContainer.java | 5 +++ .../java/frc/robot/commands/IntakeHopper.java | 43 +++++++++++++++++++ .../java/frc/robot/subsystems/hopper.java | 29 +++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 src/main/java/frc/robot/commands/IntakeHopper.java create mode 100644 src/main/java/frc/robot/subsystems/hopper.java diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 17a43e5c..744e6ee1 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -14,13 +14,17 @@ import frc.robot.RobotMap.mapControllers; import frc.robot.commands.DriveManual; import frc.robot.commands.ExampleAuto; +import frc.robot.commands.IntakeHopper; import frc.robot.subsystems.Drivetrain; +import frc.robot.subsystems.hopper; public class RobotContainer { private final SN_XboxController conDriver = new SN_XboxController(mapControllers.DRIVER_USB); private final Drivetrain subDrivetrain = new Drivetrain(); + private final hopper subHopper = new hopper(); + private final IntakeHopper com_IntakeHopper = new IntakeHopper(subHopper); public RobotContainer() { conDriver.setLeftDeadband(constControllers.DRIVER_LEFT_STICK_DEADBAND); @@ -43,6 +47,7 @@ private void configureBindings() { conDriver.btn_LeftBumper .whileTrue(Commands.runOnce(() -> subDrivetrain.setRobotRelative())) .onFalse(Commands.runOnce(() -> subDrivetrain.setFieldRelative())); + conDriver.btn_Back.whileTrue(com_IntakeHopper); } public Command getAutonomousCommand() { diff --git a/src/main/java/frc/robot/commands/IntakeHopper.java b/src/main/java/frc/robot/commands/IntakeHopper.java new file mode 100644 index 00000000..0daa3cff --- /dev/null +++ b/src/main/java/frc/robot/commands/IntakeHopper.java @@ -0,0 +1,43 @@ +// 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 frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.hopper; + +/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ +public class IntakeHopper extends Command { + + hopper subHopper; + + /** Creates a new Intake_Hopper. */ + public IntakeHopper(hopper subHopper) { + // Use addRequirements() here to declare subsystem dependencies. + this.subHopper = subHopper; + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + + subHopper.runHopper(0.5); + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/subsystems/hopper.java b/src/main/java/frc/robot/subsystems/hopper.java new file mode 100644 index 00000000..4269863a --- /dev/null +++ b/src/main/java/frc/robot/subsystems/hopper.java @@ -0,0 +1,29 @@ +// 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 frc.robot.subsystems; + +import com.ctre.phoenix6.hardware.TalonFX; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class hopper extends SubsystemBase { + + TalonFX hopperMotor; + + /** Creates a new hopper. */ + public hopper() { + hopperMotor = new TalonFX(0); + + } + + public void runHopper(double speed) { + hopperMotor.set(speed); + } + + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} From 12d75122510a5d35bf99e85903b51b050b67581c Mon Sep 17 00:00:00 2001 From: Krypton-4-FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:14:26 -0800 Subject: [PATCH 2/7] byebyebeyebveyebveyebeyebyebeyebbeyvbyeb --- .../java/frc/robot/subsystems/hopper.java | 29 ------------------- 1 file changed, 29 deletions(-) delete mode 100644 src/main/java/frc/robot/subsystems/hopper.java diff --git a/src/main/java/frc/robot/subsystems/hopper.java b/src/main/java/frc/robot/subsystems/hopper.java deleted file mode 100644 index 4269863a..00000000 --- a/src/main/java/frc/robot/subsystems/hopper.java +++ /dev/null @@ -1,29 +0,0 @@ -// 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 frc.robot.subsystems; - -import com.ctre.phoenix6.hardware.TalonFX; - -import edu.wpi.first.wpilibj2.command.SubsystemBase; - -public class hopper extends SubsystemBase { - - TalonFX hopperMotor; - - /** Creates a new hopper. */ - public hopper() { - hopperMotor = new TalonFX(0); - - } - - public void runHopper(double speed) { - hopperMotor.set(speed); - } - - @Override - public void periodic() { - // This method will be called once per scheduler run - } -} From b9c0fddac65efcf08424cf68c84fe370a55f15b7 Mon Sep 17 00:00:00 2001 From: Krypton-4-FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:20:40 -0800 Subject: [PATCH 3/7] =?UTF-8?q?fixed=20=20my=20spelling=20error=20please?= =?UTF-8?q?=20dont=20crucify=20me=F0=9F=A6=9F=E2=84=A2=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/RobotContainer.java | 4 +-- .../java/frc/robot/commands/IntakeHopper.java | 2 +- .../java/frc/robot/subsystems/Hopper.java | 29 +++++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/main/java/frc/robot/subsystems/Hopper.java diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 744e6ee1..761a09d7 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -16,14 +16,14 @@ import frc.robot.commands.ExampleAuto; import frc.robot.commands.IntakeHopper; import frc.robot.subsystems.Drivetrain; -import frc.robot.subsystems.hopper; +import frc.robot.subsystems.Hopper; public class RobotContainer { private final SN_XboxController conDriver = new SN_XboxController(mapControllers.DRIVER_USB); private final Drivetrain subDrivetrain = new Drivetrain(); - private final hopper subHopper = new hopper(); + private final Hopper subHopper = new Hopper(); private final IntakeHopper com_IntakeHopper = new IntakeHopper(subHopper); public RobotContainer() { diff --git a/src/main/java/frc/robot/commands/IntakeHopper.java b/src/main/java/frc/robot/commands/IntakeHopper.java index 0daa3cff..4913988e 100644 --- a/src/main/java/frc/robot/commands/IntakeHopper.java +++ b/src/main/java/frc/robot/commands/IntakeHopper.java @@ -5,7 +5,7 @@ package frc.robot.commands; import edu.wpi.first.wpilibj2.command.Command; -import frc.robot.subsystems.hopper; +import frc.robot.subsystems.Hopper; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class IntakeHopper extends Command { diff --git a/src/main/java/frc/robot/subsystems/Hopper.java b/src/main/java/frc/robot/subsystems/Hopper.java new file mode 100644 index 00000000..f2835ecf --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Hopper.java @@ -0,0 +1,29 @@ +// 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 frc.robot.subsystems; + +import com.ctre.phoenix6.hardware.TalonFX; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class Hopper extends SubsystemBase { + + TalonFX hopperMotor; + + /** Creates a new hopper. */ + public Hopper() { + hopperMotor = new TalonFX(0); + + } + + public void runHopper(double speed) { + hopperMotor.set(speed); + } + + @Override + public void periodic() { + // This method will be called once per scheduler run + } +} From 05dbe1e31900fe2249ad63d1fe0bda543b06220c Mon Sep 17 00:00:00 2001 From: Krypton-4-FRCTeam3255-Shared <170778697+FRCTeam3255-Shared@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:28:24 -0800 Subject: [PATCH 4/7] =?UTF-8?q?made=20it=20a=20constant=F0=9F=A6=9F?= =?UTF-8?q?=E2=84=A2=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/Constants.java | 3 +++ src/main/java/frc/robot/commands/IntakeHopper.java | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index 1316541f..4f1ff7e6 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -236,4 +236,7 @@ public static class constVision { public static final double STD_DEVS_HEADING = 9999999; } + public static class constHopper{ + public static final double HOPPER_SPEED = 0.5; + } } diff --git a/src/main/java/frc/robot/commands/IntakeHopper.java b/src/main/java/frc/robot/commands/IntakeHopper.java index 4913988e..c1eaab9a 100644 --- a/src/main/java/frc/robot/commands/IntakeHopper.java +++ b/src/main/java/frc/robot/commands/IntakeHopper.java @@ -5,15 +5,16 @@ package frc.robot.commands; import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.Constants.constHopper; import frc.robot.subsystems.Hopper; /* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ public class IntakeHopper extends Command { - hopper subHopper; + Hopper subHopper; /** Creates a new Intake_Hopper. */ - public IntakeHopper(hopper subHopper) { + public IntakeHopper(Hopper subHopper) { // Use addRequirements() here to declare subsystem dependencies. this.subHopper = subHopper; } @@ -22,7 +23,7 @@ public IntakeHopper(hopper subHopper) { @Override public void initialize() { - subHopper.runHopper(0.5); + subHopper.runHopper(constHopper.HOPPER_SPEED); } // Called every time the scheduler runs while the command is scheduled. From 70f775ca03d1a5c2abd9834ab90c887e3db6a5f2 Mon Sep 17 00:00:00 2001 From: BrodyKarr <145169276+BrodyKarr@users.noreply.github.com> Date: Fri, 10 Jan 2025 20:57:14 -0800 Subject: [PATCH 5/7] =?UTF-8?q?made=20it=20stop=F0=9F=A6=9F=E2=84=A2?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/commands/IntakeHopper.java | 1 + src/main/java/frc/robot/subsystems/Hopper.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/frc/robot/commands/IntakeHopper.java b/src/main/java/frc/robot/commands/IntakeHopper.java index c1eaab9a..14867f1a 100644 --- a/src/main/java/frc/robot/commands/IntakeHopper.java +++ b/src/main/java/frc/robot/commands/IntakeHopper.java @@ -34,6 +34,7 @@ public void execute() { // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { + subHopper.setHopperNeutralOutput(0); } // Returns true when the command should end. diff --git a/src/main/java/frc/robot/subsystems/Hopper.java b/src/main/java/frc/robot/subsystems/Hopper.java index f2835ecf..24c3e567 100644 --- a/src/main/java/frc/robot/subsystems/Hopper.java +++ b/src/main/java/frc/robot/subsystems/Hopper.java @@ -21,6 +21,9 @@ public Hopper() { public void runHopper(double speed) { hopperMotor.set(speed); } + public void setHopperNeutralOutput(double speed){ + hopperMotor.set(speed); + } @Override public void periodic() { From 985c6a4c131d8f9e3820b87b9ff9767f40ac0fe1 Mon Sep 17 00:00:00 2001 From: BrodyKarr <145169276+BrodyKarr@users.noreply.github.com> Date: Sat, 11 Jan 2025 09:53:08 -0800 Subject: [PATCH 6/7] =?UTF-8?q?fixed=20things=20based=20on=20comments?= =?UTF-8?q?=F0=9F=A6=9F=E2=84=A2=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/Constants.java | 10 +++++++--- src/main/java/frc/robot/RobotContainer.java | 5 ++--- src/main/java/frc/robot/commands/IntakeHopper.java | 2 +- src/main/java/frc/robot/subsystems/Hopper.java | 6 +++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java index cceac996..13a18760 100644 --- a/src/main/java/frc/robot/Constants.java +++ b/src/main/java/frc/robot/Constants.java @@ -241,7 +241,11 @@ public static class constVision { public static final double STD_DEVS_HEADING = 9999999; } - public static class constHopper{ - public static final double HOPPER_SPEED = 0.5; - } + + public static class constHopper { + public static final double HOPPER_SPEED = 0.5; + + public static final TalonFXConfiguration HOPPER_CONFIG = new TalonFXConfiguration(); + + } } diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java index 03d19c50..0adb4667 100644 --- a/src/main/java/frc/robot/RobotContainer.java +++ b/src/main/java/frc/robot/RobotContainer.java @@ -15,8 +15,8 @@ import frc.robot.RobotMap.mapControllers; import frc.robot.commands.DriveManual; import frc.robot.commands.ExampleAuto; -import frc.robot.commands.* -import frc.robot.subsystems.* +import frc.robot.commands.*; +import frc.robot.subsystems.*; public class RobotContainer { @@ -30,7 +30,6 @@ public class RobotContainer { private final AlgaeIntake subAlgaeIntake = new AlgaeIntake(); - public RobotContainer() { conDriver.setLeftDeadband(constControllers.DRIVER_LEFT_STICK_DEADBAND); diff --git a/src/main/java/frc/robot/commands/IntakeHopper.java b/src/main/java/frc/robot/commands/IntakeHopper.java index 14867f1a..d53a23d8 100644 --- a/src/main/java/frc/robot/commands/IntakeHopper.java +++ b/src/main/java/frc/robot/commands/IntakeHopper.java @@ -34,7 +34,7 @@ public void execute() { // Called once the command ends or is interrupted. @Override public void end(boolean interrupted) { - subHopper.setHopperNeutralOutput(0); + subHopper.runHopper(0); } // Returns true when the command should end. diff --git a/src/main/java/frc/robot/subsystems/Hopper.java b/src/main/java/frc/robot/subsystems/Hopper.java index 24c3e567..b6f922b6 100644 --- a/src/main/java/frc/robot/subsystems/Hopper.java +++ b/src/main/java/frc/robot/subsystems/Hopper.java @@ -7,6 +7,7 @@ import com.ctre.phoenix6.hardware.TalonFX; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Constants.constHopper; public class Hopper extends SubsystemBase { @@ -16,14 +17,13 @@ public class Hopper extends SubsystemBase { public Hopper() { hopperMotor = new TalonFX(0); + hopperMotor.getConfigurator().apply(constHopper.HOPPER_CONFIG); + } public void runHopper(double speed) { hopperMotor.set(speed); } - public void setHopperNeutralOutput(double speed){ - hopperMotor.set(speed); - } @Override public void periodic() { From 0404d46a6b8a72d62676b0128313c434a0ec0673 Mon Sep 17 00:00:00 2001 From: BrodyKarr <145169276+BrodyKarr@users.noreply.github.com> Date: Sat, 11 Jan 2025 10:04:39 -0800 Subject: [PATCH 7/7] =?UTF-8?q?imported=20the=20motor=20ID=20to=20prevent?= =?UTF-8?q?=20conflicts=F0=9F=A6=9F=E2=84=A2=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/frc/robot/RobotMap.java | 5 +++++ src/main/java/frc/robot/subsystems/Hopper.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/frc/robot/RobotMap.java b/src/main/java/frc/robot/RobotMap.java index 108f20cc..7ec7f08a 100644 --- a/src/main/java/frc/robot/RobotMap.java +++ b/src/main/java/frc/robot/RobotMap.java @@ -36,4 +36,9 @@ public static class mapDrivetrain { public static class mapAlgaeIntake { public static final int ALGAE_MOTOR_CAN = 10; } + + // Hopper is 40-49 + public static class mapHopper { + public static final int HOPPER_MOTOR_CAN = 40; + } } diff --git a/src/main/java/frc/robot/subsystems/Hopper.java b/src/main/java/frc/robot/subsystems/Hopper.java index b6f922b6..382bac78 100644 --- a/src/main/java/frc/robot/subsystems/Hopper.java +++ b/src/main/java/frc/robot/subsystems/Hopper.java @@ -8,6 +8,7 @@ import edu.wpi.first.wpilibj2.command.SubsystemBase; import frc.robot.Constants.constHopper; +import frc.robot.RobotMap.mapHopper; public class Hopper extends SubsystemBase { @@ -15,7 +16,7 @@ public class Hopper extends SubsystemBase { /** Creates a new hopper. */ public Hopper() { - hopperMotor = new TalonFX(0); + hopperMotor = new TalonFX(mapHopper.HOPPER_MOTOR_CAN); hopperMotor.getConfigurator().apply(constHopper.HOPPER_CONFIG);