Skip to content
This repository has been archived by the owner on Apr 20, 2024. It is now read-only.

Commit

Permalink
Avoid jamming during shuffle
Browse files Browse the repository at this point in the history
  • Loading branch information
Owen756 committed Apr 19, 2024
1 parent 4d97793 commit e9d06ce
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 6 deletions.
1 change: 1 addition & 0 deletions src/main/java/frc/robot/conveyor/ConveyorState.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ public enum ConveyorState {
QUEUER_TO_INTAKE,
WAITING_AMP_SHOT,
SHUFFLE,
SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF,
AMP_SHOT,
/** Turns on at 12V and then off every n seconds. */
TRAP_SHOT_PULSE;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/frc/robot/conveyor/ConveyorSubsystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ public void robotPeriodic() {
case INTAKE_TO_QUEUER:
motor.setVoltage(3);
break;
case SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF:
motor.setVoltage(4);
break;
case QUEUER_TO_INTAKE:
motor.setVoltage(-12);
break;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/frc/robot/intake/IntakeState.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public enum IntakeState {
FROM_CONVEYOR,
TO_QUEUER,
TO_QUEUER_SLOW,
SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF,
SHUFFLE,
TO_CONVEYOR,
TO_QUEUER_SHOOTING;
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/frc/robot/intake/IntakeSubsystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ public void robotPeriodic() {
motor.setVoltage(5);
}
break;
case SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF:
motor.setVoltage(3);
break;
case TO_CONVEYOR:
motor.setVoltage(3); // 2
break;
Expand Down
14 changes: 8 additions & 6 deletions src/main/java/frc/robot/note_manager/NoteManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -211,28 +211,30 @@ public void robotPeriodic() {
case IDLE_IN_QUEUER:
if (queuer.hasNote()) {
intake.setState(IntakeState.IDLE);
conveyor.setState(ConveyorState.IDLE);
} else {
intake.setState(IntakeState.TO_QUEUER_SLOW);
intake.setState(IntakeState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
conveyor.setState(ConveyorState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
}
conveyor.setState(ConveyorState.IDLE);
queuer.setState(QueuerState.INTAKING);
break;
case IDLE_IN_QUEUER_SHUFFLE:
if (shuffleTimeoutTimer.hasElapsed(NOTE_SHUFFLE_TIMEOUT_DURATION)) {
if (queuer.hasNote()) {
intake.setState(IntakeState.IDLE);
conveyor.setState(ConveyorState.IDLE);
} else {
intake.setState(IntakeState.TO_QUEUER_SLOW);
intake.setState(IntakeState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
conveyor.setState(ConveyorState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
}
conveyor.setState(ConveyorState.IDLE);
queuer.setState(QueuerState.INTAKING);
} else {
if (queuer.hasNote()) {
intake.setState(IntakeState.SHUFFLE);
conveyor.setState(ConveyorState.SHUFFLE);
} else {
intake.setState(IntakeState.TO_QUEUER_SLOW);
conveyor.setState(ConveyorState.INTAKE_TO_QUEUER);
intake.setState(IntakeState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
conveyor.setState(ConveyorState.SHUFFLE_ASSIST_WHEN_QUEUER_SENSOR_TURNS_OFF);
}
queuer.setState(QueuerState.SHUFFLE);
}
Expand Down

0 comments on commit e9d06ce

Please sign in to comment.