@@ -49,102 +49,90 @@ protected void collectInputs() {}
49
49
50
50
@ Override
51
51
protected RobotState getNextState (RobotState currentState ) {
52
- switch (currentState ) {
52
+ return switch (currentState ) {
53
53
case SPEAKER_WAITING ,
54
- AMP_WAITING ,
55
- FEEDING_WAITING ,
56
- PASS_WAITING ,
57
- IDLE_NO_GP ,
58
- IDLE_WITH_GP ,
59
- CLIMBING_1_LINEUP ,
60
- CLIMBING_2_HANGING -> {}
61
- case SPEAKER_SCORING -> {
62
- if (!queuer .hasNote ()) {
63
- setStateFromRequest (RobotState .IDLE_NO_GP );
64
- }
65
- }
66
- case AMP_SCORING -> {
67
- if (!queuer .hasNote ()) {
68
- setStateFromRequest (RobotState .IDLE_NO_GP );
69
- }
70
- }
71
- case FEEDING_SHOOTING -> {
72
- if (!queuer .hasNote ()) {
73
- setStateFromRequest (RobotState .IDLE_NO_GP );
74
- }
75
- }
76
- case PASS_SHOOTING -> {
77
- if (!queuer .hasNote ()) {
78
- setStateFromRequest (RobotState .IDLE_NO_GP );
79
- }
80
- }
81
- case SPEAKER_PREPARE_TO_SCORE -> {
82
- if (shooter .atGoal () && arm .atGoal ()) {
83
- setStateFromRequest (RobotState .SPEAKER_SCORING );
84
- }
85
- }
54
+ AMP_WAITING ,
55
+ FEEDING_WAITING ,
56
+ PASS_WAITING ,
57
+ IDLE_NO_GP ,
58
+ IDLE_WITH_GP ,
59
+ CLIMBING_1_LINEUP ,
60
+ CLIMBING_2_HANGING ->
61
+ currentState ;
62
+ case SPEAKER_SCORING , AMP_SCORING , FEEDING_SHOOTING , PASS_SHOOTING ->
63
+ !queuer .hasNote () ? RobotState .IDLE_NO_GP : currentState ;
86
64
87
- case AMP_PREPARE_TO_SCORE -> {
88
- if (shooter .atGoal () && arm .atGoal ()) {
89
- setStateFromRequest (RobotState .AMP_SCORING );
90
- }
91
- }
92
- case FEEDING_PREPARE_TO_SHOOT -> {
93
- if (shooter .atGoal () && arm .atGoal ()) {
94
- setStateFromRequest (RobotState .FEEDING_SHOOTING );
95
- }
96
- }
97
- case PASS_PREPARE_TO_SHOOT -> {
98
- if (shooter .atGoal () && arm .atGoal ()) {
99
- setStateFromRequest (RobotState .PASS_SHOOTING );
100
- }
101
- }
102
- case UNJAM -> {}
103
- case INTAKING -> {
104
- if (intake .hasNote () || queuer .hasNote ()) {
105
- setStateFromRequest (RobotState .IDLE_WITH_GP );
106
- }
107
- }
108
- case OUTTAKING -> {
109
- if (!intake .hasNote () && !queuer .hasNote ()) {
110
- setStateFromRequest (RobotState .IDLE_NO_GP );
111
- }
112
- }
113
- }
65
+ case SPEAKER_PREPARE_TO_SCORE ->
66
+ shooter .atGoal () && arm .atGoal () ? RobotState .SPEAKER_SCORING : currentState ;
67
+
68
+ case AMP_PREPARE_TO_SCORE ->
69
+ shooter .atGoal () && arm .atGoal () ? RobotState .AMP_SCORING : currentState ;
114
70
115
- return currentState ;
71
+ case FEEDING_PREPARE_TO_SHOOT ->
72
+ shooter .atGoal () && arm .atGoal () ? RobotState .FEEDING_SHOOTING : currentState ;
73
+ case PASS_PREPARE_TO_SHOOT ->
74
+ shooter .atGoal () && arm .atGoal () ? RobotState .PASS_SHOOTING : currentState ;
75
+ case UNJAM -> currentState ;
76
+ case INTAKING -> queuer .hasNote () ? RobotState .IDLE_WITH_GP : currentState ;
77
+ case OUTTAKING ->
78
+ !queuer .hasNote () || !intake .hasNote () ? RobotState .IDLE_NO_GP : currentState ;
79
+ };
116
80
}
117
81
118
82
@ Override
119
83
protected void afterTransition (RobotState newState ) {
120
84
switch (newState ) {
121
- case SPEAKER_PREPARE_TO_SCORE , SPEAKER_SCORING , SPEAKER_WAITING -> {
85
+ case SPEAKER_PREPARE_TO_SCORE , SPEAKER_WAITING -> {
122
86
arm .setState (ArmState .SPEAKER_SHOT );
123
87
shooter .setState (ShooterState .SPEAKER_SHOT );
124
88
intake .setState (IntakeState .IDLE );
125
89
queuer .seState (QueuerState .IDLE_WITH_GP );
126
90
}
127
- case AMP_PREPARE_TO_SCORE , AMP_SCORING , AMP_WAITING -> {
91
+ case SPEAKER_SCORING -> {
92
+ arm .setState (ArmState .SPEAKER_SHOT );
93
+ shooter .setState (ShooterState .SPEAKER_SHOT );
94
+ intake .setState (IntakeState .IDLE );
95
+ queuer .seState (QueuerState .SHOOTING );
96
+ }
97
+ case AMP_PREPARE_TO_SCORE , AMP_WAITING -> {
128
98
arm .setState (ArmState .AMP );
129
99
shooter .setState (ShooterState .AMP );
130
100
intake .setState (IntakeState .IDLE );
131
101
queuer .seState (QueuerState .IDLE_WITH_GP );
132
102
}
133
- case FEEDING_PREPARE_TO_SHOOT , FEEDING_SHOOTING , FEEDING_WAITING -> {
103
+ case AMP_SCORING -> {
104
+ arm .setState (ArmState .AMP );
105
+ shooter .setState (ShooterState .AMP );
106
+ intake .setState (IntakeState .IDLE );
107
+ queuer .seState (QueuerState .SHOOTING );
108
+ }
109
+ case FEEDING_PREPARE_TO_SHOOT , FEEDING_WAITING -> {
134
110
arm .setState (ArmState .FEEDING );
135
111
shooter .setState (ShooterState .FEEDING );
136
112
intake .setState (IntakeState .IDLE );
137
113
queuer .seState (QueuerState .IDLE_WITH_GP );
138
114
}
139
- case PASS_PREPARE_TO_SHOOT , PASS_SHOOTING , PASS_WAITING -> {
115
+ case FEEDING_SHOOTING -> {
116
+ arm .setState (ArmState .FEEDING );
117
+ shooter .setState (ShooterState .FEEDING );
118
+ intake .setState (IntakeState .IDLE );
119
+ queuer .seState (QueuerState .SHOOTING );
120
+ }
121
+ case PASS_PREPARE_TO_SHOOT , PASS_WAITING -> {
140
122
arm .setState (ArmState .PASS );
141
123
shooter .setState (ShooterState .PASS );
142
124
intake .setState (IntakeState .IDLE );
143
125
queuer .seState (QueuerState .IDLE_WITH_GP );
144
126
}
127
+ case PASS_SHOOTING -> {
128
+ arm .setState (ArmState .PASS );
129
+ shooter .setState (ShooterState .PASS );
130
+ intake .setState (IntakeState .IDLE );
131
+ queuer .seState (QueuerState .SHOOTING );
132
+ }
145
133
case UNJAM -> {
146
134
arm .setState (ArmState .AMP );
147
- shooter .setState (ShooterState .DROP );
135
+ shooter .setState (ShooterState .PASS );
148
136
intake .setState (IntakeState .OUTTAKING );
149
137
queuer .seState (QueuerState .OUTTAKING );
150
138
}
@@ -167,7 +155,7 @@ protected void afterTransition(RobotState newState) {
167
155
queuer .seState (QueuerState .IDLE_NO_GP );
168
156
}
169
157
case CLIMBING_2_HANGING -> {
170
- arm .setState (ArmState .CLIMBING_1_LINEUP );
158
+ arm .setState (ArmState .CLIMBING_2_HANGING );
171
159
shooter .setState (ShooterState .IDLE_STOPPED );
172
160
intake .setState (IntakeState .IDLE );
173
161
queuer .seState (QueuerState .IDLE_NO_GP );
@@ -180,7 +168,7 @@ protected void afterTransition(RobotState newState) {
180
168
}
181
169
case IDLE_WITH_GP -> {
182
170
arm .setState (ArmState .IDLE );
183
- shooter .setState (ShooterState .IDLE_STOPPED );
171
+ shooter .setState (ShooterState .IDLE_WARMUP );
184
172
intake .setState (IntakeState .IDLE );
185
173
queuer .seState (QueuerState .IDLE_WITH_GP );
186
174
}
0 commit comments