wh1ter0se/PowerUp-2018

View on GitHub
wpilib18/java/current/javadoc/edu/wpi/first/wpilibj/InterruptableSensorBase.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>InterruptableSensorBase (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="InterruptableSensorBase (Documentation - Release API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":6,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":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><a href="../../../../edu/wpi/first/wpilibj/I2C.Port.html" title="enum in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum 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/InterruptableSensorBase.html" target="_top">Frames</a></li>
<li><a href="InterruptableSensorBase.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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 InterruptableSensorBase" class="title">Class InterruptableSensorBase</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../edu/wpi/first/wpilibj/SensorBase.html" title="class in edu.wpi.first.wpilibj">edu.wpi.first.wpilibj.SensorBase</a></li>
<li>
<ul class="inheritance">
<li>edu.wpi.first.wpilibj.InterruptableSensorBase</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../edu/wpi/first/wpilibj/DigitalSource.html" title="class in edu.wpi.first.wpilibj">DigitalSource</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">InterruptableSensorBase</span>
extends <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html" title="class in edu.wpi.first.wpilibj">SensorBase</a></pre>
<div class="block">Base for sensors to be used with interrupts.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum in edu.wpi.first.wpilibj">InterruptableSensorBase.WaitResult</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#m_interrupt">m_interrupt</a></span></code>
<div class="block">The interrupt resource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#m_isSynchronousInterrupt">m_isSynchronousInterrupt</a></span></code>
<div class="block">Flags if the interrupt being allocated is synchronous.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.edu.wpi.first.wpilibj.SensorBase">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;edu.wpi.first.wpilibj.<a href="../../../../edu/wpi/first/wpilibj/SensorBase.html" title="class in edu.wpi.first.wpilibj">SensorBase</a></h3>
<code><a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kAnalogInputChannels">kAnalogInputChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kAnalogOutputChannels">kAnalogOutputChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kDigitalChannels">kDigitalChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kPCMModules">kPCMModules</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kPDPChannels">kPDPChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kPDPModules">kPDPModules</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kPwmChannels">kPwmChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kRelayChannels">kRelayChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kSolenoidChannels">kSolenoidChannels</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#kSystemClockTicksPerMicrosecond">kSystemClockTicksPerMicrosecond</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/InterruptableSensorBase.html#InterruptableSensorBase--">InterruptableSensorBase</a></span>()</code>
<div class="block">Create a new InterrupatableSensorBase.</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>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#allocateInterrupts-boolean-">allocateInterrupts</a></span>(boolean&nbsp;watcher)</code>
<div class="block">Allocate the interrupt.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#cancelInterrupts--">cancelInterrupts</a></span>()</code>
<div class="block">Cancel interrupts on this device.</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/InterruptableSensorBase.html#disableInterrupts--">disableInterrupts</a></span>()</code>
<div class="block">Disable Interrupts without without deallocating structures.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#enableInterrupts--">enableInterrupts</a></span>()</code>
<div class="block">Enable interrupts to occur on this input.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#getAnalogTriggerTypeForRouting--">getAnalogTriggerTypeForRouting</a></span>()</code>
<div class="block">If this is an analog trigger.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#getPortHandleForRouting--">getPortHandleForRouting</a></span>()</code>
<div class="block">The channel routing number.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#readFallingTimestamp--">readFallingTimestamp</a></span>()</code>
<div class="block">Return the timestamp for the falling interrupt that occurred most recently.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#readRisingTimestamp--">readRisingTimestamp</a></span>()</code>
<div class="block">Return the timestamp for the rising interrupt that occurred most recently.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#requestInterrupts--">requestInterrupts</a></span>()</code>
<div class="block">Request one of the 8 interrupts synchronously on this digital input.</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/InterruptableSensorBase.html#requestInterrupts-edu.wpi.first.wpilibj.InterruptHandlerFunction-">requestInterrupts</a></span>(<a href="../../../../edu/wpi/first/wpilibj/InterruptHandlerFunction.html" title="class in edu.wpi.first.wpilibj">InterruptHandlerFunction</a>&lt;?&gt;&nbsp;handler)</code>
<div class="block">Request one of the 8 interrupts asynchronously on this digital input.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#setUpSourceEdge-boolean-boolean-">setUpSourceEdge</a></span>(boolean&nbsp;risingEdge,
               boolean&nbsp;fallingEdge)</code>
<div class="block">Set which edge to trigger interrupts on.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum in edu.wpi.first.wpilibj">InterruptableSensorBase.WaitResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#waitForInterrupt-double-">waitForInterrupt</a></span>(double&nbsp;timeout)</code>
<div class="block">In synchronous mode, wait for the defined interrupt to occur.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum in edu.wpi.first.wpilibj">InterruptableSensorBase.WaitResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#waitForInterrupt-double-boolean-">waitForInterrupt</a></span>(double&nbsp;timeout,
                boolean&nbsp;ignorePrevious)</code>
<div class="block">In synchronous mode, wait for the defined interrupt to occur.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.edu.wpi.first.wpilibj.SensorBase">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;edu.wpi.first.wpilibj.<a href="../../../../edu/wpi/first/wpilibj/SensorBase.html" title="class in edu.wpi.first.wpilibj">SensorBase</a></h3>
<code><a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkAnalogInputChannel-int-">checkAnalogInputChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkAnalogOutputChannel-int-">checkAnalogOutputChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkDigitalChannel-int-">checkDigitalChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkPDPChannel-int-">checkPDPChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkPDPModule-int-">checkPDPModule</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkPWMChannel-int-">checkPWMChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkRelayChannel-int-">checkRelayChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkSolenoidChannel-int-">checkSolenoidChannel</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#checkSolenoidModule-int-">checkSolenoidModule</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#free--">free</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#getDefaultSolenoidModule--">getDefaultSolenoidModule</a>, <a href="../../../../edu/wpi/first/wpilibj/SensorBase.html#setDefaultSolenoidModule-int-">setDefaultSolenoidModule</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="m_interrupt">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>m_interrupt</h4>
<pre>protected&nbsp;int m_interrupt</pre>
<div class="block">The interrupt resource.</div>
</li>
</ul>
<a name="m_isSynchronousInterrupt">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>m_isSynchronousInterrupt</h4>
<pre>protected&nbsp;boolean m_isSynchronousInterrupt</pre>
<div class="block">Flags if the interrupt being allocated is synchronous.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="InterruptableSensorBase--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>InterruptableSensorBase</h4>
<pre>public&nbsp;InterruptableSensorBase()</pre>
<div class="block">Create a new InterrupatableSensorBase.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getAnalogTriggerTypeForRouting--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAnalogTriggerTypeForRouting</h4>
<pre>public abstract&nbsp;int&nbsp;getAnalogTriggerTypeForRouting()</pre>
<div class="block">If this is an analog trigger.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this is an analog trigger.</dd>
</dl>
</li>
</ul>
<a name="getPortHandleForRouting--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPortHandleForRouting</h4>
<pre>public abstract&nbsp;int&nbsp;getPortHandleForRouting()</pre>
<div class="block">The channel routing number.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>channel routing number</dd>
</dl>
</li>
</ul>
<a name="requestInterrupts-edu.wpi.first.wpilibj.InterruptHandlerFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestInterrupts</h4>
<pre>public&nbsp;void&nbsp;requestInterrupts(<a href="../../../../edu/wpi/first/wpilibj/InterruptHandlerFunction.html" title="class in edu.wpi.first.wpilibj">InterruptHandlerFunction</a>&lt;?&gt;&nbsp;handler)</pre>
<div class="block">Request one of the 8 interrupts asynchronously on this digital input.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The <a href="../../../../edu/wpi/first/wpilibj/InterruptHandlerFunction.html" title="class in edu.wpi.first.wpilibj"><code>InterruptHandlerFunction</code></a> that contains the method <a href="../../../../edu/wpi/first/wpilibj/InterruptHandlerFunction.html#interruptFired-int-T-"><code>InterruptHandlerFunction.interruptFired(int, Object)</code></a> that will be called
                whenever there is an interrupt on this device. Request interrupts in synchronous
                mode where the user program interrupt handler will be called when an interrupt
                occurs. The default is interrupt on rising edges only.</dd>
</dl>
</li>
</ul>
<a name="requestInterrupts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestInterrupts</h4>
<pre>public&nbsp;void&nbsp;requestInterrupts()</pre>
<div class="block">Request one of the 8 interrupts synchronously on this digital input. Request interrupts in
 synchronous mode where the user program will have to explicitly wait for the interrupt to occur
 using <a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#waitForInterrupt-double-boolean-"><code>waitForInterrupt(double, boolean)</code></a>. The default is interrupt on rising edges only.</div>
</li>
</ul>
<a name="allocateInterrupts-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateInterrupts</h4>
<pre>protected&nbsp;void&nbsp;allocateInterrupts(boolean&nbsp;watcher)</pre>
<div class="block">Allocate the interrupt.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>watcher</code> - true if the interrupt should be in synchronous mode where the user program will
                have to explicitly wait for the interrupt to occur.</dd>
</dl>
</li>
</ul>
<a name="cancelInterrupts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancelInterrupts</h4>
<pre>public&nbsp;void&nbsp;cancelInterrupts()</pre>
<div class="block">Cancel interrupts on this device. This deallocates all the chipobject structures and disables
 any interrupts.</div>
</li>
</ul>
<a name="waitForInterrupt-double-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForInterrupt</h4>
<pre>public&nbsp;<a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum in edu.wpi.first.wpilibj">InterruptableSensorBase.WaitResult</a>&nbsp;waitForInterrupt(double&nbsp;timeout,
                                                           boolean&nbsp;ignorePrevious)</pre>
<div class="block">In synchronous mode, wait for the defined interrupt to occur.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - Timeout in seconds</dd>
<dd><code>ignorePrevious</code> - If true, ignore interrupts that happened before waitForInterrupt was
                       called.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result of the wait.</dd>
</dl>
</li>
</ul>
<a name="waitForInterrupt-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForInterrupt</h4>
<pre>public&nbsp;<a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum in edu.wpi.first.wpilibj">InterruptableSensorBase.WaitResult</a>&nbsp;waitForInterrupt(double&nbsp;timeout)</pre>
<div class="block">In synchronous mode, wait for the defined interrupt to occur.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - Timeout in seconds</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result of the wait.</dd>
</dl>
</li>
</ul>
<a name="enableInterrupts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enableInterrupts</h4>
<pre>public&nbsp;void&nbsp;enableInterrupts()</pre>
<div class="block">Enable interrupts to occur on this input. Interrupts are disabled when the RequestInterrupt
 call is made. This gives time to do the setup of the other options before starting to field
 interrupts.</div>
</li>
</ul>
<a name="disableInterrupts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disableInterrupts</h4>
<pre>public&nbsp;void&nbsp;disableInterrupts()</pre>
<div class="block">Disable Interrupts without without deallocating structures.</div>
</li>
</ul>
<a name="readRisingTimestamp--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readRisingTimestamp</h4>
<pre>public&nbsp;double&nbsp;readRisingTimestamp()</pre>
<div class="block">Return the timestamp for the rising interrupt that occurred most recently. This is in the same
 time domain as getClock(). The rising-edge interrupt should be enabled with <a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#setUpSourceEdge-boolean-boolean-"><code>setUpSourceEdge(boolean, boolean)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timestamp in seconds since boot.</dd>
</dl>
</li>
</ul>
<a name="readFallingTimestamp--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFallingTimestamp</h4>
<pre>public&nbsp;double&nbsp;readFallingTimestamp()</pre>
<div class="block">Return the timestamp for the falling interrupt that occurred most recently. This is in the same
 time domain as getClock(). The falling-edge interrupt should be enabled with <a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.html#setUpSourceEdge-boolean-boolean-"><code>setUpSourceEdge(boolean, boolean)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timestamp in seconds since boot.</dd>
</dl>
</li>
</ul>
<a name="setUpSourceEdge-boolean-boolean-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setUpSourceEdge</h4>
<pre>public&nbsp;void&nbsp;setUpSourceEdge(boolean&nbsp;risingEdge,
                            boolean&nbsp;fallingEdge)</pre>
<div class="block">Set which edge to trigger interrupts on.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>risingEdge</code> - true to interrupt on rising edge</dd>
<dd><code>fallingEdge</code> - true to interrupt on falling edge</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/I2C.Port.html" title="enum in edu.wpi.first.wpilibj"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/wpi/first/wpilibj/InterruptableSensorBase.WaitResult.html" title="enum 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/InterruptableSensorBase.html" target="_top">Frames</a></li>
<li><a href="InterruptableSensorBase.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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><a href="#field.detail">Field</a>&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>