Skip to content

Commit 46d32ce

Browse files
committed
Add break default mode for hopper when retracted, spotless
1 parent 898f0a3 commit 46d32ce

6 files changed

Lines changed: 47 additions & 28 deletions

File tree

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

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ public class RobotContainer {
3737
public static boolean isExtended = false;
3838

3939
private Command shootGroup =
40-
Commands.parallel(
41-
new KickerCommand(kicker, KickerCommand.Position.INTAKE))
40+
Commands.parallel(new KickerCommand(kicker, KickerCommand.Position.INTAKE))
4241
.finallyDo(
4342
interrupt ->
4443
CommandScheduler.getInstance()
@@ -48,17 +47,18 @@ public class RobotContainer {
4847
() -> hopper.stop(),
4948
hopper)
5049
.withDeadline(Commands.waitSeconds(2))));
51-
private Command hopperShoot = Commands.repeatingSequence(
50+
private Command hopperShoot =
51+
Commands.repeatingSequence(
5252
Commands.runEnd(
53-
() -> hopper.slowMove(HopperConfig.HOPPER_RETRACT_ROTATION),
54-
() -> hopper.stop(),
55-
hopper)
56-
.withDeadline(Commands.waitSeconds(.75)),
53+
() -> hopper.slowMove(HopperConfig.HOPPER_RETRACT_ROTATION),
54+
() -> hopper.stop(),
55+
hopper)
56+
.withDeadline(Commands.waitSeconds(.75)),
5757
Commands.runEnd(
58-
() -> hopper.slowMove(HopperConfig.HOPPER_EXTEND_ROTATION),
59-
() -> hopper.stop(),
60-
hopper)
61-
.withDeadline(Commands.waitSeconds(.75)));
58+
() -> hopper.slowMove(HopperConfig.HOPPER_EXTEND_ROTATION),
59+
() -> hopper.stop(),
60+
hopper)
61+
.withDeadline(Commands.waitSeconds(.75)));
6262

6363
public RobotContainer() {
6464

@@ -123,22 +123,27 @@ private void configureBindings() {
123123

124124
/* Controls */
125125
// Y = Shoot Toggle
126-
controller.y().toggleOnTrue(shootGroup.alongWith(hopperShoot).alongWith(new IntakeCommand(intake, IntakeCommand.Position.SLOW_INTAKE)));
126+
controller
127+
.y()
128+
.toggleOnTrue(
129+
shootGroup
130+
.alongWith(hopperShoot)
131+
.alongWith(new IntakeCommand(intake, IntakeCommand.Position.SLOW_INTAKE)));
127132
// X = Intake Toggle
128133
controller
129134
.x()
130135
.and(() -> !shootGroup.isScheduled())
131136
.toggleOnTrue(new IntakeCommand(intake, IntakeCommand.Position.INTAKE));
132137
// Left Plus = Kicker Outtake Toggle
133138
controller
134-
.povLeft()
135-
.and(() -> !shootGroup.isScheduled())
136-
.toggleOnTrue(new KickerCommand(kicker, KickerCommand.Position.OUTTAKE));
139+
.povLeft()
140+
.and(() -> !shootGroup.isScheduled())
141+
.toggleOnTrue(new KickerCommand(kicker, KickerCommand.Position.OUTTAKE));
137142
// Right Plus = Intake Outtake Toggle
138143
controller
139-
.povRight()
140-
.and(() -> !shootGroup.isScheduled())
141-
.toggleOnTrue(new IntakeCommand(intake, IntakeCommand.Position.OUTTAKE));
144+
.povRight()
145+
.and(() -> !shootGroup.isScheduled())
146+
.toggleOnTrue(new IntakeCommand(intake, IntakeCommand.Position.OUTTAKE));
142147
// Right Stick Down = Extend/Retract Hopper
143148
controller
144149
.rightStick()

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@ public void execute() {
3636
// Spins flywheels at proper speed for shooting from hub
3737
case HUB_SHOT:
3838
subsystem.shoot(FlywheelConfig.FLYWHEEL_HUB_SHOT_SPEED);
39-
// System.out.println("Flywheel: Hub Shot");
39+
// System.out.println("Flywheel: Hub Shot");
4040
break;
4141

4242
// Spins flywheels at proper speed for shooting from tower
4343
case TOWER_SHOT:
4444
subsystem.shoot(FlywheelConfig.FLYWHEEL_TOWER_SHOT_SPEED);
45-
// System.out.println("Flywheel: Tower Shot");
45+
// System.out.println("Flywheel: Tower Shot");
4646
break;
4747

4848
case TRENCH_SHOT:
4949
subsystem.shoot(FlywheelConfig.FLYWHEEL_TRENCH_SHOT_SPEED);
50-
// System.out.println("Flywheel: Trench Shot");
50+
// System.out.println("Flywheel: Trench Shot");
5151
break;
5252

5353
// Spins flywheels at estimated speed given distance from hub

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ public HopperCommand(Hopper subsystem, HopperCommand.Position pose, boolean isEx
3030
public void initialize() {
3131
switch (pose) {
3232

33-
// (Needs check) If hopper already extended, retract, and if hopper retracted, extend
33+
// (Needs check) If hopper already extended, retract, and if hopper isRetractedByPosition,
34+
// extend
3435
case EXTEND_RETRACT:
3536
if (isExtended) {
3637
System.out.println("Hopper: Retracting");

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void initialize() {
2929
// Runs intake
3030
case INTAKE:
3131
subsystem.intake(IntakeConfig.INTAKE_INTAKE_SPEED);
32-
// System.out.println("Intake: Intaking");
32+
// System.out.println("Intake: Intaking");
3333
break;
3434

3535
// Runs intake in outtaking direction
@@ -40,7 +40,7 @@ public void initialize() {
4040
// Slow intake for shooting
4141
case SLOW_INTAKE:
4242
subsystem.intake(IntakeConfig.INTAKE_SLOW_SPEED);
43-
// System.out.println("Intake: run for shooting");
43+
// System.out.println("Intake: run for shooting");
4444
break;
4545

4646
default:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ public class HopperConfig {
2424
// Set
2525
public static final double HOPPER_EXTEND_ROTATION = 4.1;
2626
public static final double HOPPER_RETRACT_ROTATION = 0.1;
27+
public static final double HOPPER_RETRACT_FOR_NEUTRAL_MODE_ROTATION = 1;
2728
}

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

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.ctre.phoenix6.signals.InvertedValue;
88
import com.ctre.phoenix6.signals.NeutralModeValue;
99
import edu.wpi.first.epilogue.Logged;
10+
import edu.wpi.first.wpilibj.DriverStation;
1011
import edu.wpi.first.wpilibj2.command.SubsystemBase;
1112
import frc.robot.config.CANMappings;
1213
import frc.robot.config.HopperConfig;
@@ -82,14 +83,14 @@ public boolean atPosition() {
8283
<= HopperConfig.HOPPER_TOLERANCE);
8384
}
8485

85-
public boolean isExtended1() {
86+
public boolean isExtendedByPosition() {
8687
return (Math.abs(hopper.getPosition().getValueAsDouble() - HopperConfig.HOPPER_EXTEND_ROTATION)
8788
<= HopperConfig.HOPPER_TOLERANCE);
8889
}
8990

90-
public boolean retracted() {
91-
return (Math.abs(hopper.getPosition().getValueAsDouble() - HopperConfig.HOPPER_RETRACT_ROTATION)
92-
<= HopperConfig.HOPPER_TOLERANCE);
91+
public boolean isRetractedByPosition() {
92+
return (hopper.getPosition().getValueAsDouble()
93+
< HopperConfig.HOPPER_RETRACT_FOR_NEUTRAL_MODE_ROTATION);
9394
}
9495

9596
private boolean extended = false;
@@ -117,4 +118,15 @@ public void toggleExtend() {
117118
extended = true;
118119
}
119120
}
121+
122+
@Override
123+
public void periodic() {
124+
if (DriverStation.isDisabled()) {
125+
hopper.setNeutralMode(NeutralModeValue.Coast);
126+
} else if (isRetractedByPosition()) {
127+
hopper.setNeutralMode(NeutralModeValue.Brake);
128+
} else {
129+
hopper.setNeutralMode(NeutralModeValue.Coast);
130+
}
131+
}
120132
}

0 commit comments

Comments
 (0)