Class ParallelGroup

java.lang.Object
org.wpilib.commands3.ParallelGroup
All Implemented Interfaces:
Command

public final class ParallelGroup extends Object implements Command
A type of command that runs multiple other commands in parallel. The group will end after all required commands have completed; if no command is explicitly required for completion, then the group will end after any command in the group finishes. Any commands still running when the group has reached its completion condition will be canceled.
  • Method Details

    • run

      public void run(Coroutine coroutine)
      Description copied from interface: Command
      Runs the command. Commands that need to periodically run until a goal state is reached should simply run a while loop like while (!atGoal()) { ... } and call Coroutine.yield() at the end of the loop.

      Warning: any loops in a command must call coroutine.yield(). Failure to do so will prevent anything else in your robot code from running. Commands are opt-in collaborative constructs; don't be greedy!

      Specified by:
      run in interface Command
      Parameters:
      coroutine - the coroutine backing the command's execution
    • name

      public String name()
      Description copied from interface: Command
      The name of the command.
      Specified by:
      name in interface Command
      Returns:
      the name of the command
    • requirements

      Description copied from interface: Command
      The mechanisms required by the command. This is used by the scheduler to determine if two commands conflict with each other. No mechanism may be required by more than one running command at a time.
      Specified by:
      requirements in interface Command
      Returns:
      the set of mechanisms required by the command
    • priority

      public int priority()
      Description copied from interface: Command
      The priority of the command. If a command is scheduled that conflicts with another running or pending command, their priority values are compared to determine which should run. If the scheduled command is lower priority than the running command, then it will not be scheduled and the running command will continue to run. If it is the same or higher priority, then the running command will be canceled and the scheduled command will start to run.
      Specified by:
      priority in interface Command
      Returns:
      the priority of the command
    • toString

      public String toString()
      Overrides:
      toString in class Object