wh1ter0se/PowerUp-2018

View on GitHub
wpilib18/java/current/javadoc/edu/wpi/first/wpilibj/MotorSafetyHelper.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>MotorSafetyHelper (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="MotorSafetyHelper (Documentation - Release API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/MotorSafety.html" title="interface in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/NamedSendable.html" title="interface 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/MotorSafetyHelper.html" target="_top">Frames</a></li>
<li><a href="MotorSafetyHelper.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</div>
<h2 title="Class MotorSafetyHelper" class="title">Class MotorSafetyHelper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.wpilibj.MotorSafetyHelper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">MotorSafetyHelper</span>
extends java.lang.Object</pre>
<div class="block">The MotorSafetyHelper object is constructed for every object that wants to implement the Motor
 Safety protocol. The helper object has the code to actually do the timing and call the motors
 Stop() method when the timeout expires. The motor object is expected to call the Feed() method
 whenever the motors value is updated.</div>
</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/MotorSafetyHelper.html#MotorSafetyHelper-edu.wpi.first.wpilibj.MotorSafety-">MotorSafetyHelper</a></span>(<a href="../../../../edu/wpi/first/wpilibj/MotorSafety.html" title="interface in edu.wpi.first.wpilibj">MotorSafety</a>&nbsp;safeObject)</code>
<div class="block">The constructor for a MotorSafetyHelper object.</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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/MotorSafetyHelper.html#check--">check</a></span>()</code>
<div class="block">Check if this motor has exceeded its timeout.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/MotorSafetyHelper.html#checkMotors--">checkMotors</a></span>()</code>
<div class="block">Check the motors to see if any have timed out.</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/MotorSafetyHelper.html#feed--">feed</a></span>()</code>
<div class="block">Feed the motor safety object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/MotorSafetyHelper.html#getExpiration--">getExpiration</a></span>()</code>
<div class="block">Retrieve the timeout value for the corresponding motor safety object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/MotorSafetyHelper.html#isAlive--">isAlive</a></span>()</code>
<div class="block">Determine of the motor is still operating or has timed out.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/MotorSafetyHelper.html#isSafetyEnabled--">isSafetyEnabled</a></span>()</code>
<div class="block">Return the state of the motor safety enabled flag Return if the motor safety is currently
 enabled for this device.</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/MotorSafetyHelper.html#setExpiration-double-">setExpiration</a></span>(double&nbsp;expirationTime)</code>
<div class="block">Set the expiration time for the corresponding motor safety object.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/MotorSafetyHelper.html#setSafetyEnabled-boolean-">setSafetyEnabled</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Enable/disable motor safety for this device Turn on and off the motor safety option for this
 PWM object.</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, 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="MotorSafetyHelper-edu.wpi.first.wpilibj.MotorSafety-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MotorSafetyHelper</h4>
<pre>public&nbsp;MotorSafetyHelper(<a href="../../../../edu/wpi/first/wpilibj/MotorSafety.html" title="interface in edu.wpi.first.wpilibj">MotorSafety</a>&nbsp;safeObject)</pre>
<div class="block">The constructor for a MotorSafetyHelper object. The helper object is constructed for every
 object that wants to implement the Motor Safety protocol. The helper object has the code to
 actually do the timing and call the motors Stop() method when the timeout expires. The motor
 object is expected to call the Feed() method whenever the motors value is updated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>safeObject</code> - a pointer to the motor object implementing MotorSafety. This is used to call
                   the Stop() method on the motor.</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="feed--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>feed</h4>
<pre>public&nbsp;void&nbsp;feed()</pre>
<div class="block">Feed the motor safety object. Resets the timer on this object that is used to do the timeouts.</div>
</li>
</ul>
<a name="setExpiration-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExpiration</h4>
<pre>public&nbsp;void&nbsp;setExpiration(double&nbsp;expirationTime)</pre>
<div class="block">Set the expiration time for the corresponding motor safety object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>expirationTime</code> - The timeout value in seconds.</dd>
</dl>
</li>
</ul>
<a name="getExpiration--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpiration</h4>
<pre>public&nbsp;double&nbsp;getExpiration()</pre>
<div class="block">Retrieve the timeout value for the corresponding motor safety object.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the timeout value in seconds.</dd>
</dl>
</li>
</ul>
<a name="isAlive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAlive</h4>
<pre>public&nbsp;boolean&nbsp;isAlive()</pre>
<div class="block">Determine of the motor is still operating or has timed out.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a true value if the motor is still operating normally and hasn't timed out.</dd>
</dl>
</li>
</ul>
<a name="check--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>check</h4>
<pre>public&nbsp;void&nbsp;check()</pre>
<div class="block">Check if this motor has exceeded its timeout. This method is called periodically to determine
 if this motor has exceeded its timeout value. If it has, the stop method is called, and the
 motor is shut down until its value is updated again.</div>
</li>
</ul>
<a name="setSafetyEnabled-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSafetyEnabled</h4>
<pre>public&nbsp;void&nbsp;setSafetyEnabled(boolean&nbsp;enabled)</pre>
<div class="block">Enable/disable motor safety for this device Turn on and off the motor safety option for this
 PWM object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enabled</code> - True if motor safety is enforced for this object</dd>
</dl>
</li>
</ul>
<a name="isSafetyEnabled--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSafetyEnabled</h4>
<pre>public&nbsp;boolean&nbsp;isSafetyEnabled()</pre>
<div class="block">Return the state of the motor safety enabled flag Return if the motor safety is currently
 enabled for this device.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if motor safety is enforced for this device</dd>
</dl>
</li>
</ul>
<a name="checkMotors--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>checkMotors</h4>
<pre>public static&nbsp;void&nbsp;checkMotors()</pre>
<div class="block">Check the motors to see if any have timed out. This static method is called periodically to
 poll all the motors and stop any that have timed out.</div>
</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/MotorSafety.html" title="interface in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/NamedSendable.html" title="interface 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/MotorSafetyHelper.html" target="_top">Frames</a></li>
<li><a href="MotorSafetyHelper.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>