Skip to content

Commit 0ee995d

Browse files
Soumik locked in and fixed auto
1 parent 5722173 commit 0ee995d

File tree

3 files changed

+40
-43
lines changed

3 files changed

+40
-43
lines changed

src/main/java/frc/robot/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ public static class ClimbHardware {
167167
public static final Spark.ID ENCODER_ID = new Spark.ID("climbHardware/Encoder", 51);
168168
public static final TalonFX.ID CLIMB_MOTOR_ID =
169169
new TalonFX.ID("climbHardware/Motor", PhoenixCANBus.RIO, 59);
170+
public static final int CLIMB_PWM = 2;
170171
}
171172

172173
public static class EndEffectorHardware {

src/main/java/frc/robot/HeadHoncho.java

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -497,52 +497,19 @@ public void end(boolean interrupted) {
497497
}
498498
},
499499
SCORE_REVERSE {
500-
Timer panicTimer = new Timer();
501500

502501
@Override
503502
public void initialize() {
504503
END_EFFECTOR_SUBSYSTEM.requestScoreReverse();
505-
this.panicTimer.reset();
506-
this.panicTimer.start();
507-
508504
}
509505

510506
@Override
511507
public SystemState nextState() {
512508
if (s_cancelButton.getAsBoolean()) return STOW;
513509

514510
if (END_EFFECTOR_SUBSYSTEM.isEmpty()) {
515-
panicTimer.reset();
516-
panicTimer.stop();
517511
return INTAKE;
518512
};
519-
if (LIFT_SUBSYSTEM.getState() == LiftStates.L4 && END_EFFECTOR_SUBSYSTEM.getState() == EndEffectorStates.SCORE_L4 && panicTimer.get() >= 0.5) {
520-
return PANIC_SCORE_REVERSE;
521-
}
522-
523-
return this;
524-
}
525-
526-
@Override
527-
public void end(boolean interrupted) {
528-
LIFT_SUBSYSTEM.setState(TargetLiftStates.STOW);
529-
END_EFFECTOR_SUBSYSTEM.requestStop();
530-
DRIVE_SUBSYSTEM.cancelAutoAlign();
531-
DRIVE_SUBSYSTEM.setDriveSpeed(Constants.Drive.FAST_SPEED_SCALAR);
532-
}
533-
},
534-
PANIC_SCORE_REVERSE {
535-
@Override
536-
public void initialize() {
537-
END_EFFECTOR_SUBSYSTEM.requestScoreReverse();
538-
LIFT_SUBSYSTEM.setState(TargetLiftStates.PANIC);
539-
540-
}
541-
542-
@Override
543-
public SystemState nextState() {
544-
if (s_cancelButton.getAsBoolean()) return STOW;
545-
if (END_EFFECTOR_SUBSYSTEM.isEmpty()) return INTAKE;
546513

547514
return this;
548515
}
@@ -719,17 +686,31 @@ public Command autonomousScoreCommand() { {
719686
END_EFFECTOR_SUBSYSTEM.setState(EndEffectorStates.SCORE_L4);
720687
DRIVE_SUBSYSTEM.cancelAutoAlign();
721688
},
722-
() -> {
723-
LIFT_SUBSYSTEM.setState(TargetLiftStates.STOW);
724-
INTAKE_SUBSYSTEM.startIntake();
725-
END_EFFECTOR_SUBSYSTEM.requestIntake();
726-
},
689+
() -> {},
727690
this
728691
)
729692
.until(() -> {
730693
return END_EFFECTOR_SUBSYSTEM.isEmpty();
731694
})
732-
.withTimeout(0.8);
695+
.withTimeout(0.8)
696+
.andThen(
697+
Commands.startEnd(
698+
() -> {
699+
Logger.recordOutput("Auto/Command", Constants.NamedCommands.AUTO_SCORE_COMMAND_NAME);
700+
LIFT_SUBSYSTEM.setState(TargetLiftStates.PANIC);
701+
END_EFFECTOR_SUBSYSTEM.setState(EndEffectorStates.SCORE_L4);
702+
},
703+
() -> {
704+
LIFT_SUBSYSTEM.setState(TargetLiftStates.STOW);
705+
INTAKE_SUBSYSTEM.startIntake();
706+
END_EFFECTOR_SUBSYSTEM.requestIntake();
707+
},
708+
this
709+
)
710+
.until(() -> {
711+
return END_EFFECTOR_SUBSYSTEM.isEmpty();
712+
})
713+
.withTimeout(0.5));
733714
}
734715
}
735716

src/main/java/frc/robot/subsystems/climb/ClimbSubsystem.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.lasarobotics.hardware.revrobotics.Spark.SparkInputs;
1414
import org.littletonrobotics.junction.Logger;
1515

16+
import edu.wpi.first.wpilibj.Servo;
1617
import edu.wpi.first.wpilibj2.command.Command;
1718
import frc.robot.Constants;
1819
import frc.robot.LoopTimer;
@@ -27,9 +28,8 @@ public class ClimbSubsystem extends StateMachine implements AutoCloseable {
2728

2829
public static record Hardware (
2930
Spark climbEncoder,
30-
TalonFX climbMotor
31-
32-
31+
TalonFX climbMotor,
32+
Servo climbServo
3333
) {}
3434

3535
public enum ClimbStates implements SystemState {
@@ -53,6 +53,7 @@ public ClimbStates nextState() {
5353
MOUNT {
5454
@Override
5555
public void initialize() {
56+
s_climbInstance.setServo(0.0);
5657
s_climbInstance.mount();
5758
if((s_climbInstance.inMountPosition())){
5859
s_climbInstance.setIsMounted(true);
@@ -77,6 +78,7 @@ public ClimbStates nextState() {
7778
CLIMB {
7879
@Override
7980
public void initialize() {
81+
s_climbInstance.setServo(0.5);
8082
s_climbInstance.climb();
8183
s_climbInstance.setIsMounted(false);
8284

@@ -101,6 +103,7 @@ public ClimbStates nextState() {
101103
private static ClimbSubsystem s_climbInstance;
102104
private final Spark m_climbEncoder;
103105
private final TalonFX m_climbMotor;
106+
private final Servo m_climbServo;
104107
private ClimbStates nextState;
105108
private boolean m_mounted;
106109

@@ -112,12 +115,15 @@ private ClimbSubsystem(Hardware ClimbHardware) {
112115

113116
this.m_climbEncoder = ClimbHardware.climbEncoder;
114117
this.m_climbMotor = ClimbHardware.climbMotor;
118+
this.m_climbServo = ClimbHardware.climbServo;
115119

116120
this.m_mounted = false;
117121

118122
TalonFXConfiguration motorConfig = new TalonFXConfiguration();
119123

120124
this.m_climbMotor.getConfigurator().apply(motorConfig);
125+
126+
m_climbServo.set(1.0);
121127
}
122128

123129
/**
@@ -164,7 +170,8 @@ public Command lowerClimberCommand() {
164170
public static Hardware initializeHardware() {
165171
Hardware climbHardware = new Hardware(
166172
new Spark(Constants.ClimbHardware.ENCODER_ID, MotorKind.NEO),
167-
new TalonFX(Constants.ClimbHardware.CLIMB_MOTOR_ID.deviceID, Constants.ClimbHardware.CLIMB_MOTOR_ID.bus.name)
173+
new TalonFX(Constants.ClimbHardware.CLIMB_MOTOR_ID.deviceID, Constants.ClimbHardware.CLIMB_MOTOR_ID.bus.name),
174+
new Servo(Constants.ClimbHardware.CLIMB_PWM)
168175
);
169176

170177

@@ -214,6 +221,14 @@ public void stow() {
214221
public boolean inStowPosition() {
215222
return s_climbInstance.getInputs().absoluteEncoderPosition <= STOW_ANGLE;
216223
}
224+
225+
/**
226+
* Sets climb servo pwm value
227+
* @param PWM
228+
*/
229+
public void setServo(double PWM) {
230+
m_climbServo.set(PWM);
231+
}
217232

218233
/**
219234
* Returns whether or not climber is in mount position

0 commit comments

Comments
 (0)