From 3385219cc183382d1c4e006f57585a0f24704c80 Mon Sep 17 00:00:00 2001 From: stavit456 Date: Tue, 14 Jan 2025 22:15:48 +0200 Subject: [PATCH 1/6] I finished AlgaeArm. --- .../frc/robot/commands/ExtendedAlgaeArm.java | 35 +++++++++++++ .../frc/robot/commands/RetractAlgaeArm.java | 34 +++++++++++++ .../java/frc/robot/subsystems/AlgaeArm.java | 49 +++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 src/main/java/frc/robot/commands/ExtendedAlgaeArm.java create mode 100644 src/main/java/frc/robot/commands/RetractAlgaeArm.java create mode 100644 src/main/java/frc/robot/subsystems/AlgaeArm.java diff --git a/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java new file mode 100644 index 0000000..46b88ea --- /dev/null +++ b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java @@ -0,0 +1,35 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.AlgaeArm; + +public class ExtendedAlgaeArm extends Command { + private AlgaeArm algaeArm; + + public ExtendedAlgaeArm(AlgaeArm algaeArm){ + this.algaeArm = algaeArm; + + addRequirements(algaeArm); + } + + @Override + public void initialize() { + algaeArm.extend(); + } + + @Override + public void execute() { + + } + + @Override + public boolean isFinished() { + return algaeArm.isExtended(); + } + + @Override + public void end(boolean interrupted) { + + } + +} diff --git a/src/main/java/frc/robot/commands/RetractAlgaeArm.java b/src/main/java/frc/robot/commands/RetractAlgaeArm.java new file mode 100644 index 0000000..f18b5bc --- /dev/null +++ b/src/main/java/frc/robot/commands/RetractAlgaeArm.java @@ -0,0 +1,34 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.AlgaeArm; + +public class RetractAlgaeArm extends Command { + private AlgaeArm algaeArm; + + public RetractAlgaeArm(AlgaeArm algaeArm){ + this.algaeArm = algaeArm; + + addRequirements(algaeArm); + } + + @Override + public void initialize() { + algaeArm.retract(); + } + + @Override + public void execute() { + + } + + @Override + public boolean isFinished() { + return algaeArm.isRetracted(); + } + + @Override + public void end(boolean interrupted) { + } + +} diff --git a/src/main/java/frc/robot/subsystems/AlgaeArm.java b/src/main/java/frc/robot/subsystems/AlgaeArm.java new file mode 100644 index 0000000..f6c5512 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/AlgaeArm.java @@ -0,0 +1,49 @@ +package frc.robot.subsystems; + +import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj.DoubleSolenoid; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class AlgaeArm extends SubsystemBase { + private DoubleSolenoid solenoidLeft; + private DoubleSolenoid solenoidRight; + private DigitalInput switchLeft; + private DigitalInput switchRight; + + public AlgaeArm(DoubleSolenoid solenoidLeft, DoubleSolenoid solenoidRight, DigitalInput switchLeft, DigitalInput switchRight){ + this.solenoidLeft = solenoidLeft; + this.solenoidRight = solenoidRight; + this.switchLeft = switchLeft; + this.switchRight = switchRight; + } + + public boolean isExtended(){ + return !(switchLeft.get()) && !(switchRight.get()); + } + + public boolean isRetracted(){ + return switchLeft.get() && switchRight.get(); + } + + public void extend(){ + solenoidLeft.set(DoubleSolenoid.Value.kForward); + solenoidRight.set(DoubleSolenoid.Value.kForward); + } + + public void retract(){ + solenoidLeft.set(DoubleSolenoid.Value.kReverse); + solenoidRight.set(DoubleSolenoid.Value.kReverse); + } + + public void stop(){ + solenoidLeft.set(DoubleSolenoid.Value.kOff); + solenoidRight.set(DoubleSolenoid.Value.kOff); + } + + public void periodic(){ + SmartDashboard.putBoolean("Extended", isExtended()); + SmartDashboard.putBoolean("Retracted", isRetracted()); + } + +} From c3daf60893021683c2cc65a369aa8caf29ffa6bc Mon Sep 17 00:00:00 2001 From: stavit456 Date: Tue, 14 Jan 2025 23:00:04 +0200 Subject: [PATCH 2/6] I finished AlgaeGripper. --- .../java/frc/robot/commands/CollectAlgae.java | 36 ++++++++++++++++ .../java/frc/robot/commands/HoldAlgae.java | 34 +++++++++++++++ .../java/frc/robot/commands/ReleaseAlgae.java | 34 +++++++++++++++ .../frc/robot/subsystems/AlgaeGripper.java | 43 +++++++++++++++++++ 4 files changed, 147 insertions(+) create mode 100644 src/main/java/frc/robot/commands/CollectAlgae.java create mode 100644 src/main/java/frc/robot/commands/HoldAlgae.java create mode 100644 src/main/java/frc/robot/commands/ReleaseAlgae.java create mode 100644 src/main/java/frc/robot/subsystems/AlgaeGripper.java diff --git a/src/main/java/frc/robot/commands/CollectAlgae.java b/src/main/java/frc/robot/commands/CollectAlgae.java new file mode 100644 index 0000000..ccdac7b --- /dev/null +++ b/src/main/java/frc/robot/commands/CollectAlgae.java @@ -0,0 +1,36 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.AlgaeGripper; + +public class CollectAlgae extends Command { + private AlgaeGripper algaeGripper; + + public CollectAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; + + addRequirements(algaeGripper); + } + + @Override + public void initialize() { + algaeGripper.rotateCollect(); + } + + @Override + public void execute() { + + } + + @Override + public boolean isFinished() { + return algaeGripper.hasAlgae(); + } + + @Override + public void end(boolean interrupted) { + + } + + +} diff --git a/src/main/java/frc/robot/commands/HoldAlgae.java b/src/main/java/frc/robot/commands/HoldAlgae.java new file mode 100644 index 0000000..f9190a6 --- /dev/null +++ b/src/main/java/frc/robot/commands/HoldAlgae.java @@ -0,0 +1,34 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.AlgaeGripper; + +public class HoldAlgae extends Command { + private AlgaeGripper algaeGripper; + + public HoldAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; + + addRequirements(algaeGripper); + } + + @Override + public void initialize() { + algaeGripper.rotateHold(); + } + + @Override + public void execute() { + + } + + @Override + public boolean isFinished() { + return false; + } + + @Override + public void end(boolean interrupted) { + + } +} diff --git a/src/main/java/frc/robot/commands/ReleaseAlgae.java b/src/main/java/frc/robot/commands/ReleaseAlgae.java new file mode 100644 index 0000000..d5c8028 --- /dev/null +++ b/src/main/java/frc/robot/commands/ReleaseAlgae.java @@ -0,0 +1,34 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.AlgaeGripper; + +public class ReleaseAlgae extends Command { + private AlgaeGripper algaeGripper; + + public ReleaseAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; + + addRequirements(algaeGripper); + } + + @Override + public void initialize() { + algaeGripper.rotateRelease(); + } + + @Override + public void execute() { + + } + + @Override + public boolean isFinished() { + return !algaeGripper.hasAlgae(); + } + + @Override + public void end(boolean interrupted) { + + } +} diff --git a/src/main/java/frc/robot/subsystems/AlgaeGripper.java b/src/main/java/frc/robot/subsystems/AlgaeGripper.java new file mode 100644 index 0000000..ff81fbd --- /dev/null +++ b/src/main/java/frc/robot/subsystems/AlgaeGripper.java @@ -0,0 +1,43 @@ +package frc.robot.subsystems; + +import com.revrobotics.spark.SparkMax; +import edu.wpi.first.wpilibj.DigitalInput; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; +import edu.wpi.first.wpilibj2.command.SubsystemBase; + +public class AlgaeGripper extends SubsystemBase { + private SparkMax motor; + private DigitalInput digitalInput; + private static final double COLLECT_SPEED = 0.8; + private static final double RELEASE_SPEED = -0.5; + private static final double HOLD_SPEED = 0.2; + + public AlgaeGripper(SparkMax motor, DigitalInput digitalInput){ + this.motor = motor; + this.digitalInput = digitalInput; + } + + public boolean hasAlgae(){ + return !digitalInput.get(); + } + + public void rotateCollect(){ + motor.set(COLLECT_SPEED); + } + + public void rotateRelease(){ + motor.set(RELEASE_SPEED); + } + + public void rotateHold(){ + motor.set(HOLD_SPEED); + } + + public void stop(){ + motor.stopMotor(); + } + + public void periodic(){ + SmartDashboard.putBoolean("HasAlgae", hasAlgae()); + } +} From ad62a78cb206ad89bead838182d26a994e404cd9 Mon Sep 17 00:00:00 2001 From: stavit456 Date: Thu, 16 Jan 2025 21:59:52 +0200 Subject: [PATCH 3/6] Added override. --- src/main/java/frc/robot/subsystems/AlgaeArm.java | 1 + src/main/java/frc/robot/subsystems/AlgaeGripper.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/frc/robot/subsystems/AlgaeArm.java b/src/main/java/frc/robot/subsystems/AlgaeArm.java index f6c5512..e0bd699 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeArm.java +++ b/src/main/java/frc/robot/subsystems/AlgaeArm.java @@ -41,6 +41,7 @@ public void stop(){ solenoidRight.set(DoubleSolenoid.Value.kOff); } + @Override public void periodic(){ SmartDashboard.putBoolean("Extended", isExtended()); SmartDashboard.putBoolean("Retracted", isRetracted()); diff --git a/src/main/java/frc/robot/subsystems/AlgaeGripper.java b/src/main/java/frc/robot/subsystems/AlgaeGripper.java index ff81fbd..92e6c53 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeGripper.java +++ b/src/main/java/frc/robot/subsystems/AlgaeGripper.java @@ -37,6 +37,7 @@ public void stop(){ motor.stopMotor(); } + @Override public void periodic(){ SmartDashboard.putBoolean("HasAlgae", hasAlgae()); } From be8ef5a30057b701194ffa6f5cecbbb41f299660 Mon Sep 17 00:00:00 2001 From: stavit456 Date: Sun, 19 Jan 2025 13:33:18 +0200 Subject: [PATCH 4/6] I fixed all the problems. --- src/main/java/frc/robot/Robot.java | 6 +++ src/main/java/frc/robot/RobotMap.java | 9 +++- .../java/frc/robot/commands/CollectAlgae.java | 6 +-- .../frc/robot/commands/ExtendedAlgaeArm.java | 6 +-- .../java/frc/robot/commands/HoldAlgae.java | 6 +-- .../java/frc/robot/commands/ReleaseAlgae.java | 4 +- .../frc/robot/commands/RetractAlgaeArm.java | 4 +- .../java/frc/robot/subsystems/AlgaeArm.java | 42 ++++++++++--------- .../frc/robot/subsystems/AlgaeGripper.java | 13 +++--- 9 files changed, 57 insertions(+), 39 deletions(-) diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index 5e83310..dc78006 100755 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -2,11 +2,17 @@ import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj2.command.CommandScheduler; +import frc.robot.subsystems.AlgaeArm; +import frc.robot.subsystems.AlgaeGripper; public class Robot extends TimedRobot { + private AlgaeArm algaeArm; + private AlgaeGripper algaeGripper; @Override public void robotInit() { + algaeArm = new AlgaeArm(); + algaeGripper = new AlgaeGripper(); } diff --git a/src/main/java/frc/robot/RobotMap.java b/src/main/java/frc/robot/RobotMap.java index adc8e19..469467b 100644 --- a/src/main/java/frc/robot/RobotMap.java +++ b/src/main/java/frc/robot/RobotMap.java @@ -3,7 +3,14 @@ public class RobotMap { private RobotMap() {} - + public static final int ALGAE_GRIPPER_DIGITALINPUT = 0; + public static final int ALGAE_ARM_TOP = 0; + public static final int ALGAE_ARM_BOTTOM = 0; + public static final int ALGAE_GRIPPER_MOTOR = 0; + public static final int FORWARD_PISTON_FORWARD_CHANNEL = 0; + public static final int FORWARD_PISTON_REVERSE_CHANI = 0; + public static final int BACKWARD_PISTON_FORWARD_CHANNEL = 0; + public static final int BACKWARD_PISTON_REVERSE_CHANI = 0; // add constants here // public static final type NAME = value; } diff --git a/src/main/java/frc/robot/commands/CollectAlgae.java b/src/main/java/frc/robot/commands/CollectAlgae.java index ccdac7b..31bb8b6 100644 --- a/src/main/java/frc/robot/commands/CollectAlgae.java +++ b/src/main/java/frc/robot/commands/CollectAlgae.java @@ -6,8 +6,8 @@ public class CollectAlgae extends Command { private AlgaeGripper algaeGripper; - public CollectAlgae(AlgaeGripper algaeGripper){ - this.algaeGripper = algaeGripper; + public CollectAlgae(){ + this.algaeGripper = new AlgaeGripper(); addRequirements(algaeGripper); } @@ -29,7 +29,7 @@ public boolean isFinished() { @Override public void end(boolean interrupted) { - + algaeGripper.stop(); } diff --git a/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java index 46b88ea..09c7361 100644 --- a/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java +++ b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java @@ -6,8 +6,8 @@ public class ExtendedAlgaeArm extends Command { private AlgaeArm algaeArm; - public ExtendedAlgaeArm(AlgaeArm algaeArm){ - this.algaeArm = algaeArm; + public ExtendedAlgaeArm(){ + this.algaeArm = new AlgaeArm(); addRequirements(algaeArm); } @@ -29,7 +29,7 @@ public boolean isFinished() { @Override public void end(boolean interrupted) { - + algaeArm.stop(); } } diff --git a/src/main/java/frc/robot/commands/HoldAlgae.java b/src/main/java/frc/robot/commands/HoldAlgae.java index f9190a6..ed0a90f 100644 --- a/src/main/java/frc/robot/commands/HoldAlgae.java +++ b/src/main/java/frc/robot/commands/HoldAlgae.java @@ -6,8 +6,8 @@ public class HoldAlgae extends Command { private AlgaeGripper algaeGripper; - public HoldAlgae(AlgaeGripper algaeGripper){ - this.algaeGripper = algaeGripper; + public HoldAlgae(){ + this.algaeGripper = new AlgaeGripper(); addRequirements(algaeGripper); } @@ -29,6 +29,6 @@ public boolean isFinished() { @Override public void end(boolean interrupted) { - + algaeGripper.stop(); } } diff --git a/src/main/java/frc/robot/commands/ReleaseAlgae.java b/src/main/java/frc/robot/commands/ReleaseAlgae.java index d5c8028..0f5117b 100644 --- a/src/main/java/frc/robot/commands/ReleaseAlgae.java +++ b/src/main/java/frc/robot/commands/ReleaseAlgae.java @@ -6,8 +6,8 @@ public class ReleaseAlgae extends Command { private AlgaeGripper algaeGripper; - public ReleaseAlgae(AlgaeGripper algaeGripper){ - this.algaeGripper = algaeGripper; + public ReleaseAlgae(){ + this.algaeGripper = new AlgaeGripper(); addRequirements(algaeGripper); } diff --git a/src/main/java/frc/robot/commands/RetractAlgaeArm.java b/src/main/java/frc/robot/commands/RetractAlgaeArm.java index f18b5bc..4ff6fee 100644 --- a/src/main/java/frc/robot/commands/RetractAlgaeArm.java +++ b/src/main/java/frc/robot/commands/RetractAlgaeArm.java @@ -6,8 +6,8 @@ public class RetractAlgaeArm extends Command { private AlgaeArm algaeArm; - public RetractAlgaeArm(AlgaeArm algaeArm){ - this.algaeArm = algaeArm; + public RetractAlgaeArm(){ + this.algaeArm = new AlgaeArm(); addRequirements(algaeArm); } diff --git a/src/main/java/frc/robot/subsystems/AlgaeArm.java b/src/main/java/frc/robot/subsystems/AlgaeArm.java index e0bd699..87155ce 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeArm.java +++ b/src/main/java/frc/robot/subsystems/AlgaeArm.java @@ -2,49 +2,51 @@ import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj.DoubleSolenoid; +import edu.wpi.first.wpilibj.PneumaticsModuleType; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.RobotMap; public class AlgaeArm extends SubsystemBase { - private DoubleSolenoid solenoidLeft; - private DoubleSolenoid solenoidRight; - private DigitalInput switchLeft; - private DigitalInput switchRight; - - public AlgaeArm(DoubleSolenoid solenoidLeft, DoubleSolenoid solenoidRight, DigitalInput switchLeft, DigitalInput switchRight){ - this.solenoidLeft = solenoidLeft; - this.solenoidRight = solenoidRight; - this.switchLeft = switchLeft; - this.switchRight = switchRight; + private DoubleSolenoid solenoidForward; + private DoubleSolenoid solenoidBackward; + private DigitalInput switchTop; + private DigitalInput switchBottom; + + public AlgaeArm(){ + this.solenoidForward = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.FORWARD_PISTON_FORWARD_CHANNEL, RobotMap.FORWARD_PISTON_REVERSE_CHANI); + this.solenoidBackward = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.BACKWARD_PISTON_FORWARD_CHANNEL, RobotMap.BACKWARD_PISTON_REVERSE_CHANI); + this.switchTop = new DigitalInput(RobotMap.ALGAE_ARM_TOP); + this.switchBottom = new DigitalInput(RobotMap.ALGAE_ARM_BOTTOM); } public boolean isExtended(){ - return !(switchLeft.get()) && !(switchRight.get()); + return !(switchTop.get()) && !(switchBottom.get()); } public boolean isRetracted(){ - return switchLeft.get() && switchRight.get(); + return switchTop.get() && switchBottom.get(); } public void extend(){ - solenoidLeft.set(DoubleSolenoid.Value.kForward); - solenoidRight.set(DoubleSolenoid.Value.kForward); + solenoidForward.set(DoubleSolenoid.Value.kForward); + solenoidBackward.set(DoubleSolenoid.Value.kForward); } public void retract(){ - solenoidLeft.set(DoubleSolenoid.Value.kReverse); - solenoidRight.set(DoubleSolenoid.Value.kReverse); + solenoidForward.set(DoubleSolenoid.Value.kReverse); + solenoidBackward.set(DoubleSolenoid.Value.kReverse); } public void stop(){ - solenoidLeft.set(DoubleSolenoid.Value.kOff); - solenoidRight.set(DoubleSolenoid.Value.kOff); + solenoidForward.set(DoubleSolenoid.Value.kOff); + solenoidBackward.set(DoubleSolenoid.Value.kOff); } @Override public void periodic(){ - SmartDashboard.putBoolean("Extended", isExtended()); - SmartDashboard.putBoolean("Retracted", isRetracted()); + SmartDashboard.putBoolean("AlgaeArmExtended", isExtended()); + SmartDashboard.putBoolean("AlgaeArmRetracted", isRetracted()); } } diff --git a/src/main/java/frc/robot/subsystems/AlgaeGripper.java b/src/main/java/frc/robot/subsystems/AlgaeGripper.java index 92e6c53..1f8aba8 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeGripper.java +++ b/src/main/java/frc/robot/subsystems/AlgaeGripper.java @@ -1,20 +1,23 @@ package frc.robot.subsystems; +import com.revrobotics.spark.SparkLowLevel; import com.revrobotics.spark.SparkMax; import edu.wpi.first.wpilibj.DigitalInput; import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.RobotMap; public class AlgaeGripper extends SubsystemBase { - private SparkMax motor; - private DigitalInput digitalInput; private static final double COLLECT_SPEED = 0.8; private static final double RELEASE_SPEED = -0.5; private static final double HOLD_SPEED = 0.2; + private SparkMax motor; + private DigitalInput digitalInput; + - public AlgaeGripper(SparkMax motor, DigitalInput digitalInput){ - this.motor = motor; - this.digitalInput = digitalInput; + public AlgaeGripper(){ + this.motor = new SparkMax(RobotMap.ALGAE_GRIPPER_MOTOR, SparkLowLevel.MotorType.kBrushless); + this.digitalInput = new DigitalInput(RobotMap.ALGAE_GRIPPER_DIGITALINPUT); } public boolean hasAlgae(){ From 097b03f66283f5ca9440b86ae140c443e7b8cfd3 Mon Sep 17 00:00:00 2001 From: stavit456 Date: Sun, 19 Jan 2025 14:18:49 +0200 Subject: [PATCH 5/6] I fixed the last problems. --- src/main/java/frc/robot/RobotMap.java | 12 ++++---- .../java/frc/robot/commands/CollectAlgae.java | 6 ++-- .../frc/robot/commands/ExtendedAlgaeArm.java | 8 +++--- .../java/frc/robot/commands/HoldAlgae.java | 6 ++-- .../java/frc/robot/commands/ReleaseAlgae.java | 8 +++--- .../frc/robot/commands/RetractAlgaeArm.java | 6 ++-- .../java/frc/robot/subsystems/AlgaeArm.java | 28 +++++++++---------- .../frc/robot/subsystems/AlgaeGripper.java | 4 +-- 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/main/java/frc/robot/RobotMap.java b/src/main/java/frc/robot/RobotMap.java index 469467b..9b31a23 100644 --- a/src/main/java/frc/robot/RobotMap.java +++ b/src/main/java/frc/robot/RobotMap.java @@ -4,13 +4,13 @@ public class RobotMap { private RobotMap() {} public static final int ALGAE_GRIPPER_DIGITALINPUT = 0; - public static final int ALGAE_ARM_TOP = 0; - public static final int ALGAE_ARM_BOTTOM = 0; + public static final int ALGAE_ARM_SWITCH_TOP = 0; + public static final int ALGAE_ARM_SWITCH_BOTTOM = 0; public static final int ALGAE_GRIPPER_MOTOR = 0; - public static final int FORWARD_PISTON_FORWARD_CHANNEL = 0; - public static final int FORWARD_PISTON_REVERSE_CHANI = 0; - public static final int BACKWARD_PISTON_FORWARD_CHANNEL = 0; - public static final int BACKWARD_PISTON_REVERSE_CHANI = 0; + public static final int ALGEA_ARM_FORWARD_PISTON_FORWARD_CHANNEL = 0; + public static final int ALGEA_ARM_FORWARD_PISTON_REVERSE_CHANI = 0; + public static final int ALGEA_ARM_BACKWARD_PISTON_FORWARD_CHANNEL = 0; + public static final int ALGEA_ARM_BACKWARD_PISTON_REVERSE_CHANI = 0; // add constants here // public static final type NAME = value; } diff --git a/src/main/java/frc/robot/commands/CollectAlgae.java b/src/main/java/frc/robot/commands/CollectAlgae.java index 31bb8b6..32fca9d 100644 --- a/src/main/java/frc/robot/commands/CollectAlgae.java +++ b/src/main/java/frc/robot/commands/CollectAlgae.java @@ -4,10 +4,10 @@ import frc.robot.subsystems.AlgaeGripper; public class CollectAlgae extends Command { - private AlgaeGripper algaeGripper; + private final AlgaeGripper algaeGripper; - public CollectAlgae(){ - this.algaeGripper = new AlgaeGripper(); + public CollectAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; addRequirements(algaeGripper); } diff --git a/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java index 09c7361..b9d97c9 100644 --- a/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java +++ b/src/main/java/frc/robot/commands/ExtendedAlgaeArm.java @@ -4,10 +4,10 @@ import frc.robot.subsystems.AlgaeArm; public class ExtendedAlgaeArm extends Command { - private AlgaeArm algaeArm; + private final AlgaeArm algaeArm; - public ExtendedAlgaeArm(){ - this.algaeArm = new AlgaeArm(); + public ExtendedAlgaeArm(AlgaeArm algaeArm){ + this.algaeArm = algaeArm; addRequirements(algaeArm); } @@ -29,7 +29,7 @@ public boolean isFinished() { @Override public void end(boolean interrupted) { - algaeArm.stop(); + } } diff --git a/src/main/java/frc/robot/commands/HoldAlgae.java b/src/main/java/frc/robot/commands/HoldAlgae.java index ed0a90f..5c063b0 100644 --- a/src/main/java/frc/robot/commands/HoldAlgae.java +++ b/src/main/java/frc/robot/commands/HoldAlgae.java @@ -4,10 +4,10 @@ import frc.robot.subsystems.AlgaeGripper; public class HoldAlgae extends Command { - private AlgaeGripper algaeGripper; + private final AlgaeGripper algaeGripper; - public HoldAlgae(){ - this.algaeGripper = new AlgaeGripper(); + public HoldAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; addRequirements(algaeGripper); } diff --git a/src/main/java/frc/robot/commands/ReleaseAlgae.java b/src/main/java/frc/robot/commands/ReleaseAlgae.java index 0f5117b..9dfb479 100644 --- a/src/main/java/frc/robot/commands/ReleaseAlgae.java +++ b/src/main/java/frc/robot/commands/ReleaseAlgae.java @@ -4,10 +4,10 @@ import frc.robot.subsystems.AlgaeGripper; public class ReleaseAlgae extends Command { - private AlgaeGripper algaeGripper; + private final AlgaeGripper algaeGripper; - public ReleaseAlgae(){ - this.algaeGripper = new AlgaeGripper(); + public ReleaseAlgae(AlgaeGripper algaeGripper){ + this.algaeGripper = algaeGripper; addRequirements(algaeGripper); } @@ -29,6 +29,6 @@ public boolean isFinished() { @Override public void end(boolean interrupted) { - + algaeGripper.stop(); } } diff --git a/src/main/java/frc/robot/commands/RetractAlgaeArm.java b/src/main/java/frc/robot/commands/RetractAlgaeArm.java index 4ff6fee..a575f2c 100644 --- a/src/main/java/frc/robot/commands/RetractAlgaeArm.java +++ b/src/main/java/frc/robot/commands/RetractAlgaeArm.java @@ -4,10 +4,10 @@ import frc.robot.subsystems.AlgaeArm; public class RetractAlgaeArm extends Command { - private AlgaeArm algaeArm; + private final AlgaeArm algaeArm; - public RetractAlgaeArm(){ - this.algaeArm = new AlgaeArm(); + public RetractAlgaeArm(AlgaeArm algaeArm){ + this.algaeArm = algaeArm; addRequirements(algaeArm); } diff --git a/src/main/java/frc/robot/subsystems/AlgaeArm.java b/src/main/java/frc/robot/subsystems/AlgaeArm.java index 87155ce..9ab977e 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeArm.java +++ b/src/main/java/frc/robot/subsystems/AlgaeArm.java @@ -8,16 +8,16 @@ import frc.robot.RobotMap; public class AlgaeArm extends SubsystemBase { - private DoubleSolenoid solenoidForward; - private DoubleSolenoid solenoidBackward; - private DigitalInput switchTop; - private DigitalInput switchBottom; + private final DoubleSolenoid solenoid1; + private final DoubleSolenoid solenoid2; + private final DigitalInput switchTop; + private final DigitalInput switchBottom; public AlgaeArm(){ - this.solenoidForward = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.FORWARD_PISTON_FORWARD_CHANNEL, RobotMap.FORWARD_PISTON_REVERSE_CHANI); - this.solenoidBackward = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.BACKWARD_PISTON_FORWARD_CHANNEL, RobotMap.BACKWARD_PISTON_REVERSE_CHANI); - this.switchTop = new DigitalInput(RobotMap.ALGAE_ARM_TOP); - this.switchBottom = new DigitalInput(RobotMap.ALGAE_ARM_BOTTOM); + this.solenoid1 = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.ALGEA_ARM_FORWARD_PISTON_FORWARD_CHANNEL, RobotMap.ALGEA_ARM_FORWARD_PISTON_REVERSE_CHANI); + this.solenoid2 = new DoubleSolenoid(PneumaticsModuleType.REVPH, RobotMap.ALGEA_ARM_BACKWARD_PISTON_FORWARD_CHANNEL, RobotMap.ALGEA_ARM_BACKWARD_PISTON_REVERSE_CHANI); + this.switchTop = new DigitalInput(RobotMap.ALGAE_ARM_SWITCH_TOP); + this.switchBottom = new DigitalInput(RobotMap.ALGAE_ARM_SWITCH_BOTTOM); } public boolean isExtended(){ @@ -29,18 +29,18 @@ public boolean isRetracted(){ } public void extend(){ - solenoidForward.set(DoubleSolenoid.Value.kForward); - solenoidBackward.set(DoubleSolenoid.Value.kForward); + solenoid1.set(DoubleSolenoid.Value.kForward); + solenoid2.set(DoubleSolenoid.Value.kForward); } public void retract(){ - solenoidForward.set(DoubleSolenoid.Value.kReverse); - solenoidBackward.set(DoubleSolenoid.Value.kReverse); + solenoid1.set(DoubleSolenoid.Value.kReverse); + solenoid2.set(DoubleSolenoid.Value.kReverse); } public void stop(){ - solenoidForward.set(DoubleSolenoid.Value.kOff); - solenoidBackward.set(DoubleSolenoid.Value.kOff); + solenoid1.set(DoubleSolenoid.Value.kOff); + solenoid2.set(DoubleSolenoid.Value.kOff); } @Override diff --git a/src/main/java/frc/robot/subsystems/AlgaeGripper.java b/src/main/java/frc/robot/subsystems/AlgaeGripper.java index 1f8aba8..6101959 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeGripper.java +++ b/src/main/java/frc/robot/subsystems/AlgaeGripper.java @@ -11,8 +11,8 @@ public class AlgaeGripper extends SubsystemBase { private static final double COLLECT_SPEED = 0.8; private static final double RELEASE_SPEED = -0.5; private static final double HOLD_SPEED = 0.2; - private SparkMax motor; - private DigitalInput digitalInput; + private final SparkMax motor; + private final DigitalInput digitalInput; public AlgaeGripper(){ From eef17319fc7fd452bb17f72ca566458b91fa2753 Mon Sep 17 00:00:00 2001 From: stavit456 Date: Mon, 20 Jan 2025 12:15:30 +0200 Subject: [PATCH 6/6] I fixed the methods isRetracted and isExtended. --- src/main/java/frc/robot/subsystems/AlgaeArm.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/frc/robot/subsystems/AlgaeArm.java b/src/main/java/frc/robot/subsystems/AlgaeArm.java index 9ab977e..7797031 100644 --- a/src/main/java/frc/robot/subsystems/AlgaeArm.java +++ b/src/main/java/frc/robot/subsystems/AlgaeArm.java @@ -21,11 +21,11 @@ public AlgaeArm(){ } public boolean isExtended(){ - return !(switchTop.get()) && !(switchBottom.get()); + return !(switchTop.get()); } public boolean isRetracted(){ - return switchTop.get() && switchBottom.get(); + return !(switchBottom.get()); } public void extend(){