RobotCore
Robot Core Documentation
Public Member Functions | List of all members
edu.wpi.first.wpilibj2.command.button.Trigger Class Reference
Inheritance diagram for edu.wpi.first.wpilibj2.command.button.Trigger:
edu.wpi.first.wpilibj2.command.button.Button edu.wpi.first.wpilibj2.command.button.InternalButton edu.wpi.first.wpilibj2.command.button.JoystickButton

Public Member Functions

 Trigger (BooleanSupplier isActive)
 
 Trigger ()
 
boolean get ()
 
Trigger whenActive (final Command command, boolean interruptible)
 
Trigger whenActive (final Command command)
 
Trigger whenActive (final Runnable toRun, Subsystem... requirements)
 
Trigger whileActiveContinuous (final Command command, boolean interruptible)
 
Trigger whileActiveContinuous (final Command command)
 
Trigger whileActiveContinuous (final Runnable toRun, Subsystem... requirements)
 
Trigger whileActiveOnce (final Command command, boolean interruptible)
 
Trigger whileActiveOnce (final Command command)
 
Trigger whenInactive (final Command command, boolean interruptible)
 
Trigger whenInactive (final Command command)
 
Trigger whenInactive (final Runnable toRun, Subsystem... requirements)
 
Trigger toggleWhenActive (final Command command, boolean interruptible)
 
Trigger toggleWhenActive (final Command command)
 
Trigger cancelWhenActive (final Command command)
 
Trigger and (Trigger trigger)
 
Trigger or (Trigger trigger)
 
Trigger negate ()
 

Detailed Description

This class provides an easy way to link commands to inputs.

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.

It is encouraged that teams write a subclass of Trigger if they want to have something unusual (for instance, if they want to react to the user holding a button while the robot is reading a certain sensor input). For this, they only have to write the Trigger#get() method to get the full functionality of the Trigger class.

Constructor & Destructor Documentation

◆ Trigger() [1/2]

edu.wpi.first.wpilibj2.command.button.Trigger.Trigger ( BooleanSupplier  isActive)

Creates a new trigger with the given condition determining whether it is active.

Parameters
isActivereturns whether or not the trigger should be active

◆ Trigger() [2/2]

edu.wpi.first.wpilibj2.command.button.Trigger.Trigger ( )

Creates a new trigger that is always inactive. Useful only as a no-arg constructor for subclasses that will be overriding Trigger#get() anyway.

Member Function Documentation

◆ and()

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.and ( Trigger  trigger)

Composes this trigger with another trigger, returning a new trigger that is active when both triggers are active.

Parameters
triggerthe trigger to compose with
Returns
the trigger that is active when both triggers are active

◆ cancelWhenActive()

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.cancelWhenActive ( final Command  command)

Cancels a command when the trigger becomes active.

Parameters
commandthe command to cancel
Returns
this trigger, so calls can be chained

◆ get()

boolean edu.wpi.first.wpilibj2.command.button.Trigger.get ( )

Returns whether or not the trigger is active.

This method will be called repeatedly a command is linked to the Trigger.

Returns
whether or not the trigger condition is active.

Reimplemented in edu.wpi.first.wpilibj2.command.button.JoystickButton, and edu.wpi.first.wpilibj2.command.button.InternalButton.

◆ negate()

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.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

◆ or()

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.or ( Trigger  trigger)

Composes this trigger with another trigger, returning a new trigger that is active when either trigger is active.

Parameters
triggerthe trigger to compose with
Returns
the trigger that is active when either trigger is active

◆ toggleWhenActive() [1/2]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.toggleWhenActive ( final Command  command)

Toggles a command when the trigger becomes active. The command is set to be interruptible.

Parameters
commandthe command to toggle
Returns
this trigger, so calls can be chained

◆ toggleWhenActive() [2/2]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.toggleWhenActive ( final Command  command,
boolean  interruptible 
)

Toggles a command when the trigger becomes active.

Parameters
commandthe command to toggle
interruptiblewhether the command is interruptible
Returns
this trigger, so calls can be chained

◆ whenActive() [1/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenActive ( final Command  command)

Starts the given command whenever the trigger just becomes active. The command is set to be interruptible.

Parameters
commandthe command to start
Returns
this trigger, so calls can be chained

◆ whenActive() [2/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenActive ( final Command  command,
boolean  interruptible 
)

Starts the given command whenever the trigger just becomes active.

Parameters
commandthe command to start
interruptiblewhether the command is interruptible
Returns
this trigger, so calls can be chained

◆ whenActive() [3/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenActive ( final Runnable  toRun,
Subsystem...  requirements 
)

Runs the given runnable whenever the trigger just becomes active.

Parameters
toRunthe runnable to run
requirementsthe required subsystems
Returns
this trigger, so calls can be chained

◆ whenInactive() [1/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenInactive ( final Command  command)

Starts the command when the trigger becomes inactive. The command is set to be interruptible.

Parameters
commandthe command to start
Returns
this trigger, so calls can be chained

◆ whenInactive() [2/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenInactive ( final Command  command,
boolean  interruptible 
)

Starts the command when the trigger becomes inactive.

Parameters
commandthe command to start
interruptiblewhether the command is interruptible
Returns
this trigger, so calls can be chained

◆ whenInactive() [3/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whenInactive ( final Runnable  toRun,
Subsystem...  requirements 
)

Runs the given runnable when the trigger becomes inactive.

Parameters
toRunthe runnable to run
requirementsthe required subsystems
Returns
this trigger, so calls can be chained

◆ whileActiveContinuous() [1/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whileActiveContinuous ( final Command  command)

Constantly starts the given command while the button is held.

Command#schedule(boolean) will be called repeatedly while the trigger is active, and will be canceled when the trigger becomes inactive. The command is set to be interruptible.

Parameters
commandthe command to start
Returns
this trigger, so calls can be chained

◆ whileActiveContinuous() [2/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whileActiveContinuous ( final Command  command,
boolean  interruptible 
)

Constantly starts the given command while the button is held.

Command#schedule(boolean) will be called repeatedly while the trigger is active, and will be canceled when the trigger becomes inactive.

Parameters
commandthe command to start
interruptiblewhether the command is interruptible
Returns
this trigger, so calls can be chained

◆ whileActiveContinuous() [3/3]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whileActiveContinuous ( final Runnable  toRun,
Subsystem...  requirements 
)

Constantly runs the given runnable while the button is held.

Parameters
toRunthe runnable to run
requirementsthe required subsystems
Returns
this trigger, so calls can be chained

◆ whileActiveOnce() [1/2]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whileActiveOnce ( final Command  command)

Starts the given command when the trigger initially becomes active, and ends it when it becomes inactive, but does not re-start it in-between. The command is set to be interruptible.

Parameters
commandthe command to start
Returns
this trigger, so calls can be chained

◆ whileActiveOnce() [2/2]

Trigger edu.wpi.first.wpilibj2.command.button.Trigger.whileActiveOnce ( final Command  command,
boolean  interruptible 
)

Starts the given command when the trigger initially becomes active, and ends it when it becomes inactive, but does not re-start it in-between.

Parameters
commandthe command to start
interruptiblewhether the command is interruptible
Returns
this trigger, so calls can be chained

The documentation for this class was generated from the following file: