Class Trigger
java.lang.Object
edu.wpi.first.wpilibj2.command.button.Trigger
- All Implemented Interfaces:
BooleanSupplier
- Direct Known Subclasses:
InternalButton,JoystickButton,NetworkButton,POVButton
This class provides an easy way to link commands to conditions.
It is very easy to link a button to a command. For instance, you could link the trigger button of a joystick to a "score" command.
Triggers can easily be composed for advanced functionality using the and(BooleanSupplier), or(BooleanSupplier), negate() operators.
This class is provided by the NewCommands VendorDep
-
Constructor Summary
ConstructorsConstructorDescriptionTrigger(EventLoop loop, BooleanSupplier condition) Creates a new trigger based on the given condition.Trigger(BooleanSupplier condition) Creates a new trigger based on the given condition. -
Method Summary
Modifier and TypeMethodDescriptionand(BooleanSupplier trigger) Composes two triggers with logical AND.debounce(double seconds) Creates a new debounced trigger from this trigger - it will become active when this trigger has been active for longer than the specified period.debounce(double seconds, Debouncer.DebounceType type) Creates a new debounced trigger from this trigger - it will become active when this trigger has been active for longer than the specified period.booleannegate()Creates a new trigger that is active when this trigger is inactive, i.e.Starts the command when the condition changes.Starts the given command whenever the condition changes from `true` to `false`.Starts the given command whenever the condition changes from `false` to `true`.or(BooleanSupplier trigger) Composes two triggers with logical OR.toggleOnFalse(Command command) Toggles a command when the condition changes from `true` to `false`.toggleOnTrue(Command command) Toggles a command when the condition changes from `false` to `true`.whileFalse(Command command) Starts the given command when the condition changes to `false` and cancels it when the condition changes to `true`.Starts the given command when the condition changes to `true` and cancels it when the condition changes to `false`.
-
Constructor Details
-
Trigger
Creates a new trigger based on the given condition.- Parameters:
loop- The loop instance that polls this trigger.condition- the condition represented by this trigger
-
Trigger
Creates a new trigger based on the given condition.Polled by the default scheduler button loop.
- Parameters:
condition- the condition represented by this trigger
-
-
Method Details
-
onChange
Starts the command when the condition changes.- Parameters:
command- the command to start- Returns:
- this trigger, so calls can be chained
-
onTrue
Starts the given command whenever the condition changes from `false` to `true`.- Parameters:
command- the command to start- Returns:
- this trigger, so calls can be chained
-
onFalse
Starts the given command whenever the condition changes from `true` to `false`.- Parameters:
command- the command to start- Returns:
- this trigger, so calls can be chained
-
whileTrue
Starts the given command when the condition changes to `true` and cancels it when the condition changes to `false`.Doesn't re-start the command if it ends while the condition is still `true`. If the command should restart, see
RepeatCommand.- Parameters:
command- the command to start- Returns:
- this trigger, so calls can be chained
-
whileFalse
Starts the given command when the condition changes to `false` and cancels it when the condition changes to `true`.Doesn't re-start the command if it ends while the condition is still `false`. If the command should restart, see
RepeatCommand.- Parameters:
command- the command to start- Returns:
- this trigger, so calls can be chained
-
toggleOnTrue
Toggles a command when the condition changes from `false` to `true`.- Parameters:
command- the command to toggle- Returns:
- this trigger, so calls can be chained
-
toggleOnFalse
Toggles a command when the condition changes from `true` to `false`.- Parameters:
command- the command to toggle- Returns:
- this trigger, so calls can be chained
-
getAsBoolean
- Specified by:
getAsBooleanin interfaceBooleanSupplier
-
and
Composes two triggers with logical AND.- Parameters:
trigger- the condition to compose with- Returns:
- A trigger which is active when both component triggers are active.
-
or
Composes two triggers with logical OR.- Parameters:
trigger- the condition to compose with- Returns:
- A trigger which is active when either component trigger is active.
-
negate
Creates a new trigger that is active when this trigger is inactive, i.e. that acts as the negation of this trigger.- Returns:
- the negated trigger
-
debounce
Creates a new debounced trigger from this trigger - it will become active when this trigger has been active for longer than the specified period.- Parameters:
seconds- The debounce period.- Returns:
- The debounced trigger (rising edges debounced only)
-
debounce
Creates a new debounced trigger from this trigger - it will become active when this trigger has been active for longer than the specified period.- Parameters:
seconds- The debounce period.type- The debounce type.- Returns:
- The debounced trigger.
-