Skip to content

Commit 65daf99

Browse files
Climb Commands (#20)
* Climb done except for score negate trigger * hehehe * Rename dir * Fix servos
1 parent b9f92ae commit 65daf99

15 files changed

+67
-46
lines changed

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
import edu.wpi.first.wpilibj2.command.InstantCommand;
1313
import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine;
1414
import frc.trigon.robot.commands.CommandConstants;
15-
import frc.trigon.robot.commands.commandfactories.CoralCollectionCommands;
16-
import frc.trigon.robot.commands.commandfactories.CoralEjectionCommands;
17-
import frc.trigon.robot.commands.commandfactories.CoralPlacingCommands;
18-
import frc.trigon.robot.commands.commandfactories.GeneralCommands;
15+
import frc.trigon.robot.commands.commandfactories.*;
1916
import frc.trigon.robot.constants.CameraConstants;
2017
import frc.trigon.robot.constants.LEDConstants;
2118
import frc.trigon.robot.constants.OperatorConstants;
@@ -25,8 +22,8 @@
2522
import frc.trigon.robot.misc.simulatedfield.SimulationFieldHandler;
2623
import frc.trigon.robot.poseestimation.poseestimator.PoseEstimator;
2724
import frc.trigon.robot.subsystems.MotorSubsystem;
28-
import frc.trigon.robot.subsystems.arm.ArmElevator;
29-
import frc.trigon.robot.subsystems.arm.ArmElevatorCommands;
25+
import frc.trigon.robot.subsystems.armelevator.ArmElevator;
26+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
3027
import frc.trigon.robot.subsystems.climber.Climber;
3128
import frc.trigon.robot.subsystems.climber.ClimberCommands;
3229
import frc.trigon.robot.subsystems.climber.ClimberConstants;
@@ -109,6 +106,8 @@ private void bindControllerCommands() {
109106
OperatorConstants.EJECT_CORAL_TRIGGER.whileTrue(CoralEjectionCommands.getCoralEjectionCommand());
110107
OperatorConstants.SCORE_CORAL_LEFT_TRIGGER.whileTrue(CoralPlacingCommands.getScoreInReefCommand(false));
111108
OperatorConstants.SCORE_CORAL_RIGHT_TRIGGER.whileTrue(CoralPlacingCommands.getScoreInReefCommand(true));
109+
110+
OperatorConstants.CLIMB_TRIGGER.toggleOnTrue(ClimbCommands.getClimbCommand());
112111
}
113112

114113
private void configureSysIDBindings(MotorSubsystem subsystem) {

src/main/java/frc/trigon/robot/commands/commandfactories/ClimbCommands.java

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,33 @@
55
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
66
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
77
import frc.trigon.robot.RobotContainer;
8-
import frc.trigon.robot.constants.LEDConstants;
98
import frc.trigon.robot.constants.OperatorConstants;
9+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
10+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
1011
import frc.trigon.robot.subsystems.climber.ClimberCommands;
1112
import frc.trigon.robot.subsystems.climber.ClimberConstants;
13+
import frc.trigon.robot.subsystems.intake.IntakeCommands;
14+
import frc.trigon.robot.subsystems.intake.IntakeConstants;
1215
import frc.trigon.robot.subsystems.swerve.SwerveCommands;
13-
import lib.hardware.misc.leds.LEDCommands;
1416

1517
public class ClimbCommands {
16-
public static boolean IS_CLIMBING = false;
18+
private static boolean IS_CLIMBING = false;//TODO: Make score triggers not work while climbing
1719

18-
public static Command getClimbCommand() {//TODO: Set other component positions
20+
public static Command getClimbCommand() {
1921
return new SequentialCommandGroup(
2022
new InstantCommand(() -> IS_CLIMBING = true),
2123
ClimberCommands.getSetTargetStateCommand(ClimberConstants.ClimberState.PREPARE_FOR_CLIMB)
2224
.until(() -> RobotContainer.CLIMBER.hasCage() || OperatorConstants.CONTINUE_TRIGGER.getAsBoolean()),
2325
ClimberCommands.getSetTargetStateCommand(ClimberConstants.ClimberState.CLIMB)
2426
.until(RobotContainer.CLIMBER::atTargetState),
2527
getAdjustClimbManuallyCommand()
26-
).alongWith(getClimbLEDCommand()).finallyDo(() -> IS_CLIMBING = false);
28+
)
29+
.alongWith(getSetSubsystemsToRestForClimbCommand())
30+
.finallyDo(() -> IS_CLIMBING = false);
2731
}
2832

29-
private static Command getClimbLEDCommand() {
30-
return LEDCommands.getAnimateCommand(LEDConstants.CLIMB_ANIMATION_SETTINGS);//TODO: Add LEDStrip
33+
public static boolean isClimbing() {
34+
return IS_CLIMBING;
3135
}
3236

3337
private static Command getAdjustClimbManuallyCommand() {
@@ -40,4 +44,11 @@ private static Command getAdjustClimbManuallyCommand() {
4044
)
4145
);
4246
}
47+
48+
private static Command getSetSubsystemsToRestForClimbCommand() {
49+
return new ParallelCommandGroup(
50+
ArmElevatorCommands.getSetTargetStateCommand(ArmElevatorConstants.ArmElevatorState.REST_FOR_CLIMB),
51+
IntakeCommands.getSetTargetStateCommand(IntakeConstants.IntakeState.REST_FOR_CLIMB)
52+
);
53+
}
4354
}

src/main/java/frc/trigon/robot/commands/commandfactories/CoralCollectionCommands.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,15 @@
55
import edu.wpi.first.wpilibj2.command.ParallelCommandGroup;
66
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
77
import frc.trigon.robot.RobotContainer;
8-
import frc.trigon.robot.constants.LEDConstants;
98
import frc.trigon.robot.constants.OperatorConstants;
10-
import frc.trigon.robot.subsystems.arm.ArmElevatorCommands;
11-
import frc.trigon.robot.subsystems.arm.ArmElevatorConstants;
9+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
10+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
1211
import frc.trigon.robot.subsystems.endeffector.EndEffectorCommands;
1312
import frc.trigon.robot.subsystems.endeffector.EndEffectorConstants;
1413
import frc.trigon.robot.subsystems.intake.IntakeCommands;
1514
import frc.trigon.robot.subsystems.intake.IntakeConstants;
1615
import frc.trigon.robot.subsystems.transporter.TransporterCommands;
1716
import frc.trigon.robot.subsystems.transporter.TransporterConstants;
18-
import lib.hardware.misc.leds.LEDCommands;
1917

2018
public class CoralCollectionCommands {
2119

@@ -58,9 +56,6 @@ private static Command getAlignCoralCommand() {
5856
}
5957

6058
private static Command getCollectionConfirmationCommand() {
61-
return new ParallelCommandGroup(
62-
new InstantCommand(() -> OperatorConstants.DRIVER_CONTROLLER.rumble(OperatorConstants.RUMBLE_DURATION_SECONDS, OperatorConstants.RUMBLE_POWER)),
63-
LEDCommands.getAnimateCommand(LEDConstants.COLLECTION_CONFIRMATION_ANIMATION_SETTINGS) //TODO: add LEDs
64-
);
59+
return new InstantCommand(() -> OperatorConstants.DRIVER_CONTROLLER.rumble(OperatorConstants.RUMBLE_DURATION_SECONDS, OperatorConstants.RUMBLE_POWER));
6560
}
6661
}

src/main/java/frc/trigon/robot/commands/commandfactories/CoralEjectionCommands.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import edu.wpi.first.wpilibj2.command.SequentialCommandGroup;
66
import frc.trigon.robot.RobotContainer;
77
import frc.trigon.robot.misc.simulatedfield.SimulationFieldHandler;
8-
import frc.trigon.robot.subsystems.arm.ArmElevatorCommands;
9-
import frc.trigon.robot.subsystems.arm.ArmElevatorConstants;
8+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
9+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
1010
import frc.trigon.robot.subsystems.endeffector.EndEffectorCommands;
1111
import frc.trigon.robot.subsystems.endeffector.EndEffectorConstants;
1212
import frc.trigon.robot.subsystems.intake.IntakeCommands;

src/main/java/frc/trigon/robot/commands/commandfactories/CoralPlacingCommands.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import frc.trigon.robot.constants.FieldConstants;
1414
import frc.trigon.robot.constants.OperatorConstants;
1515
import frc.trigon.robot.misc.ReefChooser;
16-
import frc.trigon.robot.subsystems.arm.ArmElevatorCommands;
17-
import frc.trigon.robot.subsystems.arm.ArmElevatorConstants;
16+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorCommands;
17+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
1818
import frc.trigon.robot.subsystems.endeffector.EndEffectorCommands;
1919
import frc.trigon.robot.subsystems.endeffector.EndEffectorConstants;
2020
import frc.trigon.robot.subsystems.swerve.SwerveCommands;

src/main/java/frc/trigon/robot/constants/LEDConstants.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
package frc.trigon.robot.constants;
22

3-
import edu.wpi.first.wpilibj.util.Color;
4-
import lib.hardware.misc.leds.LEDStripAnimationSettings;
5-
63
public class LEDConstants {
74
//TODO: Implement LEDConstants
8-
public static LEDStripAnimationSettings.ColorFlowSettings COLLECTION_CONFIRMATION_ANIMATION_SETTINGS = new LEDStripAnimationSettings.ColorFlowSettings(
9-
Color.kGreen,
10-
0.5,
11-
false
12-
);
13-
public static final LEDStripAnimationSettings.BlinkSettings CLIMB_ANIMATION_SETTINGS = new LEDStripAnimationSettings.BlinkSettings(Color.kYellow, 0.1);//TODO: Add fade animation
145

156
/**
167
* Initializes LEDConstants. Needed to be called for the LED strips to be initialized before being used.

src/main/java/frc/trigon/robot/constants/OperatorConstants.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ public class OperatorConstants {
4848
SPAWN_CORAL_TRIGGER = OPERATOR_CONTROLLER.equals(),
4949
SCORE_CORAL_LEFT_TRIGGER = DRIVER_CONTROLLER.leftBumper(),
5050
SCORE_CORAL_RIGHT_TRIGGER = DRIVER_CONTROLLER.rightBumper(),
51-
EJECT_CORAL_TRIGGER = DRIVER_CONTROLLER.back().or(OPERATOR_CONTROLLER.e());
51+
EJECT_CORAL_TRIGGER = DRIVER_CONTROLLER.back().or(OPERATOR_CONTROLLER.e()),
52+
CLIMB_TRIGGER = DRIVER_CONTROLLER.back().or(OPERATOR_CONTROLLER.c());
5253

5354
public static final Trigger
5455
SET_TARGET_SCORING_REEF_LEVEL_L1_TRIGGER = OPERATOR_CONTROLLER.numpad0().or(DRIVER_CONTROLLER.a()),

src/main/java/frc/trigon/robot/misc/ReefChooser.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@
33
import edu.wpi.first.wpilibj2.command.Command;
44
import edu.wpi.first.wpilibj2.command.InstantCommand;
55
import edu.wpi.first.wpilibj2.command.WaitCommand;
6-
import edu.wpi.first.wpilibj2.command.button.CommandGenericHID;
76
import frc.trigon.robot.commands.commandfactories.CoralPlacingCommands;
87
import frc.trigon.robot.constants.FieldConstants;
98
import frc.trigon.robot.constants.OperatorConstants;
10-
import frc.trigon.robot.subsystems.arm.ArmElevatorConstants;
9+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
1110

1211
import java.util.function.Supplier;
1312

src/main/java/frc/trigon/robot/misc/simulatedfield/SimulationFieldHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import edu.wpi.first.math.geometry.Pose3d;
44
import edu.wpi.first.math.geometry.Transform3d;
55
import frc.trigon.robot.RobotContainer;
6-
import frc.trigon.robot.subsystems.arm.ArmElevatorConstants;
6+
import frc.trigon.robot.subsystems.armelevator.ArmElevatorConstants;
77
import frc.trigon.robot.subsystems.intake.IntakeConstants;
88
import frc.trigon.robot.subsystems.transporter.TransporterConstants;
99
import lib.utilities.flippable.FlippablePose3d;

src/main/java/frc/trigon/robot/subsystems/arm/ArmElevator.java renamed to src/main/java/frc/trigon/robot/subsystems/armelevator/ArmElevator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package frc.trigon.robot.subsystems.arm;
1+
package frc.trigon.robot.subsystems.armelevator;
22

33
import com.ctre.phoenix6.controls.DynamicMotionMagicVoltage;
44
import com.ctre.phoenix6.controls.VoltageOut;

0 commit comments

Comments
 (0)