Robot Core Documentation
Public Member Functions | Protected Attributes | List of all members
edu.wpi.first.wpilibj2.command.FunctionalCommand Class Reference
Inheritance diagram for edu.wpi.first.wpilibj2.command.FunctionalCommand:
edu.wpi.first.wpilibj2.command.CommandBase edu.wpi.first.wpilibj2.command.Command

Public Member Functions

 FunctionalCommand (Runnable onInit, Runnable onExecute, Consumer< Boolean > onEnd, BooleanSupplier isFinished, Subsystem... requirements)
void initialize ()
void execute ()
void end (boolean interrupted)
boolean isFinished ()
- Public Member Functions inherited from edu.wpi.first.wpilibj2.command.CommandBase
final void addRequirements (Subsystem... requirements)
Set< SubsystemgetRequirements ()
- Public Member Functions inherited from edu.wpi.first.wpilibj2.command.Command
default ParallelRaceGroup withTimeout (double seconds)
default ParallelRaceGroup withInterrupt (BooleanSupplier condition)
default SequentialCommandGroup beforeStarting (Runnable toRun, Subsystem... requirements)
default SequentialCommandGroup andThen (Runnable toRun, Subsystem... requirements)
default SequentialCommandGroup andThen (Command... next)
default ParallelDeadlineGroup deadlineWith (Command... parallel)
default ParallelCommandGroup alongWith (Command... parallel)
default ParallelRaceGroup raceWith (Command... parallel)
default PerpetualCommand perpetually ()
default ProxyScheduleCommand asProxy ()
default void schedule (boolean interruptible)
default void schedule ()
default void cancel ()
default boolean isScheduled ()
default boolean hasRequirement (Subsystem requirement)
default boolean runsWhenDisabled ()
default String getName ()

Protected Attributes

final Runnable m_onInit
final Runnable m_onExecute
final Consumer< Boolean > m_onEnd
final BooleanSupplier m_isFinished
- Protected Attributes inherited from edu.wpi.first.wpilibj2.command.CommandBase
Set< Subsystemm_requirements = new HashSet<>()

Detailed Description

A command that allows the user to pass in functions for each of the basic command methods through the constructor. Useful for inline definitions of complex commands - note, however, that if a command is beyond a certain complexity it is usually better practice to write a proper class for it than to inline it.

Constructor & Destructor Documentation

◆ FunctionalCommand()

edu.wpi.first.wpilibj2.command.FunctionalCommand.FunctionalCommand ( Runnable  onInit,
Runnable  onExecute,
Consumer< Boolean >  onEnd,
BooleanSupplier  isFinished,
Subsystem...  requirements 

Creates a new FunctionalCommand.

onInitthe function to run on command initialization
onExecutethe function to run on command execution
onEndthe function to run on command end
isFinishedthe function that determines whether the command has finished
requirementsthe subsystems required by this command

Member Function Documentation

◆ end()

void edu.wpi.first.wpilibj2.command.FunctionalCommand.end ( boolean  interrupted)

The action to take when the command ends. Called when either the command finishes normally, or when it interrupted/canceled.

Do not schedule commands here that share requirements with this command. Use andThen(Command...) instead.

interruptedwhether the command was interrupted/canceled

Implements edu.wpi.first.wpilibj2.command.Command.

◆ execute()

void edu.wpi.first.wpilibj2.command.FunctionalCommand.execute ( )

The main body of a command. Called repeatedly while the command is scheduled.

Implements edu.wpi.first.wpilibj2.command.Command.

◆ initialize()

void edu.wpi.first.wpilibj2.command.FunctionalCommand.initialize ( )

The initial subroutine of a command. Called once when the command is initially scheduled.

Implements edu.wpi.first.wpilibj2.command.Command.

◆ isFinished()

boolean edu.wpi.first.wpilibj2.command.FunctionalCommand.isFinished ( )

Whether the command has finished. Once a command finishes, the scheduler will call its end() method and un-schedule it.

whether the command has finished.

Implements edu.wpi.first.wpilibj2.command.Command.

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