23
23
24
24
public class CoralPlacingCommands {
25
25
public static boolean SHOULD_SCORE_AUTONOMOUSLY = true ;
26
- private static final ReefChooser REEF_CHOOSER = OperatorConstants .REEF_CHOOSER ;
26
+ static final ReefChooser REEF_CHOOSER = OperatorConstants .REEF_CHOOSER ;
27
27
28
28
public static Command getScoreInReefCommand (boolean shouldScoreRight ) {
29
29
return new ConditionalCommand (
@@ -37,8 +37,8 @@ private static Command getAutonomouslyScoreCommand(boolean shouldScoreRight) {
37
37
return new SequentialCommandGroup (
38
38
getAutonomouslyPrepareScoreCommand (shouldScoreRight ).until (() -> isArmAndElevatorAtPrepareState (shouldScoreRight )),
39
39
new ParallelCommandGroup (
40
- ElevatorCommands .getSetTargetStateCommand (REEF_CHOOSER ::getElevatorState ),
41
- ArmCommands .getSetTargetStateCommand (REEF_CHOOSER ::getArmState , CoralPlacingCommands ::shouldReverseScore )
40
+ ElevatorCommands .getSetTargetStateCommand (REEF_CHOOSER ::getElevatorCoralState ),
41
+ ArmCommands .getSetTargetStateCommand (REEF_CHOOSER ::getArmCoralState , CoralPlacingCommands ::shouldReverseScore )
42
42
)
43
43
);
44
44
}
@@ -47,16 +47,16 @@ private static Command getScoreCommand(boolean shouldScoreRight) {
47
47
return new SequentialCommandGroup (
48
48
getAutonomouslyPrepareScoreCommand (shouldScoreRight ).until (OperatorConstants .CONTINUE_TRIGGER ),
49
49
new ParallelCommandGroup (
50
- ElevatorCommands .getSetTargetStateCommand (REEF_CHOOSER ::getElevatorState ),
51
- ArmCommands .getSetTargetStateCommand (REEF_CHOOSER ::getArmState , CoralPlacingCommands ::shouldReverseScore )
50
+ ElevatorCommands .getSetTargetStateCommand (REEF_CHOOSER ::getElevatorCoralState ),
51
+ ArmCommands .getSetTargetStateCommand (REEF_CHOOSER ::getArmCoralState , CoralPlacingCommands ::shouldReverseScore )
52
52
)
53
53
);
54
54
}
55
55
56
56
private static Command getAutonomouslyPrepareScoreCommand (boolean shouldScoreRight ) {
57
57
return new ParallelCommandGroup (
58
- ElevatorCommands .getPrepareStateCommand (REEF_CHOOSER ::getElevatorState ),
59
- ArmCommands .getPrepareForStateCommand (REEF_CHOOSER ::getArmState , CoralPlacingCommands ::shouldReverseScore ),
58
+ ElevatorCommands .getPrepareStateCommand (REEF_CHOOSER ::getElevatorCoralState ),
59
+ ArmCommands .getPrepareForStateCommand (REEF_CHOOSER ::getArmCoralState , CoralPlacingCommands ::shouldReverseScore ),
60
60
getAutonomousDriveToReefThenManualDriveCommand (shouldScoreRight ).asProxy ()
61
61
);
62
62
}
@@ -134,8 +134,12 @@ public enum ScoringLevel {
134
134
L3 (L2 .xTransformMeters , L2 .positiveYTransformMeters , Rotation2d .fromDegrees (0 )),
135
135
L4 (L2 .xTransformMeters , L2 .positiveYTransformMeters , Rotation2d .fromDegrees (0 ));
136
136
137
- public final ElevatorConstants .ElevatorState elevatorState ;
138
- public final ArmConstants .ArmState armState ;
137
+ public final ElevatorConstants .ElevatorState
138
+ elevatorCoralState ,
139
+ elevatorAlgaeCollectionState ;
140
+ public final ArmConstants .ArmState
141
+ armCoralState ,
142
+ armAlgaeCollectionState ;
139
143
public final int level = calculateLevel ();
140
144
final double xTransformMeters , positiveYTransformMeters ;
141
145
final Rotation2d rotationTransform ;
@@ -153,8 +157,10 @@ public enum ScoringLevel {
153
157
this .xTransformMeters = xTransformMeters ;
154
158
this .positiveYTransformMeters = positiveYTransformMeters ;
155
159
this .rotationTransform = rotationTransform ;
156
- this .elevatorState = determineElevatorState ();
157
- this .armState = determineArmState ();
160
+ this .elevatorCoralState = determineElevatorCoralState ();
161
+ this .elevatorAlgaeCollectionState = determineElevatorAlgaeCollectionState ();
162
+ this .armCoralState = determineArmCoralState ();
163
+ this .armAlgaeCollectionState = determineArmAlgaeCollectionState ();
158
164
}
159
165
160
166
/**
@@ -176,7 +182,7 @@ public FlippablePose2d calculateTargetPlacingPosition(FieldConstants.ReefClockPo
176
182
return new FlippablePose2d (reefCenterPose .plus (transform ), true );
177
183
}
178
184
179
- private ElevatorConstants .ElevatorState determineElevatorState () {
185
+ private ElevatorConstants .ElevatorState determineElevatorCoralState () {
180
186
return switch (level ) {
181
187
case 1 -> ElevatorConstants .ElevatorState .SCORE_L1 ;
182
188
case 2 -> ElevatorConstants .ElevatorState .SCORE_L2 ;
@@ -186,7 +192,17 @@ private ElevatorConstants.ElevatorState determineElevatorState() {
186
192
};
187
193
}
188
194
189
- private ArmConstants .ArmState determineArmState () {
195
+ private ElevatorConstants .ElevatorState determineElevatorAlgaeCollectionState () {
196
+ return switch (level ) {
197
+ case 1 -> ElevatorConstants .ElevatorState .COLLECT_ALGAE_GROUND ;
198
+ case 2 -> ElevatorConstants .ElevatorState .COLLECT_ALGAE_L2 ;
199
+ case 3 -> ElevatorConstants .ElevatorState .COLLECT_ALGAE_L3 ;
200
+ case 4 -> ElevatorConstants .ElevatorState .COLLECT_ALGAE_LOLLIPOP ;
201
+ default -> throw new IllegalStateException ("Unexpected value: " + ordinal ());
202
+ };
203
+ }
204
+
205
+ private ArmConstants .ArmState determineArmCoralState () {
190
206
return switch (level ) {
191
207
case 1 -> ArmConstants .ArmState .SCORE_L1 ;
192
208
case 2 -> ArmConstants .ArmState .SCORE_L2 ;
@@ -196,6 +212,16 @@ private ArmConstants.ArmState determineArmState() {
196
212
};
197
213
}
198
214
215
+ private ArmConstants .ArmState determineArmAlgaeCollectionState () {
216
+ return switch (level ) {
217
+ case 1 -> ArmConstants .ArmState .COLLECT_ALGAE_FLOOR ;
218
+ case 2 -> ArmConstants .ArmState .COLLECT_ALGAE_L2 ;
219
+ case 3 -> ArmConstants .ArmState .COLLECT_ALGAE_L3 ;
220
+ case 4 -> ArmConstants .ArmState .COLLECT_ALGAE_LOLLIPOP ;
221
+ default -> throw new IllegalStateException ("Unexpected value: " + ordinal ());
222
+ };
223
+ }
224
+
199
225
private int calculateLevel () {
200
226
return ordinal () + 1 ;
201
227
}
0 commit comments