@@ -243,7 +243,7 @@ private boolean needSafeAlgaeTransfer(RobotStates nextState) {
243243
244244 public void toStow () {
245245 if (biscuitSubsystem .isSafeToStow ()) {
246- biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint );
246+ biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint , hasAlgae () );
247247 elevatorSubsystem .setPosition (ElevatorConstants .kStowSetpoint );
248248 driveSubsystem .removeDriveMultiplier ();
249249 driveSubsystem .setIgnoreSticks (false );
@@ -256,7 +256,7 @@ public void toStow() {
256256 }
257257
258258 public void toStowSafe () {
259- biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint );
259+ biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint , hasAlgae () );
260260 driveSubsystem .removeDriveMultiplier ();
261261 driveSubsystem .setIgnoreSticks (false );
262262 algaeSubsystem .hold ();
@@ -265,7 +265,7 @@ public void toStowSafe() {
265265 }
266266
267267 public void toStowSequential () {
268- biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint );
268+ biscuitSubsystem .setPosition (BiscuitConstants .kStowSetpoint , hasAlgae () );
269269 driveSubsystem .removeDriveMultiplier ();
270270 driveSubsystem .setIgnoreSticks (false );
271271 algaeSubsystem .hold ();
@@ -274,7 +274,7 @@ public void toStowSequential() {
274274 }
275275
276276 private void toFunnelLoad () {
277- biscuitSubsystem .setPosition (BiscuitConstants .kFunnelSetpoint );
277+ biscuitSubsystem .setPosition (BiscuitConstants .kFunnelSetpoint , hasAlgae () );
278278 coralSubsystem .intake ();
279279 elevatorSubsystem .setPosition (ElevatorConstants .kFunnelSetpoint );
280280
@@ -313,11 +313,11 @@ private void toReefAlign(boolean getAlgae, boolean drive) {
313313
314314 switch (getAlgaeLevel ()) {
315315 case L2 -> {
316- biscuitSubsystem .setPosition (BiscuitConstants .kL2AlgaeSetpoint );
316+ biscuitSubsystem .setPosition (BiscuitConstants .kL2AlgaeSetpoint , hasAlgae () );
317317 elevatorSubsystem .setPosition (ElevatorConstants .kL2AlgaeSetpoint );
318318 }
319319 case L3 -> {
320- biscuitSubsystem .setPosition (BiscuitConstants .kL3AlgaeSetpoint );
320+ biscuitSubsystem .setPosition (BiscuitConstants .kL3AlgaeSetpoint , hasAlgae () );
321321 elevatorSubsystem .setPosition (ElevatorConstants .kL3AlgaeSetpoint );
322322 }
323323 default -> logger .error ("Invalid algae level: {}" , getAlgaeLevel ());
@@ -334,19 +334,19 @@ private void toReefAlign(boolean getAlgae, boolean drive) {
334334 currentLevel = scoringLevel ;
335335 switch (scoringLevel ) {
336336 case L1 -> {
337- biscuitSubsystem .setPosition (BiscuitConstants .kL1CoralSetpoint );
337+ biscuitSubsystem .setPosition (BiscuitConstants .kL1CoralSetpoint , hasAlgae () );
338338 elevatorSubsystem .setPosition (ElevatorConstants .kL1CoralSetpoint );
339339 }
340340 case L2 -> {
341- biscuitSubsystem .setPosition (BiscuitConstants .kL2CoralSetpoint );
341+ biscuitSubsystem .setPosition (BiscuitConstants .kL2CoralSetpoint , hasAlgae () );
342342 elevatorSubsystem .setPosition (ElevatorConstants .kL2CoralSetpoint );
343343 }
344344 case L3 -> {
345- biscuitSubsystem .setPosition (BiscuitConstants .kL3CoralSetpoint );
345+ biscuitSubsystem .setPosition (BiscuitConstants .kL3CoralSetpoint , hasAlgae () );
346346 elevatorSubsystem .setPosition (ElevatorConstants .kL3CoralSetpoint );
347347 }
348348 case L4 -> {
349- biscuitSubsystem .setPosition (BiscuitConstants .kL4CoralSetpoint );
349+ biscuitSubsystem .setPosition (BiscuitConstants .kL4CoralSetpoint , hasAlgae () );
350350 elevatorSubsystem .setPosition (ElevatorConstants .kL4CoralSetpoint );
351351 }
352352 }
@@ -374,7 +374,7 @@ public void toAlgaeFloorPickup() {
374374 return ;
375375 }
376376
377- biscuitSubsystem .setPosition (BiscuitConstants .kFloorAlgaeSetpoint );
377+ biscuitSubsystem .setPosition (BiscuitConstants .kFloorAlgaeSetpoint , hasAlgae () );
378378 elevatorSubsystem .setPosition (ElevatorConstants .kFloorAlgaeSetpoint );
379379
380380 setState (RobotStates .FLOOR_ALGAE , true );
@@ -384,7 +384,7 @@ public void toAlgaeFloorPickup() {
384384 return ;
385385 }
386386
387- biscuitSubsystem .setPosition (BiscuitConstants .kMicAlgaeSetpoint );
387+ biscuitSubsystem .setPosition (BiscuitConstants .kMicAlgaeSetpoint , hasAlgae () );
388388 elevatorSubsystem .setPosition (ElevatorConstants .kMicAlgaeSetpoint );
389389
390390 setState (RobotStates .MIC_ALGAE , true );
@@ -452,7 +452,7 @@ public void toHpAlgae() {
452452
453453 algaeSubsystem .intake ();
454454
455- biscuitSubsystem .setPosition (BiscuitConstants .kHpAlgaeSetpoint );
455+ biscuitSubsystem .setPosition (BiscuitConstants .kHpAlgaeSetpoint , hasAlgae () );
456456 elevatorSubsystem .setPosition (ElevatorConstants .kHpAlgaeSetpoint );
457457
458458 setState (RobotStates .HP_ALGAE , true );
@@ -464,7 +464,7 @@ private void toProcessor() {
464464 return ;
465465 }
466466
467- biscuitSubsystem .setPosition (BiscuitConstants .kProcessorSetpoint );
467+ biscuitSubsystem .setPosition (BiscuitConstants .kProcessorSetpoint , hasAlgae () );
468468 elevatorSubsystem .setPosition (ElevatorConstants .kProcessorSetpoint );
469469
470470 setState (RobotStates .PROCESSOR_ALGAE , true );
@@ -476,7 +476,7 @@ public void toInterrupted() {
476476 driveSubsystem .setIgnoreSticks (false );
477477 }
478478
479- biscuitSubsystem .setPosition (biscuitSubsystem .getPosition ());
479+ biscuitSubsystem .setPosition (biscuitSubsystem .getPosition (), hasAlgae () );
480480 elevatorSubsystem .setPosition (elevatorSubsystem .getPosition ());
481481
482482 setState (RobotStates .INTERRUPTED );
@@ -580,11 +580,11 @@ public void periodic() {
580580 if (algaeSubsystem .hasAlgae ()) {
581581 switch (getAlgaeLevel ()) {
582582 case L2 -> {
583- biscuitSubsystem .setPosition (BiscuitConstants .kL2AlgaeRemovalSetpoint );
583+ biscuitSubsystem .setPosition (BiscuitConstants .kL2AlgaeRemovalSetpoint , hasAlgae () );
584584 elevatorSubsystem .setPosition (ElevatorConstants .kL2AlgaeRemovalSetpoint );
585585 }
586586 case L3 -> {
587- biscuitSubsystem .setPosition (BiscuitConstants .kL3AlgaeRemovalSetpoint );
587+ biscuitSubsystem .setPosition (BiscuitConstants .kL3AlgaeRemovalSetpoint , hasAlgae () );
588588 elevatorSubsystem .setPosition (ElevatorConstants .kL3AlgaeRemovalSetpoint );
589589 }
590590 default -> logger .error ("Invalid algae level: {}" , getAlgaeLevel ());
@@ -636,7 +636,7 @@ public void periodic() {
636636 case LOADING_CORAL -> {
637637 if (coralSubsystem .hasCoral ()) {
638638 coralLoc = CoralLoc .CORAL ;
639- biscuitSubsystem .setPosition (BiscuitConstants .kPrestageSetpoint );
639+ biscuitSubsystem .setPosition (BiscuitConstants .kPrestageSetpoint , hasAlgae () );
640640 elevatorSubsystem .setPosition (ElevatorConstants .kPrestageSetpoint );
641641 funnelSubsystem .stopMotor ();
642642
@@ -674,7 +674,7 @@ public void periodic() {
674674 ? BiscuitConstants .kBargeSetpoint
675675 : BiscuitConstants .kBargeBackwardSetpoint ;
676676 }
677- biscuitSubsystem .setPosition (biscuitSetpoint );
677+ biscuitSubsystem .setPosition (biscuitSetpoint , hasAlgae () );
678678 curState = RobotStates .BARGE_ALGAE ;
679679 }
680680 }
0 commit comments