@@ -242,8 +242,9 @@ public void toggleGetAlgaeOnCycle() {
242242 ledSubsystem .setGetAlgeaLights (getAlgaeOnCycle );
243243 }
244244
245- public void setBiscuitTransfer (Angle setpoint ) {
246- if (elevatorSubsystem .getPosition ().gt (ElevatorConstants .kBiscuitSafeThreshold )) {
245+ public void setBiscuitTransfer (Angle setpoint , boolean overrideThreshold ) {
246+ if (overrideThreshold
247+ || elevatorSubsystem .getPosition ().gt (ElevatorConstants .kBiscuitSafeThreshold )) {
247248 biscuitSubsystem .setPosition (setpoint , hasAlgae ());
248249 }
249250 nextBiscuitSetpoint = setpoint ;
@@ -310,7 +311,7 @@ public void toStow() {
310311 driveSubsystem .setIgnoreSticks (false );
311312
312313 if (biscuitSubsystem .isSafeToStow ()) {
313- setBiscuitTransfer (RobotConstants .kStowSetpoint );
314+ setBiscuitTransfer (RobotConstants .kStowSetpoint , true );
314315 elevatorSubsystem .setPosition (RobotConstants .kElevatorStowSetpoint );
315316 algaeSubsystem .hold ();
316317
@@ -321,7 +322,7 @@ public void toStow() {
321322 }
322323
323324 public void toStowSafe () {
324- setBiscuitTransfer (RobotConstants .kStowSetpoint );
325+ setBiscuitTransfer (RobotConstants .kStowSetpoint , true );
325326 driveSubsystem .removeDriveMultiplier ();
326327 driveSubsystem .setIgnoreSticks (false );
327328 algaeSubsystem .hold ();
@@ -330,7 +331,7 @@ public void toStowSafe() {
330331 }
331332
332333 public void toStowSequential () {
333- setBiscuitTransfer (RobotConstants .kStowSetpoint );
334+ setBiscuitTransfer (RobotConstants .kStowSetpoint , true );
334335 driveSubsystem .removeDriveMultiplier ();
335336 driveSubsystem .setIgnoreSticks (false );
336337 algaeSubsystem .hold ();
@@ -340,23 +341,23 @@ public void toStowSequential() {
340341
341342 public void toAutonPrestage () {
342343 coralLoc = CoralLoc .CORAL ;
343- setBiscuitTransfer (RobotConstants .kPrestageSetpoint );
344+ setBiscuitTransfer (RobotConstants .kPrestageSetpoint , false );
344345 elevatorSubsystem .setPosition (ElevatorConstants .kAutoPrestageSetpoint );
345346 funnelSubsystem .stopMotor ();
346347
347348 setState (RobotStates .PRESTAGE , true );
348349 }
349350
350351 public void toFunnelLoad () {
351- setBiscuitTransfer (RobotConstants .kFunnelSetpoint );
352+ setBiscuitTransfer (RobotConstants .kFunnelSetpoint , true );
352353 coralSubsystem .intake ();
353354 elevatorSubsystem .setPosition (RobotConstants .kElevatorFunnelSetpoint );
354355
355356 setState (RobotStates .FUNNEL_LOAD , true );
356357 }
357358
358359 private void toPrestage () {
359- setBiscuitTransfer (RobotConstants .kPrestageSetpoint );
360+ setBiscuitTransfer (RobotConstants .kPrestageSetpoint , false );
360361
361362 prestagingForAlgae = getAlgaeOnCycle ;
362363
@@ -424,7 +425,7 @@ private void toReefAlign(boolean getAlgae, boolean drive) {
424425
425426 if (wantAlgae && !algaeSafe ) {
426427 algaeSubsystem .intake ();
427- setBiscuitTransfer (RobotConstants .kPrestageAlgaeSetpoint );
428+ setBiscuitTransfer (RobotConstants .kPrestageAlgaeSetpoint , true );
428429
429430 switch (getAlgaeLevel ()) {
430431 case L2 -> {
@@ -451,11 +452,11 @@ private void toReefAlign(boolean getAlgae, boolean drive) {
451452
452453 switch (getAlgaeLevel ()) {
453454 case L2 -> {
454- setBiscuitTransfer (RobotConstants .kL2AlgaeSetpoint );
455+ setBiscuitTransfer (RobotConstants .kL2AlgaeSetpoint , true );
455456 elevatorSubsystem .setPosition (ElevatorConstants .kL2AlgaeSetpoint );
456457 }
457458 case L3 -> {
458- setBiscuitTransfer (RobotConstants .kL3AlgaeSetpoint );
459+ setBiscuitTransfer (RobotConstants .kL3AlgaeSetpoint , true );
459460 elevatorSubsystem .setPosition (ElevatorConstants .kL3AlgaeSetpoint );
460461 }
461462 default -> logger .error ("Invalid algae level: {}" , getAlgaeLevel ());
@@ -476,19 +477,19 @@ private void toReefAlign(boolean getAlgae, boolean drive) {
476477 currentLevel = scoringLevel ;
477478 switch (scoringLevel ) {
478479 case L1 -> {
479- setBiscuitTransfer (RobotConstants .kL1CoralSetpoint );
480+ setBiscuitTransfer (RobotConstants .kL1CoralSetpoint , true );
480481 elevatorSubsystem .setPosition (ElevatorConstants .kL1CoralSetpoint );
481482 }
482483 case L2 -> {
483- setBiscuitTransfer (RobotConstants .kL2CoralSetpoint );
484+ setBiscuitTransfer (RobotConstants .kL2CoralSetpoint , true );
484485 elevatorSubsystem .setPosition (ElevatorConstants .kL2CoralSetpoint );
485486 }
486487 case L3 -> {
487- setBiscuitTransfer (RobotConstants .kL3CoralSetpoint );
488+ setBiscuitTransfer (RobotConstants .kL3CoralSetpoint , true );
488489 elevatorSubsystem .setPosition (ElevatorConstants .kL3CoralSetpoint );
489490 }
490491 case L4 -> {
491- setBiscuitTransfer (RobotConstants .kL4CoralSetpoint );
492+ setBiscuitTransfer (RobotConstants .kL4CoralSetpoint , true );
492493 elevatorSubsystem .setPosition (ElevatorConstants .kL4CoralSetpoint );
493494 }
494495 }
@@ -535,7 +536,7 @@ public void toAlgaeFloorPickup() {
535536 return ;
536537 }
537538
538- setBiscuitTransfer (RobotConstants .kFloorAlgaeSetpoint );
539+ setBiscuitTransfer (RobotConstants .kFloorAlgaeSetpoint , true );
539540 elevatorSubsystem .setPosition (ElevatorConstants .kFloorAlgaeSetpoint );
540541
541542 setState (RobotStates .FLOOR_ALGAE , true );
@@ -545,7 +546,7 @@ public void toAlgaeFloorPickup() {
545546 return ;
546547 }
547548
548- setBiscuitTransfer (RobotConstants .kMicAlgaeSetpoint );
549+ setBiscuitTransfer (RobotConstants .kMicAlgaeSetpoint , true );
549550 elevatorSubsystem .setPosition (ElevatorConstants .kMicAlgaeSetpoint );
550551
551552 setState (RobotStates .MIC_ALGAE , true );
@@ -633,7 +634,7 @@ public void toHpAlgae() {
633634
634635 algaeSubsystem .intake ();
635636
636- setBiscuitTransfer (RobotConstants .kHpAlgaeSetpoint );
637+ setBiscuitTransfer (RobotConstants .kHpAlgaeSetpoint , false );
637638 elevatorSubsystem .setPosition (ElevatorConstants .kHpAlgaeSetpoint );
638639
639640 setState (RobotStates .HP_ALGAE , true );
@@ -650,7 +651,7 @@ private void toProcessor() {
650651 return ;
651652 }
652653
653- setBiscuitTransfer (RobotConstants .kProcessorSetpoint );
654+ setBiscuitTransfer (RobotConstants .kProcessorSetpoint , true );
654655 elevatorSubsystem .setPosition (ElevatorConstants .kProcessorSetpoint );
655656
656657 setState (RobotStates .PROCESSOR_ALGAE , true );
@@ -671,7 +672,7 @@ public void toInterrupted() {
671672
672673 biscuitSubsystem .setIsRemovingAlgae (false );
673674
674- setBiscuitTransfer (biscuitSubsystem .getPosition ());
675+ biscuitSubsystem . setPosition (biscuitSubsystem .getPosition (), hasAlgae ());
675676 elevatorSubsystem .setPosition (elevatorSubsystem .getPosition ());
676677
677678 setState (RobotStates .INTERRUPTED );
@@ -682,7 +683,7 @@ public void toPrepClimb() {
682683 return ;
683684 }
684685
685- setBiscuitTransfer (RobotConstants .kStowSetpoint );
686+ setBiscuitTransfer (RobotConstants .kStowSetpoint , true );
686687 elevatorSubsystem .setPosition (RobotConstants .kElevatorStowSetpoint );
687688
688689 climbSubsystem .prepClimb ();
0 commit comments