wh1ter0se/PowerUp-2018

View on GitHub
wpilib18/java/current/javadoc/edu/wpi/first/wpilibj/command/Command.html

Summary

Maintainability
Test Coverage
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_144) on Sat Oct 28 05:22:54 EDT 2017 -->
<title>Command (Documentation - Release API)</title>
<meta name="date" content="2017-10-28">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Command (Documentation - Release API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":6,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/wpi/first/wpilibj/command/Command.html" target="_top">Frames</a></li>
<li><a href="Command.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">edu.wpi.first.wpilibj.command</div>
<h2 title="Class Command" class="title">Class Command</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.wpilibj.command.Command</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/NamedSendable.html" title="interface in edu.wpi.first.wpilibj">NamedSendable</a>, <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj">Sendable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command">CommandGroup</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/ConditionalCommand.html" title="class in edu.wpi.first.wpilibj.command">ConditionalCommand</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/InstantCommand.html" title="class in edu.wpi.first.wpilibj.command">InstantCommand</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/PIDCommand.html" title="class in edu.wpi.first.wpilibj.command">PIDCommand</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/TimedCommand.html" title="class in edu.wpi.first.wpilibj.command">TimedCommand</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/WaitForChildren.html" title="class in edu.wpi.first.wpilibj.command">WaitForChildren</a>, <a href="../../../../../edu/wpi/first/wpilibj/command/WaitUntilCommand.html" title="class in edu.wpi.first.wpilibj.command">WaitUntilCommand</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Command</span>
extends java.lang.Object
implements <a href="../../../../../edu/wpi/first/wpilibj/NamedSendable.html" title="interface in edu.wpi.first.wpilibj">NamedSendable</a></pre>
<div class="block">The Command class is at the very core of the entire command framework. Every command can be
 started with a call to <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#start--"><code>start()</code></a>. Once a command is started it will call
 <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#initialize--"><code>initialize()</code></a>, and then will repeatedly call <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#execute--"><code>execute()</code></a> until the <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isFinished--"><code>isFinished()</code></a> returns true. Once it does, <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#end--"><code>end()</code></a> will be called.

 <p>However, if at any point while it is running <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#cancel--"><code>cancel()</code></a> is called,
 then the command will be stopped and <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#interrupted--"><code>interrupted()</code></a> will be called.

 <p>If a command uses a <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a>, then it should specify that it does so by calling the
 <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#requires-edu.wpi.first.wpilibj.command.Subsystem-"><code>requires(...)</code></a> method in its constructor. Note that a Command
 may have multiple requirements, and <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#requires-edu.wpi.first.wpilibj.command.Subsystem-"><code>requires(...)</code></a> should be
 called for each one.

 <p>If a command is running and a new command with shared requirements is started, then one of
 two things will happen. If the active command is interruptible, then <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#cancel--"><code>cancel()</code></a> will be called and the command will be removed to make way for the new one. If the
 active command is not interruptible, the other one will not even be started, and the active one
 will continue functioning.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a>, 
<a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a>, 
<a href="../../../../../edu/wpi/first/wpilibj/command/IllegalUseOfCommandException.html" title="class in edu.wpi.first.wpilibj.command"><code>IllegalUseOfCommandException</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#Command--">Command</a></span>()</code>
<div class="block">Creates a new command.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#Command-double-">Command</a></span>(double&nbsp;timeout)</code>
<div class="block">Creates a new command with the given timeout and a default name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#Command-java.lang.String-">Command</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Creates a new command with the given name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#Command-java.lang.String-double-">Command</a></span>(java.lang.String&nbsp;name,
       double&nbsp;timeout)</code>
<div class="block">Creates a new command with the given name and timeout.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#cancel--">cancel</a></span>()</code>
<div class="block">This will cancel the current command.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#clearRequirements--">clearRequirements</a></span>()</code>
<div class="block">Clears list of subsystem requirements.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#doesRequire-edu.wpi.first.wpilibj.command.Subsystem-">doesRequire</a></span>(<a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command">Subsystem</a>&nbsp;system)</code>
<div class="block">Checks if the command requires the given <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#end--">end</a></span>()</code>
<div class="block">Called when the command ended peacefully.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#execute--">execute</a></span>()</code>
<div class="block">The execute method is called repeatedly until this Command either finishes or is canceled.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command">CommandGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#getGroup--">getGroup</a></span>()</code>
<div class="block">Returns the <a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a> that this command is a part of.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#getName--">getName</a></span>()</code>
<div class="block">Returns the name of this command.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#getSmartDashboardType--">getSmartDashboardType</a></span>()</code>
<div class="block">The string representation of the named data type that will be used by the smart dashboard for
 this <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj"><code>Sendable</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#initialize--">initialize</a></span>()</code>
<div class="block">The initialize method is called the first time this Command is run after being started.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#initTable-edu.wpi.first.networktables.NetworkTable-">initTable</a></span>(<a href="../../../../../edu/wpi/first/networktables/NetworkTable.html" title="class in edu.wpi.first.networktables">NetworkTable</a>&nbsp;table)</code>
<div class="block">Initializes a table for this <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj"><code>Sendable</code></a> object.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#interrupted--">interrupted</a></span>()</code>
<div class="block">Called when the command ends because somebody called <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#cancel--"><code>cancel()</code></a> or
 another command shared the same requirements as this one, and booted it out.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isCanceled--">isCanceled</a></span>()</code>
<div class="block">Returns whether or not this has been canceled.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isFinished--">isFinished</a></span>()</code>
<div class="block">Returns whether this command is finished.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isInterruptible--">isInterruptible</a></span>()</code>
<div class="block">Returns whether or not this command can be interrupted.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isRunning--">isRunning</a></span>()</code>
<div class="block">Returns whether or not the command is running.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--">isTimedOut</a></span>()</code>
<div class="block">Returns whether or not the <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#timeSinceInitialized--"><code>timeSinceInitialized()</code></a> method
 returns a number which is greater than or equal to the timeout for the command.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#requires-edu.wpi.first.wpilibj.command.Subsystem-">requires</a></span>(<a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command">Subsystem</a>&nbsp;subsystem)</code>
<div class="block">This method specifies that the given <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a> is used by this command.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#setInterruptible-boolean-">setInterruptible</a></span>(boolean&nbsp;interruptible)</code>
<div class="block">Sets whether or not this command can be interrupted.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#setRunWhenDisabled-boolean-">setRunWhenDisabled</a></span>(boolean&nbsp;run)</code>
<div class="block">Sets whether or not this <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> should run when the robot is disabled.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#setTimeout-double-">setTimeout</a></span>(double&nbsp;seconds)</code>
<div class="block">Sets the timeout of this command.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#start--">start</a></span>()</code>
<div class="block">Starts up the command.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#timeSinceInitialized--">timeSinceInitialized</a></span>()</code>
<div class="block">Returns the time since this command was initialized (in seconds).</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#toString--">toString</a></span>()</code>
<div class="block">The string representation for a <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> is by default its name.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#willRunWhenDisabled--">willRunWhenDisabled</a></span>()</code>
<div class="block">Returns whether or not this <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> will run when the robot is disabled, or if it will
 cancel itself.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Command--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Command</h4>
<pre>public&nbsp;Command()</pre>
<div class="block">Creates a new command. The name of this command will be set to its class name.</div>
</li>
</ul>
<a name="Command-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Command</h4>
<pre>public&nbsp;Command(java.lang.String&nbsp;name)</pre>
<div class="block">Creates a new command with the given name.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name for this command</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if name is null</dd>
</dl>
</li>
</ul>
<a name="Command-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Command</h4>
<pre>public&nbsp;Command(double&nbsp;timeout)</pre>
<div class="block">Creates a new command with the given timeout and a default name. The default name is the name
 of the class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - the time (in seconds) before this command "times out"</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if given a negative timeout</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--"><code>isTimedOut()</code></a></dd>
</dl>
</li>
</ul>
<a name="Command-java.lang.String-double-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Command</h4>
<pre>public&nbsp;Command(java.lang.String&nbsp;name,
               double&nbsp;timeout)</pre>
<div class="block">Creates a new command with the given name and timeout.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the command</dd>
<dd><code>timeout</code> - the time (in seconds) before this command "times out"</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if given a negative timeout or name was null.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--"><code>isTimedOut()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">Returns the name of this command. If no name was specified in the constructor, then the default
 is the name of the class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/NamedSendable.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/wpi/first/wpilibj/NamedSendable.html" title="interface in edu.wpi.first.wpilibj">NamedSendable</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this command</dd>
</dl>
</li>
</ul>
<a name="setTimeout-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeout</h4>
<pre>protected final&nbsp;void&nbsp;setTimeout(double&nbsp;seconds)</pre>
<div class="block">Sets the timeout of this command.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>seconds</code> - the timeout (in seconds)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if seconds is negative</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--"><code>isTimedOut()</code></a></dd>
</dl>
</li>
</ul>
<a name="timeSinceInitialized--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeSinceInitialized</h4>
<pre>public final&nbsp;double&nbsp;timeSinceInitialized()</pre>
<div class="block">Returns the time since this command was initialized (in seconds). This function will work even
 if there is no specified timeout.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the time since this command was initialized (in seconds).</dd>
</dl>
</li>
</ul>
<a name="requires-edu.wpi.first.wpilibj.command.Subsystem-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requires</h4>
<pre>protected&nbsp;void&nbsp;requires(<a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command">Subsystem</a>&nbsp;subsystem)</pre>
<div class="block">This method specifies that the given <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a> is used by this command. This method is
 crucial to the functioning of the Command System in general.

 <p>Note that the recommended way to call this method is in the constructor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subsystem</code> - the <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a> required</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if subsystem is null</dd>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/command/IllegalUseOfCommandException.html" title="class in edu.wpi.first.wpilibj.command">IllegalUseOfCommandException</a></code> - if this command has started before or if it has been given
                                      to a <a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a></dd>
</dl>
</li>
</ul>
<a name="initialize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>protected&nbsp;void&nbsp;initialize()</pre>
<div class="block">The initialize method is called the first time this Command is run after being started.</div>
</li>
</ul>
<a name="execute--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre>protected&nbsp;void&nbsp;execute()</pre>
<div class="block">The execute method is called repeatedly until this Command either finishes or is canceled.</div>
</li>
</ul>
<a name="isFinished--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFinished</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isFinished()</pre>
<div class="block">Returns whether this command is finished. If it is, then the command will be removed and <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#end--"><code>end()</code></a> will be called.

 <p>It may be useful for a team to reference the <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--"><code>isTimedOut()</code></a>
 method for time-sensitive commands.

 <p>Returning false will result in the command never ending automatically. It may still be
 cancelled manually or interrupted by another command. Returning true will result in the
 command executing once and finishing immediately. We recommend using <a href="../../../../../edu/wpi/first/wpilibj/command/InstantCommand.html" title="class in edu.wpi.first.wpilibj.command"><code>InstantCommand</code></a>
 for this.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether this command is finished.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#isTimedOut--"><code>isTimedOut()</code></a></dd>
</dl>
</li>
</ul>
<a name="end--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>end</h4>
<pre>protected&nbsp;void&nbsp;end()</pre>
<div class="block">Called when the command ended peacefully. This is where you may want to wrap up loose ends,
 like shutting off a motor that was being used in the command.</div>
</li>
</ul>
<a name="interrupted--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interrupted</h4>
<pre>protected&nbsp;void&nbsp;interrupted()</pre>
<div class="block">Called when the command ends because somebody called <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#cancel--"><code>cancel()</code></a> or
 another command shared the same requirements as this one, and booted it out.

 <p>This is where you may want to wrap up loose ends, like shutting off a motor that was being
 used in the command.

 <p>Generally, it is useful to simply call the <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#end--"><code>end()</code></a> method within this
 method, as done here.</div>
</li>
</ul>
<a name="isTimedOut--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTimedOut</h4>
<pre>protected&nbsp;boolean&nbsp;isTimedOut()</pre>
<div class="block">Returns whether or not the <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#timeSinceInitialized--"><code>timeSinceInitialized()</code></a> method
 returns a number which is greater than or equal to the timeout for the command. If there is no
 timeout, this will always return false.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the time has expired</dd>
</dl>
</li>
</ul>
<a name="clearRequirements--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearRequirements</h4>
<pre>protected&nbsp;void&nbsp;clearRequirements()</pre>
<div class="block">Clears list of subsystem requirements. This is only used by
 <a href="../../../../../edu/wpi/first/wpilibj/command/ConditionalCommand.html" title="class in edu.wpi.first.wpilibj.command"><code>ConditionalCommand</code></a> so cancelling the chosen command works properly
 in <a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a>.</div>
</li>
</ul>
<a name="start--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()</pre>
<div class="block">Starts up the command. Gets the command ready to start. <p> Note that the command will
 eventually start, however it will not necessarily do so immediately, and may in fact be
 canceled before initialize is even called. </p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/command/IllegalUseOfCommandException.html" title="class in edu.wpi.first.wpilibj.command">IllegalUseOfCommandException</a></code> - if the command is a part of a CommandGroup</dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public&nbsp;boolean&nbsp;isRunning()</pre>
<div class="block">Returns whether or not the command is running. This may return true even if the command has
 just been canceled, as it may not have yet called <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html#interrupted--"><code>interrupted()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the command is running</dd>
</dl>
</li>
</ul>
<a name="cancel--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancel</h4>
<pre>public&nbsp;void&nbsp;cancel()</pre>
<div class="block">This will cancel the current command. <p> This will cancel the current command eventually. It
 can be called multiple times. And it can be called when the command is not running. If the
 command is running though, then the command will be marked as canceled and eventually removed.
 </p> <p> A command can not be canceled if it is a part of a command group, you must cancel the
 command group instead. </p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/command/IllegalUseOfCommandException.html" title="class in edu.wpi.first.wpilibj.command">IllegalUseOfCommandException</a></code> - if this command is a part of a command group</dd>
</dl>
</li>
</ul>
<a name="isCanceled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCanceled</h4>
<pre>public&nbsp;boolean&nbsp;isCanceled()</pre>
<div class="block">Returns whether or not this has been canceled.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this has been canceled</dd>
</dl>
</li>
</ul>
<a name="isInterruptible--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterruptible</h4>
<pre>public&nbsp;boolean&nbsp;isInterruptible()</pre>
<div class="block">Returns whether or not this command can be interrupted.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not this command can be interrupted</dd>
</dl>
</li>
</ul>
<a name="setInterruptible-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInterruptible</h4>
<pre>protected&nbsp;void&nbsp;setInterruptible(boolean&nbsp;interruptible)</pre>
<div class="block">Sets whether or not this command can be interrupted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interruptible</code> - whether or not this command can be interrupted</dd>
</dl>
</li>
</ul>
<a name="doesRequire-edu.wpi.first.wpilibj.command.Subsystem-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doesRequire</h4>
<pre>public&nbsp;boolean&nbsp;doesRequire(<a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command">Subsystem</a>&nbsp;system)</pre>
<div class="block">Checks if the command requires the given <a href="../../../../../edu/wpi/first/wpilibj/command/Subsystem.html" title="class in edu.wpi.first.wpilibj.command"><code>Subsystem</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>system</code> - the system</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether or not the subsystem is required, or false if given null</dd>
</dl>
</li>
</ul>
<a name="getGroup--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGroup</h4>
<pre>public&nbsp;<a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command">CommandGroup</a>&nbsp;getGroup()</pre>
<div class="block">Returns the <a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a> that this command is a part of. Will return null if this
 <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> is not in a group.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><code>CommandGroup</code></a> that this command is a part of (or null if not in group)</dd>
</dl>
</li>
</ul>
<a name="setRunWhenDisabled-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRunWhenDisabled</h4>
<pre>public&nbsp;void&nbsp;setRunWhenDisabled(boolean&nbsp;run)</pre>
<div class="block">Sets whether or not this <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> should run when the robot is disabled.

 <p>By default a command will not run when the robot is disabled, and will in fact be canceled.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>run</code> - whether or not this command should run when the robot is disabled</dd>
</dl>
</li>
</ul>
<a name="willRunWhenDisabled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>willRunWhenDisabled</h4>
<pre>public&nbsp;boolean&nbsp;willRunWhenDisabled()</pre>
<div class="block">Returns whether or not this <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> will run when the robot is disabled, or if it will
 cancel itself.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if this command will run when the robot is disabled.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<div class="block">The string representation for a <a href="../../../../../edu/wpi/first/wpilibj/command/Command.html" title="class in edu.wpi.first.wpilibj.command"><code>Command</code></a> is by default its name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the string representation of this object</dd>
</dl>
</li>
</ul>
<a name="getSmartDashboardType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSmartDashboardType</h4>
<pre>public&nbsp;java.lang.String&nbsp;getSmartDashboardType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html#getSmartDashboardType--">Sendable</a></code></span></div>
<div class="block">The string representation of the named data type that will be used by the smart dashboard for
 this <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj"><code>Sendable</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html#getSmartDashboardType--">getSmartDashboardType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj">Sendable</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The type of this <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj"><code>Sendable</code></a>.</dd>
</dl>
</li>
</ul>
<a name="initTable-edu.wpi.first.networktables.NetworkTable-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>initTable</h4>
<pre>public&nbsp;void&nbsp;initTable(<a href="../../../../../edu/wpi/first/networktables/NetworkTable.html" title="class in edu.wpi.first.networktables">NetworkTable</a>&nbsp;table)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html#initTable-edu.wpi.first.networktables.NetworkTable-">Sendable</a></code></span></div>
<div class="block">Initializes a table for this <a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj"><code>Sendable</code></a> object.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html#initTable-edu.wpi.first.networktables.NetworkTable-">initTable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/wpi/first/wpilibj/Sendable.html" title="interface in edu.wpi.first.wpilibj">Sendable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - The table to put the values in.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../edu/wpi/first/wpilibj/command/CommandGroup.html" title="class in edu.wpi.first.wpilibj.command"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?edu/wpi/first/wpilibj/command/Command.html" target="_top">Frames</a></li>
<li><a href="Command.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>