blob: e0b18b7f7234247b698784e0003d02c7afee67cf [file] [log] [blame]
<!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_71) on Tue May 17 00:28:45 UTC 2016 -->
<title>SerialDevice (Quarks v0.4.0)</title>
<meta name="date" content="2016-05-17">
<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="SerialDevice (Quarks v0.4.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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="class-use/SerialDevice.html">Use</a></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="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?quarks/connectors/serial/SerialDevice.html" target="_top">Frames</a></li>
<li><a href="SerialDevice.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>Constr&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>Constr&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">quarks.connectors.serial</div>
<h2 title="Interface SerialDevice" class="title">Interface SerialDevice</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../quarks/topology/TopologyElement.html" title="interface in quarks.topology">TopologyElement</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SerialDevice</span>
extends <a href="../../../quarks/topology/TopologyElement.html" title="interface in quarks.topology">TopologyElement</a></pre>
<div class="block">Access to a device (or devices) connected by a serial port.
A serial port at runtime is represented by
a <a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><code>SerialPort</code></a>.
<P>
<code>SerialDevice</code> is typically used through
a protocol module that sends the appropriate bytes
to the port and decodes the bytes output by the port.
</P>
<P>
It is guaranteed that during any call to function returned by
this interface has exclusive access to <a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><code>SerialPort</code></a>.
</P></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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></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>&lt;T&gt;&nbsp;<a href="../../../quarks/function/Supplier.html" title="interface in quarks.function">Supplier</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/connectors/serial/SerialDevice.html#getSource-quarks.function.Function-">getSource</a></span>(<a href="../../../quarks/function/Function.html" title="interface in quarks.function">Function</a>&lt;<a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</code>
<div class="block">Create a function that can be used to source a
stream from a serial port device.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../quarks/connectors/serial/SerialDevice.html#setInitializer-quarks.function.Consumer-">setInitializer</a></span>(<a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;<a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</code>
<div class="block">Set the initialization function for this port.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.quarks.topology.TopologyElement">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;quarks.topology.<a href="../../../quarks/topology/TopologyElement.html" title="interface in quarks.topology">TopologyElement</a></h3>
<code><a href="../../../quarks/topology/TopologyElement.html#topology--">topology</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setInitializer-quarks.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInitializer</h4>
<pre>void&nbsp;setInitializer(<a href="../../../quarks/function/Consumer.html" title="interface in quarks.function">Consumer</a>&lt;<a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</pre>
<div class="block">Set the initialization function for this port.
Can be used to send setup instructions to the
device connected to this serial port.
<BR>
<code>initializer.accept(port)</code> is called once, passing a runtime
<a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><code>SerialPort</code></a> for this serial device.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>initializer</code> - Function to be called when the application runs.</dd>
</dl>
</li>
</ul>
<a name="getSource-quarks.function.Function-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getSource</h4>
<pre>&lt;T&gt;&nbsp;<a href="../../../quarks/function/Supplier.html" title="interface in quarks.function">Supplier</a>&lt;T&gt;&nbsp;getSource(<a href="../../../quarks/function/Function.html" title="interface in quarks.function">Function</a>&lt;<a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</pre>
<div class="block">Create a function that can be used to source a
stream from a serial port device.
<BR>
Calling <code>get()</code> on the returned function will result in a call
to <code>driver.apply(serialPort)</code>
passing a runtime <a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><code>SerialPort</code></a> for this serial device.
The value returned by <code>driver.apply(serialPort)</code> is
returned by this returned function.
<BR>
The function <code>driver</code> typically sends instructions to the
serial port using <a href="../../../quarks/connectors/serial/SerialPort.html#getOutput--"><code>SerialPort.getOutput()</code></a> and then
reads the result using <a href="../../../quarks/connectors/serial/SerialPort.html#getInput--"><code>SerialPort.getInput()</code></a>.
<P>
Multiple instances of a supplier function can be created,
for example to read different parameters from the
device connected to the serial port. While each function
is being called it has exclusive use of the serial port.
</P></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>driver</code> - Function that interacts with the serial port to produce a value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Function that for each call will interact with the serial port to produce a value.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../quarks/topology/Topology.html#poll-quarks.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>Topology.poll(Supplier, long, TimeUnit)</code></a></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="class-use/SerialDevice.html">Use</a></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 class="aboutLanguage"><a href="http://quarks.incubator.apache.org">Apache Quarks (incubating)</a></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../quarks/connectors/serial/SerialPort.html" title="interface in quarks.connectors.serial"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?quarks/connectors/serial/SerialDevice.html" target="_top">Frames</a></li>
<li><a href="SerialDevice.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>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; 2016 The Apache Software Foundation. All Rights Reserved - d6cdfc6-20160517-0028</small></p>
</body>
</html>