Skip to content

Commit efdaff9

Browse files
committed
hopper fixes
1 parent a3c7eb3 commit efdaff9

4 files changed

Lines changed: 56 additions & 19 deletions

File tree

src/main/java/frc/robot/RobotContainer.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@ public class RobotContainer {
2626
private Kicker kicker = new Kicker();
2727
private CommandXboxController controller = new CommandXboxController(1);
2828
private SwerveDriveState driveState = new SwerveDriveState();
29+
public static boolean isExtended = false;
2930

3031
private Command shootGroup =
3132
Commands.parallel(
3233
new KickerCommand(kicker, KickerCommand.Position.INTAKE),
33-
new HopperCommand(hopper, HopperCommand.Position.SHOOT_RETRACT),
34+
new HopperCommand(hopper, HopperCommand.Position.SHOOT_RETRACT, isExtended),
3435
new IntakeCommand(intake, IntakeCommand.Position.SLOW_INTAKE))
3536
.finallyDo(
3637
interrupt ->
3738
CommandScheduler.getInstance()
38-
.schedule(new HopperCommand(hopper, HopperCommand.Position.SHOOT_EXTEND)));
39+
.schedule(
40+
new HopperCommand(
41+
hopper, HopperCommand.Position.SHOOT_EXTEND, isExtended)));
3942

4043
public RobotContainer() {
4144
configureBindings();
@@ -52,8 +55,8 @@ private void configureBindings() {
5255
controller::getLeftY,
5356
controller::getRightX));
5457
// Flywheel
55-
// flywheel.setDefaultCommand(
56-
// new FlywheelCommand(flywheel, FlywheelCommand.Position.DEFAULT_SHOT, drivetrain));
58+
// flywheel.setDefaultCommand(
59+
// new FlywheelCommand(flywheel, FlywheelCommand.Position.DEFAULT_SHOT, drivetrain));
5760

5861
/* Controls */
5962
// Y = Shoot Toggle
@@ -66,10 +69,13 @@ private void configureBindings() {
6669
// Right Stick Down = Extend/Retract Hopper
6770
controller
6871
.rightStick()
69-
.and(() -> !shootGroup.isScheduled())
72+
// .and(() -> !shootGroup.isScheduled())
7073
.onTrue(
71-
new HopperCommand(hopper, HopperCommand.Position.EXTEND_RETRACT)
72-
.alongWith(Commands.runOnce(() -> System.out.println("Hopper Pressed"))));
74+
Commands.runEnd(
75+
() -> hopper.move(Hopper.getRotation(isExtended)), () -> hopper.stop(), hopper)
76+
.withDeadline(Commands.waitSeconds(2))
77+
.andThen(Commands.runOnce(() -> isExtended = !isExtended)));
78+
7379
// // Right Trigger = Climb Retract
7480
// controller
7581
// .rightTrigger()

src/main/java/frc/robot/commands/HopperCommand.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import edu.wpi.first.epilogue.Logged;
44
import edu.wpi.first.wpilibj2.command.Command;
5+
import frc.robot.RobotContainer;
56
import frc.robot.config.HopperConfig;
67
import frc.robot.subsystems.Hopper;
78

@@ -15,11 +16,12 @@ public static enum Position {
1516

1617
private Hopper subsystem;
1718
private HopperCommand.Position pose;
18-
private static boolean isExtended = false;
19+
private boolean isExtended;
1920

20-
public HopperCommand(Hopper subsystem, HopperCommand.Position pose) {
21+
public HopperCommand(Hopper subsystem, HopperCommand.Position pose, boolean isExtended) {
2122
this.pose = pose;
2223
this.subsystem = subsystem;
24+
this.isExtended = isExtended;
2325

2426
addRequirements(subsystem);
2527
}
@@ -31,13 +33,15 @@ public void initialize() {
3133
// (Needs check) If hopper already extended, retract, and if hopper retracted, extend
3234
case EXTEND_RETRACT:
3335
if (isExtended) {
34-
// System.out.println("Hopper: Retracting");
36+
System.out.println("Hopper: Retracting");
3537
subsystem.move(HopperConfig.HOPPER_RETRACT_ROTATION);
36-
isExtended = false;
38+
RobotContainer.isExtended = false;
39+
System.out.println(RobotContainer.isExtended);
3740
} else {
38-
// System.out.println("Hopper: Extending");
41+
System.out.println("Hopper: Extending");
3942
subsystem.move(HopperConfig.HOPPER_EXTEND_ROTATION);
40-
isExtended = true;
43+
RobotContainer.isExtended = true;
44+
System.out.println(RobotContainer.isExtended);
4145
}
4246
break;
4347

src/main/java/frc/robot/config/HopperConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class HopperConfig {
88
// Set
99
public static final double HOPPER_MAX_CRUISE_VELOCITY = 3000;
1010
public static final double HOPPER_TARGET_ACCELERATION = 500;
11-
public static final double HOPPER_P = 2;
11+
public static final double HOPPER_P = 1.5;
1212
public static final double HOPPER_I = 0;
1313
public static final double HOPPER_D = 0;
1414
public static final double HOPPER_S = 0;
@@ -22,6 +22,6 @@ public class HopperConfig {
2222
public static final double HOPPER_TOLERANCE = 0.2;
2323

2424
// Set
25-
public static final double HOPPER_EXTEND_ROTATION = 3.65;
26-
public static final double HOPPER_RETRACT_ROTATION = 0.0;
25+
public static final double HOPPER_EXTEND_ROTATION = 4.1;
26+
public static final double HOPPER_RETRACT_ROTATION = 0.1;
2727
}

src/main/java/frc/robot/subsystems/Hopper.java

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public Hopper() {
3333
hopperConfig.Slot0.kP = HopperConfig.HOPPER_P;
3434
hopperConfig.Slot0.kI = HopperConfig.HOPPER_I;
3535
hopperConfig.Slot0.kD = HopperConfig.HOPPER_D;
36+
hopperConfig.Slot0.kS = HopperConfig.HOPPER_S;
37+
hopperConfig.Slot0.kV = HopperConfig.HOPPER_V;
38+
hopperConfig.Slot0.kA = HopperConfig.HOPPER_A;
3639

3740
hopperConfig.Slot1.kP = HopperConfig.SLOW_HOPPER_P;
3841
hopperConfig.Slot1.kI = HopperConfig.SLOW_HOPPER_I;
@@ -56,12 +59,12 @@ public void slowMove(double rotation) {
5659
}
5760

5861
public void extendDirectional(double speed) {
59-
speed = Math.abs(-speed);
62+
speed = Math.abs(speed);
6063
hopper.setControl(new DutyCycleOut(speed));
6164
}
6265

6366
public void retractDirectional(double speed) {
64-
speed = Math.abs(speed);
67+
speed = Math.abs(-speed);
6568
hopper.setControl(new DutyCycleOut(speed));
6669
}
6770

@@ -78,7 +81,7 @@ public boolean atPosition() {
7881
<= HopperConfig.HOPPER_TOLERANCE);
7982
}
8083

81-
public boolean extended() {
84+
public boolean isExtended1() {
8285
return (Math.abs(hopper.getPosition().getValueAsDouble() - HopperConfig.HOPPER_EXTEND_ROTATION)
8386
<= HopperConfig.HOPPER_TOLERANCE);
8487
}
@@ -87,4 +90,28 @@ public boolean retracted() {
8790
return (Math.abs(hopper.getPosition().getValueAsDouble() - HopperConfig.HOPPER_RETRACT_ROTATION)
8891
<= HopperConfig.HOPPER_TOLERANCE);
8992
}
93+
94+
private boolean extended = false;
95+
96+
public boolean isExtended() {
97+
return this.extended;
98+
}
99+
100+
public static double getRotation(boolean isExtended) {
101+
if (isExtended) {
102+
return HopperConfig.HOPPER_RETRACT_ROTATION;
103+
} else {
104+
return HopperConfig.HOPPER_EXTEND_ROTATION;
105+
}
106+
}
107+
108+
public void toggleExtend() {
109+
if (extended) {
110+
move(HopperConfig.HOPPER_RETRACT_ROTATION);
111+
extended = false;
112+
} else {
113+
move(HopperConfig.HOPPER_EXTEND_ROTATION);
114+
extended = true;
115+
}
116+
}
90117
}

0 commit comments

Comments
 (0)