7 Commits

23 changed files with 4124 additions and 168 deletions

View File

@@ -0,0 +1,22 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>All Classes</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<h1 class="bar">All Classes</h1>
<div class="indexContainer">
<ul>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction.Action</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction.Motor</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">NxtARControlProtocol</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame"><i>UserActionListener</i></a></li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,22 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>All Classes</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<h1 class="bar">All Classes</h1>
<div class="indexContainer">
<ul>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><i>UserActionListener</i></a></li>
</ul>
</div>
</body>
</html>

111
docs/constant-values.html Normal file
View File

@@ -0,0 +1,111 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>Constant Field Values</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Constant Field Values";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
<li><a href="constant-values.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
<h2 title="Contents">Contents</h2>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
<li><a href="constant-values.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

111
docs/deprecated-list.html Normal file
View File

@@ -0,0 +1,111 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>Deprecated List</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Deprecated List";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

208
docs/help-doc.html Normal file
View File

@@ -0,0 +1,208 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>API Help</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="API Help";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/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 class="navBarCell1Rev">Help</li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
<li><a href="help-doc.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">How This API Document Is Organized</h1>
<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<h2>Package</h2>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
<ul>
<li>Interfaces (italic)</li>
<li>Classes</li>
<li>Enums</li>
<li>Exceptions</li>
<li>Errors</li>
<li>Annotation Types</li>
</ul>
</li>
<li class="blockList">
<h2>Class/Interface</h2>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
<ul>
<li>Class inheritance diagram</li>
<li>Direct Subclasses</li>
<li>All Known Subinterfaces</li>
<li>All Known Implementing Classes</li>
<li>Class/interface declaration</li>
<li>Class/interface description</li>
</ul>
<ul>
<li>Nested Class Summary</li>
<li>Field Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
</ul>
<ul>
<li>Field Detail</li>
<li>Constructor Detail</li>
<li>Method Detail</li>
</ul>
<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
</li>
<li class="blockList">
<h2>Annotation Type</h2>
<p>Each annotation type has its own separate page with the following sections:</p>
<ul>
<li>Annotation Type declaration</li>
<li>Annotation Type description</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
<li>Element Detail</li>
</ul>
</li>
<li class="blockList">
<h2>Enum</h2>
<p>Each enum has its own separate page with the following sections:</p>
<ul>
<li>Enum declaration</li>
<li>Enum description</li>
<li>Enum Constant Summary</li>
<li>Enum Constant Detail</li>
</ul>
</li>
<li class="blockList">
<h2>Tree (Class Hierarchy)</h2>
<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
<ul>
<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
</ul>
</li>
<li class="blockList">
<h2>Deprecated API</h2>
<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
</li>
<li class="blockList">
<h2>Index</h2>
<p>The <a href="index-all.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
</li>
<li class="blockList">
<h2>Prev/Next</h2>
<p>These links take you to the next or previous class, interface, package, or related page.</p>
</li>
<li class="blockList">
<h2>Frames/No Frames</h2>
<p>These links show and hide the HTML frames. All pages are available with or without frames.</p>
</li>
<li class="blockList">
<h2>All Classes</h2>
<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
</li>
<li class="blockList">
<h2>Serialized Form</h2>
<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
</li>
<li class="blockList">
<h2>Constant Field Values</h2>
<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
</li>
</ul>
<em>This help file applies to API documentation generated using the standard doclet.</em></div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/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 class="navBarCell1Rev">Help</li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
<li><a href="help-doc.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

317
docs/index-all.html Normal file
View File

@@ -0,0 +1,317 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>Index</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Index";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="./allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#_A_">A</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;<a name="_A_">
<!-- -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#action">action</a></span> - Variable in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_D_">
<!-- -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction</span></a> - Class in <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></dt>
<dd>
<div class="block">An immutable and pure data class that represents an action decoded from a protocol
data message.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction()">DecodedControlAction()</a></span> - Constructor for class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>
<div class="block">Create a new ControlAction object using <code>DecodedControlAction#STOP</code> as
the default action, <code>DecodedControlAction#MOTOR_ABC</code> as motor flag, and
0 as default speed.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action)">DecodedControlAction(DecodedControlAction.Action)</a></span> - Constructor for class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>
<div class="block">Create a new ControlAction object using the specified action.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action,%20ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor)">DecodedControlAction(DecodedControlAction.Action, DecodedControlAction.Motor)</a></span> - Constructor for class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>
<div class="block">Create a new ControlAction object using the specified action and motor flag.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action,%20ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">DecodedControlAction(DecodedControlAction.Action, DecodedControlAction.Motor, int)</a></span> - Constructor for class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>
<div class="block">Create a new ControlAction object using the specified action, motor flag and speed.</div>
</dd>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Action</span></a> - Enum in <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></dt>
<dd>
<div class="block">All recognized actions.</div>
</dd>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Motor</span></a> - Enum in <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></dt>
<dd>
<div class="block">All motor ports and possible combinations without repetitions.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#decodeMessage(byte[])">decodeMessage(byte[])</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Decodes a protocol message encoded as a byte array of two elements as specified
in the package definition.</div>
</dd>
</dl>
<a name="_E_">
<!-- -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#encodeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">encodeControlAction(DecodedControlAction)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Encodes a given <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into a two byte array.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#executeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">executeControlAction(DecodedControlAction)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Executes an already decoded <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a>, calling the user operation
listeners if needed.</div>
</dd>
</dl>
<a name="_M_">
<!-- -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#motor">motor</a></span> - Variable in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_N_">
<!-- -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">NxtARControlProtocol</span></a> - Class in <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></dt>
<dd>
<div class="block">A wrapper around the NxtAR robot control protocol for the LejOS operating system.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#NxtARControlProtocol(java.io.DataInputStream,%20java.io.DataOutputStream)">NxtARControlProtocol(DataInputStream, DataOutputStream)</a></span> - Constructor for class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Create a new ARControl object.</div>
</dd>
</dl>
<a name="_O_">
<!-- -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRegistered()">onListenerRegistered()</a></span> - Method in interface ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></dt>
<dd>
<div class="block">Executes a set of instructions just after the listener has been registered with an <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRemoved()">onListenerRemoved()</a></span> - Method in interface ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></dt>
<dd>
<div class="block">Executes a set of instructions just after the listener has been removed from an <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction1(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction1(DecodedControlAction.Motor, int)</a></span> - Method in interface ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></dt>
<dd>
<div class="block">Executes a set of instructions when a <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_1"><code>DecodedControlAction.Action.USER_1</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction2(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction2(DecodedControlAction.Motor, int)</a></span> - Method in interface ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></dt>
<dd>
<div class="block">Executes a set of instructions when a <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_2"><code>DecodedControlAction.Action.USER_2</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction3(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction3(DecodedControlAction.Motor, int)</a></span> - Method in interface ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></dt>
<dd>
<div class="block">Executes a set of instructions when a <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_3"><code>DecodedControlAction.Action.USER_3</code></a>.</div>
</dd>
</dl>
<a name="_R_">
<!-- -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#readAndExecuteMessage()">readAndExecuteMessage()</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Attempts to read, decode and execute a message, calling the user operation
listeners if needed.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#readRawControlMessage()">readRawControlMessage()</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Attempts to read a 2-byte message and returns it as is.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#registerUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">registerUserActionListener(UserActionListener)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Adds an <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> to this object's listeners list calling it's
<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRegistered()"><code>onListenerRegistered()</code></a> method.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#removeUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">removeUserActionListener(UserActionListener)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Removes an <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> from this object's listeners list calling it's
<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRemoved()"><code>onListenerRemoved()</code></a> method.</div>
</dd>
</dl>
<a name="_S_">
<!-- -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setInputStream(java.io.DataInputStream)">setInputStream(DataInputStream)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Changes the input stream associated with this ARControl to the input stream passed as
parameter.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setOutputStream(java.io.DataOutputStream)">setOutputStream(DataOutputStream)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Changes the <code>DataOutputStream</code> associated with this ARControl to the output stream passed as
parameter.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#speed">speed</a></span> - Variable in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="_U_">
<!-- -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">UserActionListener</span></a> - Interface in <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></dt>
<dd>
<div class="block">An object to be notified when an user action has been received in a protocol message.</div>
</dd>
</dl>
<a name="_V_">
<!-- -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#values()">values()</a></span> - Static method in enum ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#values()">values()</a></span> - Static method in enum ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">ve.ucv.ciens.icaro.libnxtarcontrol</a> - package ve.ucv.ciens.icaro.libnxtarcontrol</dt>
<dd>
<div class="block">This package contains a wrapper library and reference implementation of the NxtAR
robot control protocol for the LejOS operating system.</div>
</dd>
</dl>
<a name="_W_">
<!-- -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#writeMessage(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">writeMessage(DecodedControlAction)</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Encodes and writes a <a href="./ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into the associated <code>DataOutputStream</code> if any.</div>
</dd>
<dt><span class="strong"><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#writeRawControlMessage(byte[])">writeRawControlMessage(byte[])</a></span> - Method in class ve.ucv.ciens.icaro.libnxtarcontrol.<a href="./ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></dt>
<dd>
<div class="block">Attempts to write a 2-byte message to the associated <code>DataOutputStream</code> if any.</div>
</dd>
</dl>
<a href="#_A_">A</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="./ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="./allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

71
docs/index.html Normal file
View File

@@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc on Thu Feb 05 15:36:28 VET 2015 -->
<title>Generated Documentation (Untitled)</title>
<script type="text/javascript">
targetPage = "" + window.location.search;
if (targetPage != "" && targetPage != "undefined")
targetPage = targetPage.substring(1);
if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
targetPage = "undefined";
function validURL(url) {
try {
url = decodeURIComponent(url);
}
catch (error) {
return false;
}
var pos = url.indexOf(".html");
if (pos == -1 || pos != url.length - 5)
return false;
var allowNumber = false;
var allowSep = false;
var seenDot = false;
for (var i = 0; i < url.length - 5; i++) {
var ch = url.charAt(i);
if ('a' <= ch && ch <= 'z' ||
'A' <= ch && ch <= 'Z' ||
ch == '$' ||
ch == '_' ||
ch.charCodeAt(0) > 127) {
allowNumber = true;
allowSep = true;
} else if ('0' <= ch && ch <= '9'
|| ch == '-') {
if (!allowNumber)
return false;
} else if (ch == '/' || ch == '.') {
if (!allowSep)
return false;
allowNumber = false;
allowSep = false;
if (ch == '.')
seenDot = true;
if (ch == '/' && seenDot)
return false;
} else {
return false;
}
}
return true;
}
function loadFrames() {
if (targetPage != "" && targetPage != "undefined")
top.classFrame.location = top.targetPage;
}
</script>
</head>
<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
<frame src="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
<noframes>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<h2>Frame Alert</h2>
<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Non-frame version</a>.</p>
</noframes>
</frameset>
</html>

142
docs/overview-tree.html Normal file
View File

@@ -0,0 +1,142 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>Class Hierarchy</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Class Hierarchy";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For All Packages</h1>
<span class="strong">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html">ve.ucv.ciens.icaro.libnxtarcontrol</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction</span></a></li>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">NxtARControlProtocol</span></a></li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">UserActionListener</span></a></li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Action</span></a></li>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Motor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
docs/resources/tab.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

BIN
docs/resources/titlebar.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

474
docs/stylesheet.css Normal file
View File

@@ -0,0 +1,474 @@
/* Javadoc style sheet */
/*
Overall document style
*/
body {
background-color:#ffffff;
color:#353833;
font-family:Arial, Helvetica, sans-serif;
font-size:76%;
margin:0;
}
a:link, a:visited {
text-decoration:none;
color:#4c6b87;
}
a:hover, a:focus {
text-decoration:none;
color:#bb7a2a;
}
a:active {
text-decoration:none;
color:#4c6b87;
}
a[name] {
color:#353833;
}
a[name]:hover {
text-decoration:none;
color:#353833;
}
pre {
font-size:1.3em;
}
h1 {
font-size:1.8em;
}
h2 {
font-size:1.5em;
}
h3 {
font-size:1.4em;
}
h4 {
font-size:1.3em;
}
h5 {
font-size:1.2em;
}
h6 {
font-size:1.1em;
}
ul {
list-style-type:disc;
}
code, tt {
font-size:1.2em;
}
dt code {
font-size:1.2em;
}
table tr td dt code {
font-size:1.2em;
vertical-align:top;
}
sup {
font-size:.6em;
}
/*
Document title and Copyright styles
*/
.clear {
clear:both;
height:0px;
overflow:hidden;
}
.aboutLanguage {
float:right;
padding:0px 21px;
font-size:.8em;
z-index:200;
margin-top:-7px;
}
.legalCopy {
margin-left:.5em;
}
.bar a, .bar a:link, .bar a:visited, .bar a:active {
color:#FFFFFF;
text-decoration:none;
}
.bar a:hover, .bar a:focus {
color:#bb7a2a;
}
.tab {
background-color:#0066FF;
background-image:url(resources/titlebar.gif);
background-position:left top;
background-repeat:no-repeat;
color:#ffffff;
padding:8px;
width:5em;
font-weight:bold;
}
/*
Navigation bar styles
*/
.bar {
background-image:url(resources/background.gif);
background-repeat:repeat-x;
color:#FFFFFF;
padding:.8em .5em .4em .8em;
height:auto;/*height:1.8em;*/
font-size:1em;
margin:0;
}
.topNav {
background-image:url(resources/background.gif);
background-repeat:repeat-x;
color:#FFFFFF;
float:left;
padding:0;
width:100%;
clear:right;
height:2.8em;
padding-top:10px;
overflow:hidden;
}
.bottomNav {
margin-top:10px;
background-image:url(resources/background.gif);
background-repeat:repeat-x;
color:#FFFFFF;
float:left;
padding:0;
width:100%;
clear:right;
height:2.8em;
padding-top:10px;
overflow:hidden;
}
.subNav {
background-color:#dee3e9;
border-bottom:1px solid #9eadc0;
float:left;
width:100%;
overflow:hidden;
}
.subNav div {
clear:left;
float:left;
padding:0 0 5px 6px;
}
ul.navList, ul.subNavList {
float:left;
margin:0 25px 0 0;
padding:0;
}
ul.navList li{
list-style:none;
float:left;
padding:3px 6px;
}
ul.subNavList li{
list-style:none;
float:left;
font-size:90%;
}
.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
color:#FFFFFF;
text-decoration:none;
}
.topNav a:hover, .bottomNav a:hover {
text-decoration:none;
color:#bb7a2a;
}
.navBarCell1Rev {
background-image:url(resources/tab.gif);
background-color:#a88834;
color:#FFFFFF;
margin: auto 5px;
border:1px solid #c9aa44;
}
/*
Page header and footer styles
*/
.header, .footer {
clear:both;
margin:0 20px;
padding:5px 0 0 0;
}
.indexHeader {
margin:10px;
position:relative;
}
.indexHeader h1 {
font-size:1.3em;
}
.title {
color:#2c4557;
margin:10px 0;
}
.subTitle {
margin:5px 0 0 0;
}
.header ul {
margin:0 0 25px 0;
padding:0;
}
.footer ul {
margin:20px 0 5px 0;
}
.header ul li, .footer ul li {
list-style:none;
font-size:1.2em;
}
/*
Heading styles
*/
div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
background-color:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
margin:0 0 6px -8px;
padding:2px 5px;
}
ul.blockList ul.blockList ul.blockList li.blockList h3 {
background-color:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
margin:0 0 6px -8px;
padding:2px 5px;
}
ul.blockList ul.blockList li.blockList h3 {
padding:0;
margin:15px 0;
}
ul.blockList li.blockList h2 {
padding:0px 0 20px 0;
}
/*
Page layout container styles
*/
.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
clear:both;
padding:10px 20px;
position:relative;
}
.indexContainer {
margin:10px;
position:relative;
font-size:1.0em;
}
.indexContainer h2 {
font-size:1.1em;
padding:0 0 3px 0;
}
.indexContainer ul {
margin:0;
padding:0;
}
.indexContainer ul li {
list-style:none;
}
.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
font-size:1.1em;
font-weight:bold;
margin:10px 0 0 0;
color:#4E4E4E;
}
.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
margin:10px 0 10px 20px;
}
.serializedFormContainer dl.nameValue dt {
margin-left:1px;
font-size:1.1em;
display:inline;
font-weight:bold;
}
.serializedFormContainer dl.nameValue dd {
margin:0 0 0 1px;
font-size:1.1em;
display:inline;
}
/*
List styles
*/
ul.horizontal li {
display:inline;
font-size:0.9em;
}
ul.inheritance {
margin:0;
padding:0;
}
ul.inheritance li {
display:inline;
list-style:none;
}
ul.inheritance li ul.inheritance {
margin-left:15px;
padding-left:15px;
padding-top:1px;
}
ul.blockList, ul.blockListLast {
margin:10px 0 10px 0;
padding:0;
}
ul.blockList li.blockList, ul.blockListLast li.blockList {
list-style:none;
margin-bottom:25px;
}
ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
padding:0px 20px 5px 10px;
border:1px solid #9eadc0;
background-color:#f9f9f9;
}
ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
padding:0 0 5px 8px;
background-color:#ffffff;
border:1px solid #9eadc0;
border-top:none;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
margin-left:0;
padding-left:0;
padding-bottom:15px;
border:none;
border-bottom:1px solid #9eadc0;
}
ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
list-style:none;
border-bottom:none;
padding-bottom:0;
}
table tr td dl, table tr td dl dt, table tr td dl dd {
margin-top:0;
margin-bottom:1px;
}
/*
Table styles
*/
.contentContainer table, .classUseContainer table, .constantValuesContainer table {
border-bottom:1px solid #9eadc0;
width:100%;
}
.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table {
width:100%;
}
.contentContainer .description table, .contentContainer .details table {
border-bottom:none;
}
.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{
vertical-align:top;
padding-right:20px;
}
.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast,
.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast,
.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne,
.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne {
padding-right:3px;
}
.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
color:#FFFFFF;
font-weight:bold;
clear:none;
overflow:hidden;
padding:0px;
margin:0px;
}
caption a:link, caption a:hover, caption a:active, caption a:visited {
color:#FFFFFF;
}
.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span {
white-space:nowrap;
padding-top:8px;
padding-left:8px;
display:block;
float:left;
background-image:url(resources/titlebar.gif);
height:18px;
}
.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd {
width:10px;
background-image:url(resources/titlebar_end.gif);
background-repeat:no-repeat;
background-position:top right;
position:relative;
float:left;
}
ul.blockList ul.blockList li.blockList table {
margin:0 0 12px 0px;
width:100%;
}
.tableSubHeadingColor {
background-color: #EEEEFF;
}
.altColor {
background-color:#eeeeef;
}
.rowColor {
background-color:#ffffff;
}
.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td {
text-align:left;
padding:3px 3px 3px 7px;
}
th.colFirst, th.colLast, th.colOne, .constantValuesContainer th {
background:#dee3e9;
border-top:1px solid #9eadc0;
border-bottom:1px solid #9eadc0;
text-align:left;
padding:3px 3px 3px 7px;
}
td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
font-weight:bold;
}
td.colFirst, th.colFirst {
border-left:1px solid #9eadc0;
white-space:nowrap;
}
td.colLast, th.colLast {
border-right:1px solid #9eadc0;
}
td.colOne, th.colOne {
border-right:1px solid #9eadc0;
border-left:1px solid #9eadc0;
}
table.overviewSummary {
padding:0px;
margin-left:0px;
}
table.overviewSummary td.colFirst, table.overviewSummary th.colFirst,
table.overviewSummary td.colOne, table.overviewSummary th.colOne {
width:25%;
vertical-align:middle;
}
table.packageSummary td.colFirst, table.overviewSummary th.colFirst {
width:25%;
vertical-align:middle;
}
/*
Content styles
*/
.description pre {
margin-top:0;
}
.deprecatedContent {
margin:0;
padding:10px 0;
}
.docSummary {
padding:0;
}
/*
Formatting effect styles
*/
.sourceLineNo {
color:green;
padding:0 30px 0 0;
}
h1.hidden {
visibility:hidden;
overflow:hidden;
font-size:.9em;
}
.block {
display:block;
margin:3px 0 0 0;
}
.strong {
font-weight:bold;
}

View File

@@ -0,0 +1,382 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>DecodedControlAction.Action</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DecodedControlAction.Action";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.Action.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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">ve.ucv.ciens.icaro.libnxtarcontrol</div>
<h2 title="Enum DecodedControlAction.Action" class="title">Enum DecodedControlAction.Action</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&gt;</li>
<li>
<ul class="inheritance">
<li>ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&gt;</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dd>
</dl>
<hr>
<br>
<pre>public static enum <span class="strong">DecodedControlAction.Action</span>
extends java.lang.Enum&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&gt;</pre>
<div class="block"><p>All recognized actions.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>December 16, 2014</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum_constant_summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#MOVE_BACKWARDS">MOVE_BACKWARDS</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#MOVE_FORWARD">MOVE_FORWARD</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#RECENTER">RECENTER</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#STOP">STOP</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_1">USER_1</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_2">USER_2</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_3">USER_3</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#valueOf(java.lang.String)">valueOf</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#values()">values</a></strong>()</code>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</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>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum_constant_detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a name="MOVE_FORWARD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOVE_FORWARD</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> MOVE_FORWARD</pre>
</li>
</ul>
<a name="MOVE_BACKWARDS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOVE_BACKWARDS</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> MOVE_BACKWARDS</pre>
</li>
</ul>
<a name="STOP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STOP</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> STOP</pre>
</li>
</ul>
<a name="RECENTER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECENTER</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> RECENTER</pre>
</li>
</ul>
<a name="USER_1">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USER_1</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> USER_1</pre>
</li>
</ul>
<a name="USER_2">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>USER_2</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> USER_2</pre>
</li>
</ul>
<a name="USER_3">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>USER_3</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> USER_3</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre>public static&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (DecodedControlAction.Action c : DecodedControlAction.Action.values())
&nbsp; System.out.println(c);
</pre></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>an array containing the constants of this enum type, in the order they are declared</dd></dl>
</li>
</ul>
<a name="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre>public static&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.Action.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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>

View File

@@ -0,0 +1,382 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>DecodedControlAction.Motor</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DecodedControlAction.Motor";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.Motor.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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">ve.ucv.ciens.icaro.libnxtarcontrol</div>
<h2 title="Enum DecodedControlAction.Motor" class="title">Enum DecodedControlAction.Motor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&gt;</li>
<li>
<ul class="inheritance">
<li>ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&gt;</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></dd>
</dl>
<hr>
<br>
<pre>public static enum <span class="strong">DecodedControlAction.Motor</span>
extends java.lang.Enum&lt;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&gt;</pre>
<div class="block"><p>All motor ports and possible combinations without repetitions.<p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>December 16, 2014</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum_constant_summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_A">MOTOR_A</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_AB">MOTOR_AB</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_ABC">MOTOR_ABC</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_AC">MOTOR_AC</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_B">MOTOR_B</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_BC">MOTOR_BC</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#MOTOR_C">MOTOR_C</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#valueOf(java.lang.String)">valueOf</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html#values()">values</a></strong>()</code>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</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>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum_constant_detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a name="MOTOR_A">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_A</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_A</pre>
</li>
</ul>
<a name="MOTOR_B">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_B</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_B</pre>
</li>
</ul>
<a name="MOTOR_C">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_C</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_C</pre>
</li>
</ul>
<a name="MOTOR_AB">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_AB</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_AB</pre>
</li>
</ul>
<a name="MOTOR_AC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_AC</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_AC</pre>
</li>
</ul>
<a name="MOTOR_BC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MOTOR_BC</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_BC</pre>
</li>
</ul>
<a name="MOTOR_ABC">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MOTOR_ABC</h4>
<pre>public static final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> MOTOR_ABC</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="values()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre>public static&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (DecodedControlAction.Motor c : DecodedControlAction.Motor.values())
&nbsp; System.out.println(c);
</pre></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>an array containing the constants of this enum type, in the order they are declared</dd></dl>
</li>
</ul>
<a name="valueOf(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre>public static&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the enum constant with the specified name</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.Motor.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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="#enum_constant_summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum_constant_detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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>

View File

@@ -0,0 +1,380 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>DecodedControlAction</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DecodedControlAction";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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 Class</li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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="#methods_inherited_from_class_java.lang.Object">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>Method</li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">ve.ucv.ciens.icaro.libnxtarcontrol</div>
<h2 title="Class DecodedControlAction" class="title">Class DecodedControlAction</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">DecodedControlAction</span>
extends java.lang.Object</pre>
<div class="block"><p>An immutable and pure data class that represents an action decoded from a protocol
data message.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>December 15, 2014</dd></dl>
</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="overviewSummary" 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><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></strong></code>
<div class="block">All recognized actions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></strong></code>
<div class="block">All motor ports and possible combinations without repetitions.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" 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><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#action">action</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#motor">motor</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#speed">speed</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" 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><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction()">DecodedControlAction</a></strong>()</code>
<div class="block">Create a new ControlAction object using <code>DecodedControlAction#STOP</code> as
the default action, <code>DecodedControlAction#MOTOR_ABC</code> as motor flag, and
0 as default speed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action)">DecodedControlAction</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action)</code>
<div class="block">Create a new ControlAction object using the specified action.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action,%20ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor)">DecodedControlAction</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action,
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motor)</code>
<div class="block">Create a new ControlAction object using the specified action and motor flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html#DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action,%20ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">DecodedControlAction</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action,
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motor,
int&nbsp;speed)</code>
<div class="block">Create a new ControlAction object using the specified action, motor flag and speed.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<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="action">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>action</h4>
<pre>public final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a> action</pre>
</li>
</ul>
<a name="motor">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>motor</h4>
<pre>public final&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a> motor</pre>
</li>
</ul>
<a name="speed">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>speed</h4>
<pre>public final&nbsp;int speed</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DecodedControlAction()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DecodedControlAction</h4>
<pre>public&nbsp;DecodedControlAction()</pre>
<div class="block"><p>Create a new ControlAction object using <code>DecodedControlAction#STOP</code> as
the default action, <code>DecodedControlAction#MOTOR_ABC</code> as motor flag, and
0 as default speed.</p></div>
</li>
</ul>
<a name="DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DecodedControlAction</h4>
<pre>public&nbsp;DecodedControlAction(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action)</pre>
<div class="block"><p>Create a new ControlAction object using the specified action. The motor
flag is set to <code>DecodedControlAction#MOTOR_ABC</code> and the speed is set to 100.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>action</code> - The action flag to set.</dd></dl>
</li>
</ul>
<a name="DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action, ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DecodedControlAction</h4>
<pre>public&nbsp;DecodedControlAction(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action,
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motor)</pre>
<div class="block"><p>Create a new ControlAction object using the specified action and motor flag. The
speed is set to 100.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>action</code> - The action flag to set.</dd><dd><code>motor</code> - The motor flag to set.</dd></dl>
</li>
</ul>
<a name="DecodedControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Action, ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor, int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DecodedControlAction</h4>
<pre>public&nbsp;DecodedControlAction(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a>&nbsp;action,
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motor,
int&nbsp;speed)</pre>
<div class="block"><p>Create a new ControlAction object using the specified action, motor flag and speed.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>action</code> - The action flag to set.</dd><dd><code>motor</code> - The motor flag to set.</dd><dd><code>speed</code> - The speed to set. Will be clamped to the range [-100, 100].</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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 Class</li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" target="_top">Frames</a></li>
<li><a href="DecodedControlAction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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="#methods_inherited_from_class_java.lang.Object">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>Method</li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

View File

@@ -0,0 +1,508 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>NxtARControlProtocol</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NxtARControlProtocol";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" target="_top">Frames</a></li>
<li><a href="NxtARControlProtocol.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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">ve.ucv.ciens.icaro.libnxtarcontrol</div>
<h2 title="Class NxtARControlProtocol" class="title">Class NxtARControlProtocol</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>ve.ucv.ciens.icaro.libnxtarcontrol.NxtARControlProtocol</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">NxtARControlProtocol</span>
extends java.lang.Object</pre>
<div class="block"><p>A wrapper around the NxtAR robot control protocol for the LejOS operating system.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>December 15, 2014</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="http://www.lejos.org">The LejOS operating system.</a>,
<a href="https://github.com/sagge-miky/NxtAR-core">NxtAR-core Github repository.</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="overviewSummary" 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><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#NxtARControlProtocol(java.io.DataInputStream,%20java.io.DataOutputStream)">NxtARControlProtocol</a></strong>(java.io.DataInputStream&nbsp;inputStream,
java.io.DataOutputStream&nbsp;outputStream)</code>
<div class="block">Create a new ARControl 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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#decodeMessage(byte[])">decodeMessage</a></strong>(byte[]&nbsp;message)</code>
<div class="block">Decodes a protocol message encoded as a byte array of two elements as specified
in the package definition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#encodeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">encodeControlAction</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;action)</code>
<div class="block">Encodes a given <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into a two byte array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#executeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">executeControlAction</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;controlAction)</code>
<div class="block">Executes an already decoded <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a>, calling the user operation
listeners if needed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#readAndExecuteMessage()">readAndExecuteMessage</a></strong>()</code>
<div class="block">Attempts to read, decode and execute a message, calling the user operation
listeners if needed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#readRawControlMessage()">readRawControlMessage</a></strong>()</code>
<div class="block">Attempts to read a 2-byte message and returns it as is.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#registerUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">registerUserActionListener</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a>&nbsp;listener)</code>
<div class="block">Adds an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> to this object's listeners list calling it's
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRegistered()"><code>UserActionListener.onListenerRegistered()</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#removeUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">removeUserActionListener</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a>&nbsp;listener)</code>
<div class="block">Removes an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> from this object's listeners list calling it's
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRemoved()"><code>UserActionListener.onListenerRemoved()</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setInputStream(java.io.DataInputStream)">setInputStream</a></strong>(java.io.DataInputStream&nbsp;inputStream)</code>
<div class="block">Changes the input stream associated with this ARControl to the input stream passed as
parameter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setOutputStream(java.io.DataOutputStream)">setOutputStream</a></strong>(java.io.DataOutputStream&nbsp;outputStream)</code>
<div class="block">Changes the <code>DataOutputStream</code> associated with this ARControl to the output stream passed as
parameter.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#writeMessage(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">writeMessage</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;action)</code>
<div class="block">Encodes and writes a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into the associated <code>DataOutputStream</code> if any.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#writeRawControlMessage(byte[])">writeRawControlMessage</a></strong>(byte[]&nbsp;message)</code>
<div class="block">Attempts to write a 2-byte message to the associated <code>DataOutputStream</code> if any.</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="NxtARControlProtocol(java.io.DataInputStream, java.io.DataOutputStream)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NxtARControlProtocol</h4>
<pre>public&nbsp;NxtARControlProtocol(java.io.DataInputStream&nbsp;inputStream,
java.io.DataOutputStream&nbsp;outputStream)</pre>
<div class="block"><p>Create a new ARControl object.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputStream</code> - A <code>DataInputStream</code> used to read protocol messages from. Can be null.</dd><dd><code>outputStream</code> - An <code>DataOutputStream</code> used to write protocol messages to. Can be null.</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="setOutputStream(java.io.DataOutputStream)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutputStream</h4>
<pre>public&nbsp;void&nbsp;setOutputStream(java.io.DataOutputStream&nbsp;outputStream)
throws java.io.IOException</pre>
<div class="block"><p>Changes the <code>DataOutputStream</code> associated with this ARControl to the output stream passed as
parameter. The currently set output stream is flushed and closed before replacing it.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>outpuStream</code> - An opened output stream. Can be null.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If an error happened while closing the previous output stream.</dd></dl>
</li>
</ul>
<a name="writeRawControlMessage(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeRawControlMessage</h4>
<pre>public&nbsp;void&nbsp;writeRawControlMessage(byte[]&nbsp;message)
throws java.io.IOException,
java.lang.IllegalArgumentException</pre>
<div class="block"><p>Attempts to write a 2-byte message to the associated <code>DataOutputStream</code> if any.</p>
<p>Returns immediately if no <code>DataOutputStream</code> has been set with
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setOutputStream(java.io.DataOutputStream)"><code>setOutputStream(DataOutputStream)</code></a> or if the message is null. If the
message is longer than two bytes only the first two bytes are written to the output stream.</p></div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If writing the message fails. It is the same IOException
as thrown by <code>DataOutput.write(byte[], int, int)</code>.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If the message lenght is less than two.</dd></dl>
</li>
</ul>
<a name="encodeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encodeControlAction</h4>
<pre>public&nbsp;byte[]&nbsp;encodeControlAction(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;action)</pre>
<div class="block"><p>Encodes a given <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into a two byte array.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>action</code> - the action to encode.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The encoded action. Null if said action is null.</dd></dl>
</li>
</ul>
<a name="writeMessage(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeMessage</h4>
<pre>public&nbsp;boolean&nbsp;writeMessage(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;action)
throws java.io.IOException</pre>
<div class="block"><p>Encodes and writes a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> into the associated <code>DataOutputStream</code> if any.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>action</code> - The action to write.</dd>
<dt><span class="strong">Returns:</span></dt><dd>True if writing the action succeded. False if either the action or the DataOutputStream are null.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If writing the message fails.</dd></dl>
</li>
</ul>
<a name="setInputStream(java.io.DataInputStream)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInputStream</h4>
<pre>public&nbsp;void&nbsp;setInputStream(java.io.DataInputStream&nbsp;inputStream)
throws java.io.IOException</pre>
<div class="block"><p>Changes the input stream associated with this ARControl to the input stream passed as
parameter. The currently set input stream is closed before replacing it.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>inputStream</code> - An opened input stream. Can be null.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If an error happened while closing the previous input stream.</dd></dl>
</li>
</ul>
<a name="readRawControlMessage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readRawControlMessage</h4>
<pre>public&nbsp;byte[]&nbsp;readRawControlMessage()
throws java.io.IOException</pre>
<div class="block"><p>Attempts to read a 2-byte message and returns it as is.</p>
<p>Returns null if no <code>DataInputStream</code> has been set with
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html#setInputStream(java.io.DataInputStream)"><code>setInputStream(DataInputStream)</code></a>.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The two bytes read from the associated connection as an array.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If reading the message fails. It is the same IOException
as thrown by <code>DataInput.readByte()</code>.</dd></dl>
</li>
</ul>
<a name="readAndExecuteMessage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAndExecuteMessage</h4>
<pre>public&nbsp;boolean&nbsp;readAndExecuteMessage()
throws java.io.IOException</pre>
<div class="block"><p>Attempts to read, decode and execute a message, calling the user operation
listeners if needed.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>True if a message could be read, decoded and executed successfully. False otherwise.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If reading the message fails. It is the same IOException
as thrown by <code>DataInput.readByte()</code> if any.</dd></dl>
</li>
</ul>
<a name="decodeMessage(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decodeMessage</h4>
<pre>public&nbsp;<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;decodeMessage(byte[]&nbsp;message)
throws java.lang.IllegalArgumentException</pre>
<div class="block"><p>Decodes a protocol message encoded as a byte array of two elements as specified
in the package definition.</p>
<p>User actions have precedence over motor recentering and
this in turn has precedence over other movement actions.
User actions have precedence in decreasing order; that is, user action 1 has
precedence over user actions 2 and 3, etc.</p>
<p>If the message indicates a movement (forward or backward) with all motors off,
then it is interpreted as a request to stop all motors. A recenter or user action
with all motors off will be decoded as is and must be interpreted by the user.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>message</code> - A byte array of size two encoding a message recognized by the protocol. If the array
has 3 or more elements then only the first 2 are used during the decoding process.</dd>
<dt><span class="strong">Returns:</span></dt><dd>A <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> instance containing the decoded message.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the array is null or has less than 2 elements.</dd></dl>
</li>
</ul>
<a name="executeControlAction(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeControlAction</h4>
<pre>public&nbsp;boolean&nbsp;executeControlAction(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a>&nbsp;controlAction)
throws java.lang.IllegalArgumentException</pre>
<div class="block"><p>Executes an already decoded <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a>, calling the user operation
listeners if needed.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>controlAction</code> - The action to execute.</dd>
<dt><span class="strong">Returns:</span></dt><dd>True if the action could be executed successfully. False otherwise.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If controlAction is null.</dd></dl>
</li>
</ul>
<a name="registerUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerUserActionListener</h4>
<pre>public&nbsp;void&nbsp;registerUserActionListener(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a>&nbsp;listener)
throws java.lang.IllegalArgumentException</pre>
<div class="block"><p>Adds an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> to this object's listeners list calling it's
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRegistered()"><code>UserActionListener.onListenerRegistered()</code></a> method. Adding a listener that
is already registered does nothing.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - The listener to add.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If listener is null.</dd></dl>
</li>
</ul>
<a name="removeUserActionListener(ve.ucv.ciens.icaro.libnxtarcontrol.UserActionListener)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeUserActionListener</h4>
<pre>public&nbsp;void&nbsp;removeUserActionListener(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a>&nbsp;listener)
throws java.lang.IllegalArgumentException</pre>
<div class="block"><p>Removes an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><code>UserActionListener</code></a> from this object's listeners list calling it's
<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRemoved()"><code>UserActionListener.onListenerRemoved()</code></a> method. Removing a listener that
is NOT on the list does nothing.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - The listener to remove.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If listener is null.</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" target="_top">Frames</a></li>
<li><a href="NxtARControlProtocol.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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>

View File

@@ -0,0 +1,278 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>UserActionListener</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="UserActionListener";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" target="_top">Frames</a></li>
<li><a href="UserActionListener.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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">ve.ucv.ciens.icaro.libnxtarcontrol</div>
<h2 title="Interface UserActionListener" class="title">Interface UserActionListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="strong">UserActionListener</span></pre>
<div class="block"><p>An object to be notified when an user action has been received in a protocol message.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>December 16, 2014</dd></dl>
</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRegistered()">onListenerRegistered</a></strong>()</code>
<div class="block">Executes a set of instructions just after the listener has been registered with an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onListenerRemoved()">onListenerRemoved</a></strong>()</code>
<div class="block">Executes a set of instructions just after the listener has been removed from an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction1(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction1</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</code>
<div class="block">Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_1"><code>DecodedControlAction.Action.USER_1</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction2(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction2</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</code>
<div class="block">Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_2"><code>DecodedControlAction.Action.USER_2</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html#onUserAction3(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor,%20int)">onUserAction3</a></strong>(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</code>
<div class="block">Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_3"><code>DecodedControlAction.Action.USER_3</code></a>.</div>
</td>
</tr>
</table>
</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="onListenerRegistered()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onListenerRegistered</h4>
<pre>void&nbsp;onListenerRegistered()</pre>
<div class="block"><p>Executes a set of instructions just after the listener has been registered with an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</p></div>
</li>
</ul>
<a name="onUserAction1(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUserAction1</h4>
<pre>void&nbsp;onUserAction1(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</pre>
<div class="block"><p>Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_1"><code>DecodedControlAction.Action.USER_1</code></a>.</p></div>
</li>
</ul>
<a name="onUserAction2(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUserAction2</h4>
<pre>void&nbsp;onUserAction2(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</pre>
<div class="block"><p>Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_2"><code>DecodedControlAction.Action.USER_2</code></a>.</p></div>
</li>
</ul>
<a name="onUserAction3(ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor, int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUserAction3</h4>
<pre>void&nbsp;onUserAction3(<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a>&nbsp;motorFlag,
int&nbsp;speed)</pre>
<div class="block"><p>Executes a set of instructions when a <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>DecodedControlAction</code></a> is decoded with <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html#USER_3"><code>DecodedControlAction.Action.USER_3</code></a>.</p></div>
</li>
</ul>
<a name="onListenerRemoved()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onListenerRemoved</h4>
<pre>void&nbsp;onListenerRemoved()</pre>
<div class="block"><p>Executes a set of instructions just after the listener has been removed from an <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> instance.</p></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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/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="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" target="_top">Frames</a></li>
<li><a href="UserActionListener.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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 ======= -->
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>ve.ucv.ciens.icaro.libnxtarcontrol</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<h1 class="bar"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html" target="classFrame">ve.ucv.ciens.icaro.libnxtarcontrol</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame"><i>UserActionListener</i></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction</a></li>
<li><a href="NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">NxtARControlProtocol</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
<li><a href="DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction.Action</a></li>
<li><a href="DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol" target="classFrame">DecodedControlAction.Motor</a></li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,214 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>ve.ucv.ciens.icaro.libnxtarcontrol</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ve.ucv.ciens.icaro.libnxtarcontrol";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>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 Package</li>
<li>Next Package</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;ve.ucv.ciens.icaro.libnxtarcontrol</h1>
<div class="docSummary">
<div class="block">This package contains a wrapper library and reference implementation of the NxtAR
robot control protocol for the LejOS operating system.</div>
</div>
<p>See:&nbsp;<a href="#package_description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol">UserActionListener</a></td>
<td class="colLast">
<div class="block">An object to be notified when an user action has been received in a protocol message.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction</a></td>
<td class="colLast">
<div class="block">An immutable and pure data class that represents an action decoded from a protocol
data message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol">NxtARControlProtocol</a></td>
<td class="colLast">
<div class="block">A wrapper around the NxtAR robot control protocol for the LejOS operating system.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Action</a></td>
<td class="colLast">
<div class="block">All recognized actions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol">DecodedControlAction.Motor</a></td>
<td class="colLast">
<div class="block">All motor ports and possible combinations without repetitions.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package_description">
<!-- -->
</a>
<h2 title="Package ve.ucv.ciens.icaro.libnxtarcontrol Description">Package ve.ucv.ciens.icaro.libnxtarcontrol Description</h2>
<div class="block"><p>This package contains a wrapper library and reference implementation of the NxtAR
robot control protocol for the LejOS operating system.</p>
<p>The protocol is based on 2 byte long data messages that encode a set of motor ports, actions
on those motors and the speed of the motors. The first byte encodes a set actions and motors, while the
second byte contains an integer number representing the speed to set to the enabled motors. The first
byte's bits encode the following data (from least significant to most significant bit): </p>
<ul>
<li>Motor port A enabled.</li>
<li>Motor port B enabled.</li>
<li>Motor port C enabled.</li>
<li>Direction of movement. 0 for backward movement, 1 for forward movement.</li>
<li>Request to return the enabled motors to their initial positions.</li>
<li>Customizable user action 1.</li>
<li>Customizable user action 2.</li>
<li>Customizable user action 3.</li>
</ul>
<p>This bits are decoded using the binary masks defined in <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a>.
This mechanism allows to set the state or execute an action on multiple motors simultaneously. The user actions are
executed using callback objects registered with the aforementioned class.</p>
<p>The <a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><code>NxtARControlProtocol</code></a> class includes methods to
read, decode and execute a protocol message, independently of how those messages are generated. An example
would be messages read from a Bluetooth or USB stream, as well as messages generated by the application
that is using the library.</p></div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>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 Package</li>
<li>Next Package</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

View File

@@ -0,0 +1,138 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="es">
<head>
<!-- Generated by javadoc (version 1.7.0_75) on Thu Feb 05 15:36:28 VET 2015 -->
<title>ve.ucv.ciens.icaro.libnxtarcontrol Class Hierarchy</title>
<meta name="date" content="2015-02-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ve.ucv.ciens.icaro.libnxtarcontrol Class Hierarchy";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For Package ve.ucv.ciens.icaro.libnxtarcontrol</h1>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction</span></a></li>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/NxtARControlProtocol.html" title="class in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">NxtARControlProtocol</span></a></li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/UserActionListener.html" title="interface in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">UserActionListener</span></a></li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Action.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Action</span></a></li>
<li type="circle">ve.ucv.ciens.icaro.libnxtarcontrol.<a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/DecodedControlAction.Motor.html" title="enum in ve.ucv.ciens.icaro.libnxtarcontrol"><span class="strong">DecodedControlAction.Motor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../ve/ucv/ciens/icaro/libnxtarcontrol/package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Tree</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?ve/ucv/ciens/icaro/libnxtarcontrol/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

View File

@@ -14,6 +14,8 @@ package ve.ucv.ciens.icaro.libnxtarcontrol;
import java.io.DataInput; import java.io.DataInput;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.LinkedList; import java.util.LinkedList;
@@ -28,7 +30,7 @@ import ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor;
* @see <a href="http://www.lejos.org">The LejOS operating system.</a> * @see <a href="http://www.lejos.org">The LejOS operating system.</a>
* @see <a href="https://github.com/sagge-miky/NxtAR-core">NxtAR-core Github repository.</a> * @see <a href="https://github.com/sagge-miky/NxtAR-core">NxtAR-core Github repository.</a>
* @author Miguel Angel Astor Romero * @author Miguel Angel Astor Romero
* @version 1.0 * @version 1.2.0
* @since December 15, 2014 * @since December 15, 2014
*/ */
public class NxtARControlProtocol { public class NxtARControlProtocol {
@@ -53,69 +55,206 @@ public class NxtARControlProtocol {
private static final byte USER_2 = (byte)0x40; private static final byte USER_2 = (byte)0x40;
private static final byte USER_3 = (byte)0x80; private static final byte USER_3 = (byte)0x80;
// Helpfull masks.
private static final byte STOP_ALL_MOTORS = (byte)0xF8;
private static final byte MOVE_BACKWARD = (byte)0xF8;
private DataInputStream inputStream; private DataInputStream inputStream;
private DataOutputStream outputStream;
private LinkedList<UserActionListener> userActionListeners; private LinkedList<UserActionListener> userActionListeners;
/** /**
* <p>Create a new ARControl object.</p> * <p>Create a new ARControl object.</p>
* *
* @param inputStream An opened input stream used to read protocol messages from. * @param inputStream A {@link DataInputStream} used to read protocol messages from. Can be null.
* @throws IllegalArgumentException If inputStream is null. * @param outputStream An {@link DataOutputStream} used to write protocol messages to. Can be null.
*/ */
public NxtARControlProtocol(final DataInputStream inputStream) throws IllegalArgumentException{ public NxtARControlProtocol(final DataInputStream inputStream, final DataOutputStream outputStream){
if(inputStream == null) this.outputStream = outputStream;
throw new IllegalArgumentException("Input stream is null.");
this.inputStream = inputStream; this.inputStream = inputStream;
this.userActionListeners = new LinkedList<UserActionListener>(); this.userActionListeners = new LinkedList<UserActionListener>();
} }
/** /**
* <p>Changes the input stream associated with this ARControl for the input stream passed as * <p>Changes the {@link DataOutputStream} associated with this ARControl to the output stream passed as
* parameter. The currently set input stream is closed before replacing it.</p> * parameter. The currently set output stream is flushed and closed before replacing it.</p>
* *
* @param inputStream An opened input stream. * @param outpuStream An opened output stream. Can be null.
* @throws IOException If an error happened while closing the previous input stream. * @throws IOException If an error happened while closing the previous output stream.
* @throws IllegalArgumentException If the input stream is null.
*/ */
public void setInputStream(DataInputStream inputStream) throws IOException, IllegalArgumentException{ public void setOutputStream(DataOutputStream outputStream) throws IOException{
if(inputStream == null) if(this.outputStream != null){
throw new IllegalArgumentException("Input stream is null."); this.outputStream.flush();
this.outputStream.close();
try{ this.outputStream = null;
this.inputStream.close(); }
}catch(IOException io){
throw io; this.outputStream = outputStream;
}
/**
* <p>Attempts to write a 2-byte message to the associated {@link DataOutputStream} if any.</p>
*
* <p>Returns immediately if no {@link DataOutputStream} has been set with
* {@link NxtARControlProtocol#setOutputStream(DataOutputStream)} or if the message is null. If the
* message is longer than two bytes only the first two bytes are written to the output stream.</p>
*
* @throws IOException If writing the message fails. It is the same IOException
* as thrown by {@link DataOutput#write(byte[], int, int)}.
* @throws IllegalArgumentException If the message lenght is less than two.
*/
public void writeRawControlMessage(byte[] message) throws IOException, IllegalArgumentException{
if(outputStream == null || message == null){
return;
}else{
if(message.length < 2)
throw new IllegalArgumentException("Message length is less than two.");
synchronized (outputStream) {
outputStream.write(message, 0, 2);
outputStream.flush();
}
}
}
/**
* <p>Encodes a given {@link DecodedControlAction} into a two byte array.</p>
*
* @param action the action to encode.
* @return The encoded action. Null if said action is null.
*/
public byte[] encodeControlAction(DecodedControlAction action){
if(action == null){
return null;
}else{
byte[] message = {0x00, 0x00};
switch(action.action){
case MOVE_BACKWARDS:
message[0] |= DIRECTION;
break;
case MOVE_FORWARD:
message[0] &= MOVE_BACKWARD;
break;
case RECENTER:
message[0] |= RECENTER;
break;
case STOP:
message[0] &= STOP_ALL_MOTORS;
break;
case USER_1:
message[0] |= USER_1;
break;
case USER_2:
message[0] |= USER_2;
break;
case USER_3:
message[0] |= USER_3;
break;
}
switch(action.motor){
case MOTOR_A:
message[0] |= MOTOR_A;
break;
case MOTOR_AB:
message[0] |= MOTOR_A;
message[0] |= MOTOR_B;
break;
case MOTOR_ABC:
message[0] |= MOTOR_A;
message[0] |= MOTOR_B;
message[0] |= MOTOR_C;
break;
case MOTOR_AC:
message[0] |= MOTOR_A;
message[0] |= MOTOR_C;
break;
case MOTOR_B:
message[0] |= MOTOR_B;
break;
case MOTOR_BC:
message[0] |= MOTOR_B;
message[0] |= MOTOR_C;
break;
case MOTOR_C:
message[0] |= MOTOR_C;
break;
}
message[1] = (byte)clamp(action.speed, -100, 100);
return message;
}
}
/**
* <p>Encodes and writes a {@link DecodedControlAction} into the associated {@link DataOutputStream} if any.</p>
*
* @param action The action to write.
* @return True if writing the action succeded. False if either the action or the DataOutputStream are null.
* @throws IOException If writing the message fails.
*/
public boolean writeMessage(final DecodedControlAction action) throws IOException{
boolean success = false;
if(action != null && outputStream != null){
byte[] msg = encodeControlAction(action);
writeRawControlMessage(msg);
success = true;
}
return success;
}
/**
* <p>Changes the input stream associated with this ARControl to the input stream passed as
* parameter. The currently set input stream is closed before replacing it.</p>
*
* @param inputStream An opened input stream. Can be null.
* @throws IOException If an error happened while closing the previous input stream.
*/
public void setInputStream(DataInputStream inputStream) throws IOException{
if(this.inputStream != null){
this.inputStream.close();
this.inputStream = null;
} }
this.inputStream = null;
this.inputStream = inputStream; this.inputStream = inputStream;
} }
/** /**
* <p>Attempts to read a 2-byte message and returns it as is.</p> * <p>Attempts to read a 2-byte message and returns it as is.</p>
* *
* <p>Returns null if no {@link DataInputStream} has been set with
* {@link NxtARControlProtocol#setInputStream(DataInputStream)}.</p>
*
* @return The two bytes read from the associated connection as an array. * @return The two bytes read from the associated connection as an array.
* @throws IOException If reading the message fails. It is the same IOException * @throws IOException If reading the message fails. It is the same IOException
* as thrown by {@link DataInput#readByte()} if any. * as thrown by {@link DataInput#readByte()}.
*/ */
public byte[] readRawControlMessage() throws IOException{ public byte[] readRawControlMessage() throws IOException{
byte[] msg = new byte[2]; if(inputStream == null){
try{ return null;
}else{
byte[] msg = new byte[2];
synchronized (inputStream) { synchronized (inputStream) {
msg[0] = inputStream.readByte(); msg[0] = inputStream.readByte();
msg[1] = inputStream.readByte(); msg[1] = inputStream.readByte();
} }
}catch (IOException io){
throw io; return msg;
} }
return msg;
} }
/** /**
* <p>Attempts to read, decode and execute a message, calling the user operation
* listeners if needed.</p>
* *
* @param blocking * @return True if a message could be read, decoded and executed successfully. False otherwise.
* @return * @throws IOException If reading the message fails. It is the same IOException
* as thrown by {@link DataInput#readByte()} if any.
*/ */
public boolean readAndExecuteMessage() throws IOException{ public boolean readAndExecuteMessage() throws IOException{
boolean success = false; boolean success = false;
@@ -137,138 +276,7 @@ public class NxtARControlProtocol {
} }
if(controlAction != null){ if(controlAction != null){
switch(controlAction.action){ success = executeControlAction(controlAction);
case MOVE_BACKWARDS:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
}
break;
case MOVE_FORWARD:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
}
break;
case RECENTER:
switch(controlAction.motor){
case MOTOR_A:
recenterMotor(MotorPort.MOTOR_A);
break;
case MOTOR_AB:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_B);
break;
case MOTOR_ABC:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_B);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_AC:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_B:
recenterMotor(MotorPort.MOTOR_B);
break;
case MOTOR_BC:
recenterMotor(MotorPort.MOTOR_B);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_C:
recenterMotor(MotorPort.MOTOR_C);
break;
}
break;
case STOP:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
}
break;
case USER_1:
case USER_2:
case USER_3:
notifyListeners(controlAction.action, controlAction.motor, controlAction.speed);
success = true;
break;
}
} }
} }
@@ -293,7 +301,7 @@ public class NxtARControlProtocol {
* @return A {@link DecodedControlAction} instance containing the decoded message. * @return A {@link DecodedControlAction} instance containing the decoded message.
* @throws IllegalArgumentException If the array is null or has less than 2 elements. * @throws IllegalArgumentException If the array is null or has less than 2 elements.
*/ */
public DecodedControlAction decodeMessage(byte[] message) throws IllegalArgumentException{ public DecodedControlAction decodeMessage(final byte[] message) throws IllegalArgumentException{
Action action = Action.STOP; Action action = Action.STOP;
Motor motor = Motor.MOTOR_ABC; Motor motor = Motor.MOTOR_ABC;
DecodedControlAction controlAction; DecodedControlAction controlAction;
@@ -359,6 +367,161 @@ public class NxtARControlProtocol {
return controlAction; return controlAction;
} }
/**
* <p>Executes an already decoded {@link DecodedControlAction}, calling the user operation
* listeners if needed.</p>
*
* @param controlAction The action to execute.
* @return True if the action could be executed successfully. False otherwise.
* @throws IllegalArgumentException If controlAction is null.
*/
public boolean executeControlAction(final DecodedControlAction controlAction) throws IllegalArgumentException{
boolean success = false;
if(controlAction == null){
throw new IllegalArgumentException("Control action is null.");
}else{
switch(controlAction.action){
case MOVE_BACKWARDS:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.BACKWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.BACKWARD, controlAction.speed);
break;
}
success = true;
break;
case MOVE_FORWARD:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.FORWARD, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.FORWARD, controlAction.speed);
break;
}
success = true;
break;
case RECENTER:
switch(controlAction.motor){
case MOTOR_A:
recenterMotor(MotorPort.MOTOR_A);
break;
case MOTOR_AB:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_B);
break;
case MOTOR_ABC:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_B);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_AC:
recenterMotor(MotorPort.MOTOR_A);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_B:
recenterMotor(MotorPort.MOTOR_B);
break;
case MOTOR_BC:
recenterMotor(MotorPort.MOTOR_B);
recenterMotor(MotorPort.MOTOR_C);
break;
case MOTOR_C:
recenterMotor(MotorPort.MOTOR_C);
break;
}
success = true;
break;
case STOP:
switch(controlAction.motor){
case MOTOR_A:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_AB:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_ABC:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_AC:
controlMotor(MotorPort.MOTOR_A, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_B:
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_BC:
controlMotor(MotorPort.MOTOR_B, MotorAction.STOP, controlAction.speed);
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
case MOTOR_C:
controlMotor(MotorPort.MOTOR_C, MotorAction.STOP, controlAction.speed);
break;
}
success = true;
break;
case USER_1:
case USER_2:
case USER_3:
notifyListeners(controlAction.action, controlAction.motor, controlAction.speed);
success = true;
break;
}
}
return success;
}
/** /**
* <p>Adds an {@link UserActionListener} to this object's listeners list calling it's * <p>Adds an {@link UserActionListener} to this object's listeners list calling it's
* {@link UserActionListener#onListenerRegistered()} method. Adding a listener that * {@link UserActionListener#onListenerRegistered()} method. Adding a listener that
@@ -367,7 +530,7 @@ public class NxtARControlProtocol {
* @param listener The listener to add. * @param listener The listener to add.
* @throws IllegalArgumentException If listener is null. * @throws IllegalArgumentException If listener is null.
*/ */
public synchronized void registerUserActionListener(UserActionListener listener) throws IllegalArgumentException{ public synchronized void registerUserActionListener(final UserActionListener listener) throws IllegalArgumentException{
if(listener == null) if(listener == null)
throw new IllegalArgumentException("Listener is null."); throw new IllegalArgumentException("Listener is null.");
@@ -385,7 +548,7 @@ public class NxtARControlProtocol {
* @param listener The listener to remove. * @param listener The listener to remove.
* @throws IllegalArgumentException If listener is null. * @throws IllegalArgumentException If listener is null.
*/ */
public synchronized void removeUserActionListener(UserActionListener listener) throws IllegalArgumentException{ public synchronized void removeUserActionListener(final UserActionListener listener) throws IllegalArgumentException{
if(listener == null) if(listener == null)
throw new IllegalArgumentException("Listener is null."); throw new IllegalArgumentException("Listener is null.");
@@ -402,7 +565,7 @@ public class NxtARControlProtocol {
* *
* @param userAction The action that triggered the notification. * @param userAction The action that triggered the notification.
*/ */
private void notifyListeners(Action userAction, Motor motorFlag, int speed){ private void notifyListeners(final Action userAction, final Motor motorFlag, final int speed){
switch(userAction){ switch(userAction){
case USER_1: case USER_1:
for(UserActionListener listener : userActionListeners) for(UserActionListener listener : userActionListeners)
@@ -512,4 +675,8 @@ public class NxtARControlProtocol {
break; break;
} }
} }
private int clamp(int i, int min, int max){
return i > max ? max : (i < min ? min : i);
}
} }

View File

@@ -24,7 +24,7 @@ import ve.ucv.ciens.icaro.libnxtarcontrol.DecodedControlAction.Motor;
*/ */
public interface UserActionListener { public interface UserActionListener {
/** /**
* <p>Executes a set of instructions just after the listener has been registered with an {@link NxtARControlProtocol instance}.</p> * <p>Executes a set of instructions just after the listener has been registered with an {@link NxtARControlProtocol} instance.</p>
*/ */
public void onListenerRegistered(); public void onListenerRegistered();
@@ -44,7 +44,7 @@ public interface UserActionListener {
public void onUserAction3(Motor motorFlag, int speed); public void onUserAction3(Motor motorFlag, int speed);
/** /**
* <p>Executes a set of instructions just after the listener has been removed from an {@link NxtARControlProtocol instance}.</p> * <p>Executes a set of instructions just after the listener has been removed from an {@link NxtARControlProtocol} instance.</p>
*/ */
public void onListenerRemoved(); public void onListenerRemoved();
} }