wh1ter0se/PowerUp-2018

View on GitHub
wpilib18/java/current/javadoc/edu/wpi/first/wpilibj/SampleRobot.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:53 EDT 2017 -->
<title>SampleRobot (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="SampleRobot (Documentation - Release API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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><a href="../../../../edu/wpi/first/wpilibj/SafePWM.html" title="class in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/SD540.html" title="class in edu.wpi.first.wpilibj"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/wpi/first/wpilibj/SampleRobot.html" target="_top">Frames</a></li>
<li><a href="SampleRobot.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><a href="#fields.inherited.from.class.edu.wpi.first.wpilibj.RobotBase">Field</a>&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</div>
<h2 title="Class SampleRobot" class="title">Class SampleRobot</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../edu/wpi/first/wpilibj/RobotBase.html" title="class in edu.wpi.first.wpilibj">edu.wpi.first.wpilibj.RobotBase</a></li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.wpilibj.SampleRobot</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SampleRobot</span>
extends <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html" title="class in edu.wpi.first.wpilibj">RobotBase</a></pre>
<div class="block">A simple robot base class that knows the standard FRC competition states (disabled, autonomous,
 or operator controlled).

 <p>You can build a simple robot program off of this by overriding the robotinit(), disabled(),
 autonomous() and operatorControl() methods. The startCompetition() method will calls these
 methods (sometimes repeatedly). depending on the state of the competition.

 <p>Alternatively you can override the robotMain() method and manage all aspects of the robot
 yourself.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.edu.wpi.first.wpilibj.RobotBase">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;edu.wpi.first.wpilibj.<a href="../../../../edu/wpi/first/wpilibj/RobotBase.html" title="class in edu.wpi.first.wpilibj">RobotBase</a></h3>
<code><a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#m_ds">m_ds</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#MAIN_THREAD_ID">MAIN_THREAD_ID</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#ROBOT_TASK_PRIORITY">ROBOT_TASK_PRIORITY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== 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/SampleRobot.html#SampleRobot--">SampleRobot</a></span>()</code>
<div class="block">Create a new SampleRobot.</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="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/SampleRobot.html#autonomous--">autonomous</a></span>()</code>
<div class="block">Autonomous should go here.</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/SampleRobot.html#disabled--">disabled</a></span>()</code>
<div class="block">Disabled should go here.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/SampleRobot.html#operatorControl--">operatorControl</a></span>()</code>
<div class="block">Operator control (tele-operated) code should go here.</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/SampleRobot.html#robotInit--">robotInit</a></span>()</code>
<div class="block">Robot-wide initialization code should go here.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/SampleRobot.html#robotMain--">robotMain</a></span>()</code>
<div class="block">Robot main program for free-form programs.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/SampleRobot.html#startCompetition--">startCompetition</a></span>()</code>
<div class="block">Start a competition.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/SampleRobot.html#test--">test</a></span>()</code>
<div class="block">Test code should go here.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.edu.wpi.first.wpilibj.RobotBase">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;edu.wpi.first.wpilibj.<a href="../../../../edu/wpi/first/wpilibj/RobotBase.html" title="class in edu.wpi.first.wpilibj">RobotBase</a></h3>
<code><a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#free--">free</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#getBooleanProperty-java.lang.String-boolean-">getBooleanProperty</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#initializeHardwareConfiguration--">initializeHardwareConfiguration</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isAutonomous--">isAutonomous</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isDisabled--">isDisabled</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isEnabled--">isEnabled</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isNewDataAvailable--">isNewDataAvailable</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isOperatorControl--">isOperatorControl</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isReal--">isReal</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isSimulation--">isSimulation</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#isTest--">isTest</a>, <a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#main-java.lang.String...-">main</a></code></li>
</ul>
<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, toString, 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="SampleRobot--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SampleRobot</h4>
<pre>public&nbsp;SampleRobot()</pre>
<div class="block">Create a new SampleRobot.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="robotInit--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>robotInit</h4>
<pre>protected&nbsp;void&nbsp;robotInit()</pre>
<div class="block">Robot-wide initialization code should go here.

 <p>Users should override this method for default Robot-wide initialization which will be called
 when the robot is first powered on. It will be called exactly one time.

 <p>Warning: the Driver Station "Robot Code" light and FMS "Robot Ready" indicators will be off
 until RobotInit() exits. Code in RobotInit() that waits for enable will cause the robot to
 never indicate that the code is ready, causing the robot to be bypassed in a match.</div>
</li>
</ul>
<a name="disabled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disabled</h4>
<pre>protected&nbsp;void&nbsp;disabled()</pre>
<div class="block">Disabled should go here. Users should overload this method to run code that should run while
 the field is disabled.

 <p>Called once each time the robot enters the disabled state.</div>
</li>
</ul>
<a name="autonomous--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>autonomous</h4>
<pre>public&nbsp;void&nbsp;autonomous()</pre>
<div class="block">Autonomous should go here. Users should add autonomous code to this method that should run
 while the field is in the autonomous period.

 <p>Called once each time the robot enters the autonomous state.</div>
</li>
</ul>
<a name="operatorControl--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>operatorControl</h4>
<pre>public&nbsp;void&nbsp;operatorControl()</pre>
<div class="block">Operator control (tele-operated) code should go here. Users should add Operator Control code to
 this method that should run while the field is in the Operator Control (tele-operated) period.

 <p>Called once each time the robot enters the operator-controlled state.</div>
</li>
</ul>
<a name="test--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>test</h4>
<pre>public&nbsp;void&nbsp;test()</pre>
<div class="block">Test code should go here. Users should add test code to this method that should run while the
 robot is in test mode.</div>
</li>
</ul>
<a name="robotMain--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>robotMain</h4>
<pre>public&nbsp;void&nbsp;robotMain()</pre>
<div class="block">Robot main program for free-form programs.

 <p>This should be overridden by user subclasses if the intent is to not use the autonomous()
 and operatorControl() methods. In that case, the program is responsible for sensing when to run
 the autonomous and operator control functions in their program.

 <p>This method will be called immediately after the constructor is called. If it has not been
 overridden by a user subclass (i.e. the default version runs), then the robotInit(),
 disabled(), autonomous() and operatorControl() methods will be called.</div>
</li>
</ul>
<a name="startCompetition--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>startCompetition</h4>
<pre>public&nbsp;void&nbsp;startCompetition()</pre>
<div class="block">Start a competition. This code tracks the order of the field starting to ensure that everything
 happens in the right order. Repeatedly run the correct method, either Autonomous or
 OperatorControl when the robot is enabled. After running the correct method, wait for some
 state to change, either the other mode starts or the robot is disabled. Then go back and wait
 for the robot to be enabled again.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../edu/wpi/first/wpilibj/RobotBase.html#startCompetition--">startCompetition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/wpi/first/wpilibj/RobotBase.html" title="class in edu.wpi.first.wpilibj">RobotBase</a></code></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><a href="../../../../edu/wpi/first/wpilibj/SafePWM.html" title="class in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/SD540.html" title="class in edu.wpi.first.wpilibj"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/wpi/first/wpilibj/SampleRobot.html" target="_top">Frames</a></li>
<li><a href="SampleRobot.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><a href="#fields.inherited.from.class.edu.wpi.first.wpilibj.RobotBase">Field</a>&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>