RobotCore
1.0
WPILib port to raspberry Pi
Toggle main menu visibility
Loading...
Searching...
No Matches
CoroutineState.java
1
// Copyright (c) FIRST and other WPILib contributors.
2
// Open Source Software; you can modify and/or share it under the terms of
3
// the WPILib BSD license file in the root directory of this project.
4
5
package
org.wpilib.command3;
6
7
import
java.util.function.BooleanSupplier;
8
import
org.wpilib.system.RobotController;
9
16
sealed
interface
CoroutineState
{
21
CoroutineState
LIVE
=
new
Live
();
22
27
CoroutineState
FROZEN
=
new
Frozen
();
28
36
CoroutineState
CANCELED
=
new
Canceled
();
37
46
static
ParkedUntil
parkedUntil
(
long
targetTimestampNanos) {
47
return
new
ParkedUntil
(targetTimestampNanos);
48
}
49
57
static
ParkedOnCondition
parkedUntil
(BooleanSupplier condition) {
58
return
new
ParkedOnCondition
(condition);
59
}
60
68
static
ParkedWhile
parkedWhile
(BooleanSupplier condition) {
69
return
new
ParkedWhile
(condition);
70
}
71
82
static
ForkFailed
forkFailed
(
Coroutine
.
ForkResult
failure) {
83
return
new
ForkFailed
(failure);
84
}
85
91
boolean
shouldMount
();
92
94
record
Live
() implements
CoroutineState
{
95
@Override
96
public
boolean
shouldMount
() {
97
return
true
;
98
}
99
100
@Override
101
public
String toString() {
102
return
"LIVE"
;
103
}
104
}
105
109
record
Frozen
() implements
CoroutineState
{
110
@Override
111
public
boolean
shouldMount
() {
112
return
false
;
113
}
114
115
@Override
116
public
String toString() {
117
return
"FROZEN"
;
118
}
119
}
120
127
record
ParkedUntil
(
long
targetTimestampNanos) implements
CoroutineState
{
128
boolean
elapsed() {
129
return
RobotController
.
getTime
() >= targetTimestampNanos;
130
}
131
132
@Override
133
public
boolean
shouldMount
() {
134
return
elapsed();
135
}
136
137
@Override
138
public
String toString() {
139
return
"ParkedUntil["
+ targetTimestampNanos +
"ns]"
;
140
}
141
}
142
149
record
ParkedOnCondition
(BooleanSupplier condition) implements
CoroutineState
{
150
public
boolean
conditionMet() {
151
return
condition.getAsBoolean();
152
}
153
154
@Override
155
public
boolean
shouldMount
() {
156
return
conditionMet();
157
}
158
159
@Override
160
public
String toString() {
161
return
"ParkedOnCondition[dynamic]"
;
162
}
163
}
164
171
record
ParkedWhile
(BooleanSupplier condition) implements
CoroutineState
{
172
public
boolean
conditionMet() {
173
return
!condition.getAsBoolean();
174
}
175
176
@Override
177
public
boolean
shouldMount
() {
178
return
conditionMet();
179
}
180
181
@Override
182
public
String toString() {
183
return
"ParkedWhile[dynamic]"
;
184
}
185
}
186
190
record
Canceled
() implements
CoroutineState
{
191
@Override
192
public
boolean
shouldMount
() {
193
return
false
;
194
}
195
196
@Override
197
public
String toString() {
198
return
"CANCELED"
;
199
}
200
}
201
207
record
ForkFailed
(
Coroutine
.
ForkResult
failure) implements
CoroutineState
{
208
@Override
209
public
boolean
shouldMount
() {
210
return
false
;
211
}
212
213
@Override
214
public
String toString() {
215
return
"FORK_FAILED["
+ failure +
"]"
;
216
}
217
}
218
}
org.wpilib.command3.Coroutine.ForkResult
Definition
Coroutine.java:172
org.wpilib.command3.Coroutine
Definition
Coroutine.java:35
org.wpilib.system.RobotController
Definition
RobotController.java:25
org.wpilib.system.RobotController.getTime
static long getTime()
Definition
RobotController.java:79
org.wpilib.command3.CoroutineState
Definition
CoroutineState.java:16
org.wpilib.command3.CoroutineState.Live
record Live() implements CoroutineState
Definition
CoroutineState.java:94
org.wpilib.command3.CoroutineState.FROZEN
CoroutineState FROZEN
Definition
CoroutineState.java:27
org.wpilib.command3.CoroutineState.ParkedUntil
record ParkedUntil(long targetTimestampNanos) implements CoroutineState
Definition
CoroutineState.java:127
org.wpilib.command3.CoroutineState.forkFailed
static ForkFailed forkFailed(Coroutine.ForkResult failure)
Definition
CoroutineState.java:82
org.wpilib.command3.CoroutineState.shouldMount
boolean shouldMount()
org.wpilib.command3.CoroutineState.parkedUntil
static ParkedOnCondition parkedUntil(BooleanSupplier condition)
Definition
CoroutineState.java:57
org.wpilib.command3.CoroutineState.ParkedOnCondition
record ParkedOnCondition(BooleanSupplier condition) implements CoroutineState
Definition
CoroutineState.java:149
org.wpilib.command3.CoroutineState.CANCELED
CoroutineState CANCELED
Definition
CoroutineState.java:36
org.wpilib.command3.CoroutineState.parkedWhile
static ParkedWhile parkedWhile(BooleanSupplier condition)
Definition
CoroutineState.java:68
org.wpilib.command3.CoroutineState.LIVE
CoroutineState LIVE
Definition
CoroutineState.java:21
org.wpilib.command3.CoroutineState.ParkedWhile
record ParkedWhile(BooleanSupplier condition) implements CoroutineState
Definition
CoroutineState.java:171
org.wpilib.command3.CoroutineState.Canceled
record Canceled() implements CoroutineState
Definition
CoroutineState.java:190
org.wpilib.command3.CoroutineState.Frozen
record Frozen() implements CoroutineState
Definition
CoroutineState.java:109
org.wpilib.command3.CoroutineState.ForkFailed
record ForkFailed(Coroutine.ForkResult failure) implements CoroutineState
Definition
CoroutineState.java:207
org.wpilib.command3.CoroutineState.parkedUntil
static ParkedUntil parkedUntil(long targetTimestampNanos)
Definition
CoroutineState.java:46
org
wpilib
command3
CoroutineState.java
Generated by
1.18.0