Added SDK, BDK and HDK.

This commit is contained in:
2018-10-24 08:23:25 -04:00
parent 2ad4a63191
commit 7bc5ffc902
192 changed files with 8181 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@@ -0,0 +1,19 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>FANTOM: LEGO MINDSTORMS NXT Driver Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a></td><td>Interface to a file on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a></td><td>Interface to an iterator for files on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iModule.html">nFANTOM100::iModule</a></td><td>Interface to a firmware module on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iModuleIterator.html">nFANTOM100::iModuleIterator</a></td><td>Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a></td><td>Interface to a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a></td><td>Interface to an iterator for LEGO MINDSTORMS NXTs</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a></td><td>Class that contains a status code and the file name and line number where that status code was generated</td></tr>
</table>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,25 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iFile Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iFile.html#a8">close</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a2">getAvailableSize</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a0">getName</a>(ViChar fileName[]) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a1">getSize</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a7">openForDataAppend</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a6">openForDataWrite</a>(ViUInt32 sizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a5">openForLinearWrite</a>(ViUInt32 sizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a3">openForRead</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a4">openForWrite</a>(ViUInt32 sizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a9">read</a>(ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a11">remove</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><b>tNXT</b> (defined in <a class="el" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a>)<code> [friend]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#a10">write</a>(const ViByte bufferPtr[], ViUInt32 numberOfBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFile.html#b0">~iFile</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,586 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iFile Class Reference</h1>Interface to a file on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iFile_8h-source.html">iFile.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iFile-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a0">getName</a> (ViChar fileName[]) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the name of this file.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a1">getSize</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the total size of this file in bytes.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a2">getAvailableSize</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the remaining available size, in bytes, in this file.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a3">openForRead</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Opens this file for reading.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a4">openForWrite</a> (ViUInt32 sizeInBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open this file for writing.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a5">openForLinearWrite</a> (ViUInt32 sizeInBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open this file for linear (contiguous) writing.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a6">openForDataWrite</a> (ViUInt32 sizeInBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open this data file for writing.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a7">openForDataAppend</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Open this data file for appending additional data.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a8">close</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Closes this file.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a9">read</a> (ViPBuf bufferPtr, ViUInt32 numberOfBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Reads from this file.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a10">write</a> (const ViByte bufferPtr[], ViUInt32 numberOfBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Writes to this file.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#a11">remove</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Removes this file.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="nFANTOM100::iFile::~iFile"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html#b0">~iFile</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="l0" doxytag="nFANTOM100::iFile::tNXT"></a>
class&nbsp;</td><td valign=bottom><b>tNXT</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to a file on a LEGO MINDSTORMS NXT.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a8" doxytag="nFANTOM100::iFile::close"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::close </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Closes this file.
<p>
Closes the file that corresponds to this object on the associated NXT. The file is not closed if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a2" doxytag="nFANTOM100::iFile::getAvailableSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iFile::getAvailableSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the remaining available size, in bytes, in this file.
<p>
This number is only helpful for data logging files, which can contain variable amounts of data. The returned size is undefined if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The remaining available size, in bytes, in this file. </dl> </td>
</tr>
</table>
<a name="a0" doxytag="nFANTOM100::iFile::getName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::getName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>fileName</em>[] </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the name of this file.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fileName</em>&nbsp;</td><td>
Populated with the name of this file. The file name character array must be able to accomodate a NULL-terminated, 15.3 formatted module name. That is, it must have a capacity of 20 bytes. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a1" doxytag="nFANTOM100::iFile::getSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iFile::getSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the total size of this file in bytes.
<p>
The returned size is undefined if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The total size of this file in bytes. </dl> </td>
</tr>
</table>
<a name="a7" doxytag="nFANTOM100::iFile::openForDataAppend"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::openForDataAppend </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Open this data file for appending additional data.
<p>
Opens, for appending additional data, the data file that corresponds to this object on the associated NXT. If this file doesn't exist on the NXT, the behavior is undefined. If this file does exist on the NXT, the data that is written is appended to the end of the exiting data. The file is not opened if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a6" doxytag="nFANTOM100::iFile::openForDataWrite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::openForDataWrite </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>sizeInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Open this data file for writing.
<p>
Opens, for writing, the data file that corresponds to this object on the associated NXT. This data file differs from normal files in that a data file can be closed before the entire file has been written. If this file doesn't exist on the NXT, it is created. If this file does exist on the NXT, an error is generated. The file is not opened if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>sizeInBytes</em>&nbsp;</td><td>
Size of the data, in bytes, that may be written to the file. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a5" doxytag="nFANTOM100::iFile::openForLinearWrite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::openForLinearWrite </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>sizeInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Open this file for linear (contiguous) writing.
<p>
Opens, for linear (contiguous) writing, the file that corresponds to this object on the associated NXT. If this file doesn't exist on the NXT, it is created. If this file does exist on the NXT, an error is generated. The file is not opened if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>sizeInBytes</em>&nbsp;</td><td>
Size of the data, in bytes, that will be written to the file. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a3" doxytag="nFANTOM100::iFile::openForRead"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::openForRead </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Opens this file for reading.
<p>
Opens, for reading, the file that corresponds to this object on the associated NXT. The file is not opened if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a4" doxytag="nFANTOM100::iFile::openForWrite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::openForWrite </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>sizeInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Open this file for writing.
<p>
Opens, for writing, the file that corresponds to this object on the associated NXT. If this file doesn't exist on the NXT, it is created. If this file does exist on the NXT, an error is generated. The file is not opened if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>sizeInBytes</em>&nbsp;</td><td>
Size of the data, in bytes, that will be written to this file. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a9" doxytag="nFANTOM100::iFile::read"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iFile::read </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViPBuf&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bufferPtr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>numberOfBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Reads from this file.
<p>
Reads the specified number of bytes from this file into the specified buffer. No data is read if the specified status is fatal. The ownership of the buffer is not transferred to this file object.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>bufferPtr</em>&nbsp;</td><td>
A pointer to the buffer that will be populated with the data that is read. The capacity of the specified buffer must be at least the specified number of bytes. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
Number of bytes to read. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The number of bytes actually read from this file.</dl><dl compact><dt><b>
Precondition: </b><dd>
This file must have been opened for reading with the <a class="el" href="classnFANTOM100_1_1iFile.html#a3">iFile::openForRead</a> method. </dl><dl compact><dt><b>
Postcondition: </b><dd>
The specified buffer may be deallocated. </dl> </td>
</tr>
</table>
<a name="a11" doxytag="nFANTOM100::iFile::remove"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFile::remove </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Removes this file.
<p>
Removes the file that corresponds to this object on the associated NXT. The file is not removed if the specified status is fatal.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a10" doxytag="nFANTOM100::iFile::write"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iFile::write </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const ViByte&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bufferPtr</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>numberOfBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Writes to this file.
<p>
Writes the specified number of bytes from the specified buffer to this file. No data is written if the specified status is fatal. The ownership of the buffer is not transferred to this file object.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>bufferPtr</em>&nbsp;</td><td>
A pointer to the buffer that contains the data that will be written. The capacity of the specified buffer must be at least the specified number of bytes. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
Number of bytes to write to this file. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The number of bytes actually written to this file.</dl><dl compact><dt><b>
Precondition: </b><dd>
This file must have previously been opened for writing. </dl><dl compact><dt><b>
Postcondition: </b><dd>
The specified buffer may be deallocated. </dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iFile_8h-source.html">iFile.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,17 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iFileIterator Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a1">advance</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a0">getFile</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a2">getName</a>(ViChar fileName[], tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a3">getSize</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><b>tNXT</b> (defined in <a class="el" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a>)<code> [friend]</code><li><a class="el" href="classnFANTOM100_1_1iFileIterator.html#b0">~iFileIterator</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,202 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iFileIterator Class Reference</h1>Interface to an iterator for files on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iFileIterator_8h-source.html">iFileIterator.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iFileIterator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="classnFANTOM100_1_1iFile.html">iFile</a> *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a0">getFile</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates a file object for the file referenced by this iterator.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a1">advance</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Advances this iterator.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a2">getName</a> (ViChar fileName[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the name of the file to which this iterator refers.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html#a3">getSize</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the total size, in bytes, of the file to which this iterator refers.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="nFANTOM100::iFileIterator::~iFileIterator"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html#b0">~iFileIterator</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="l0" doxytag="nFANTOM100::iFileIterator::tNXT"></a>
class&nbsp;</td><td valign=bottom><b>tNXT</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to an iterator for files on a LEGO MINDSTORMS NXT.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="nFANTOM100::iFileIterator::advance"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFileIterator::advance </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Advances this iterator.
<p>
Advances this iterator to the next file that matches the previously specified file name pattern. If no more files match, this iterator is advanced to the end of the list. The iterator is not advanced if the specified status is fatal. If this iterator is already at the end of the list, a fatal status will be generated.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a0" doxytag="nFANTOM100::iFileIterator::getFile"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual <a class="el" href="classnFANTOM100_1_1iFile.html">iFile</a>* nFANTOM100::iFileIterator::getFile </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Creates a file object for the file referenced by this iterator.
<p>
Creates file object for the file referenced by this iterator. An object is not created if the specified status is fatal or if this iterator refers to the end of the list. The returned file object should be destroyed using the <a class="el" href="classnFANTOM100_1_1iNXT.html#a1">iNXT::destroyFile</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
A pointer to the <a class="el" href="classnFANTOM100_1_1iFile.html">iFile</a> object that was created. </dl> </td>
</tr>
</table>
<a name="a2" doxytag="nFANTOM100::iFileIterator::getName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iFileIterator::getName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>fileName</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the name of the file to which this iterator refers.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fileName</em>&nbsp;</td><td>
Populated with the name of the file to which this iterator refers. The file name character array must be able to accomodate a NULL-terminated, 15.3 formatted file name. This is, it must have a capacity of 20 bytes. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a3" doxytag="nFANTOM100::iFileIterator::getSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iFileIterator::getSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the total size, in bytes, of the file to which this iterator refers.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The total size of the file in bytes. </dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iFileIterator_8h-source.html">iFileIterator.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,19 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iModule Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iModule.html">nFANTOM100::iModule</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iModule.html#a1">getModuleID</a>(void) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#a3">getModuleIOMapSize</a>(void) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#a2">getModuleSize</a>(void) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#a0">getName</a>(ViChar moduleName[]) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#a4">readIOMap</a>(ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, ViPBuf dataBufferPtr, tStatus &amp;status)=0
<code> [pure virtual]</code><li><b>tNXT</b> (defined in <a class="el" href="classnFANTOM100_1_1iModule.html">nFANTOM100::iModule</a>)<code> [friend]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#a5">writeIOMap</a>(ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, const ViByte dataBufferPtr[], tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModule.html#b0">~iModule</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,315 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iModule Class Reference</h1>Interface to a firmware module on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iModule_8h-source.html">iModule.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iModule-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a0">getName</a> (ViChar moduleName[]) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the name of this module.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a1">getModuleID</a> (void) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the internal module ID of this module.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a2">getModuleSize</a> (void) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the size in bytes of this module.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a3">getModuleIOMapSize</a> (void) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the size in bytes of the I/O map associated with this module.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a4">readIOMap</a> (ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, ViPBuf dataBufferPtr, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Reads a portion of this module's I/O map.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#a5">writeIOMap</a> (ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, const ViByte dataBufferPtr[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Writes a portion of this module's I/O map.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="nFANTOM100::iModule::~iModule"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html#b0">~iModule</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="l0" doxytag="nFANTOM100::iModule::tNXT"></a>
class&nbsp;</td><td valign=bottom><b>tNXT</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to a firmware module on a LEGO MINDSTORMS NXT.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="nFANTOM100::iModule::getModuleID"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iModule::getModuleID </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the internal module ID of this module.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The internal module ID of this module. </dl> </td>
</tr>
</table>
<a name="a3" doxytag="nFANTOM100::iModule::getModuleIOMapSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iModule::getModuleIOMapSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the size in bytes of the I/O map associated with this module.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The size in bytes of the I/O map associated with this module. </dl> </td>
</tr>
</table>
<a name="a2" doxytag="nFANTOM100::iModule::getModuleSize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iModule::getModuleSize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the size in bytes of this module.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The size in bytes of this module. </dl> </td>
</tr>
</table>
<a name="a0" doxytag="nFANTOM100::iModule::getName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iModule::getName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>moduleName</em>[] </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the name of this module.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>moduleName</em>&nbsp;</td><td>
Populated with the name of this module. The module name character array must be able to accomodate a NULL-terminated, 15.3 formatted module name. That is, it must have a capacity of 20 bytes. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a4" doxytag="nFANTOM100::iModule::readIOMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iModule::readIOMap </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>offsetInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>numberOfBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViPBuf&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>dataBufferPtr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Reads a portion of this module's I/O map.
<p>
Reads the data located at [I/O map address] + [specified offset in bytes] into the specified data buffer. The read will attempt to copy the specified number of bytes. No read occurs if the specified status is fatal. The ownership of data buffer is not transferred to this module object.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offsetInBytes</em>&nbsp;</td><td>
The index of the byte in the I/O map at which to start the read. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
The number of bytes that should be read from the I/O map. </td></tr>
<tr><td valign=top><em>dataBufferPtr</em>&nbsp;</td><td>
A pointer to the data buffer that will be populated with the data that is read. The capacity of the specified data buffer must be at least the specified number of bytes. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The number of bytes actually read from the I/O map.</dl><dl compact><dt><b>
Postcondition: </b><dd>
The specified data buffer may be deallocated. </dl> </td>
</tr>
</table>
<a name="a5" doxytag="nFANTOM100::iModule::writeIOMap"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual ViUInt32 nFANTOM100::iModule::writeIOMap </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>offsetInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>numberOfBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const ViByte&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>dataBufferPtr</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Writes a portion of this module's I/O map.
<p>
Writes the specified data into this module's I/O map. The write starts at [I/O map address] + [specified offset in bytes] and stops after the specified number of bytes have been written. No write occurs if the specified status is fatal. The ownership of data buffer is not transferred to this module object.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offsetInBytes</em>&nbsp;</td><td>
The index of the byte in the I/O map at which to start the write. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
The number of bytes to write into the I/O map. </td></tr>
<tr><td valign=top><em>dataBufferPtr</em>&nbsp;</td><td>
A pointer to the data buffer that contains the data that will be written. The capacity of the specified data buffer must be at least the specified number of bytes. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
The number of bytes actually written into the I/O map.</dl><dl compact><dt><b>
Postcondition: </b><dd>
The specified data buffer may be deallocated. </dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iModule_8h-source.html">iModule.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,16 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iModuleIterator Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iModuleIterator.html">nFANTOM100::iModuleIterator</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a1">advance</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a0">getModule</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a2">getName</a>(ViChar moduleName[], tStatus &amp;status)=0
<code> [pure virtual]</code><li><b>tNXT</b> (defined in <a class="el" href="classnFANTOM100_1_1iModuleIterator.html">nFANTOM100::iModuleIterator</a>)<code> [friend]</code><li><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#b0">~iModuleIterator</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,161 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iModuleIterator Class Reference</h1>Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iModuleIterator_8h-source.html">iModuleIterator.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iModuleIterator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a> *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a0">getModule</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates a module object for the module referenced by this iterator.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a1">advance</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Advances this iterator.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a2">getName</a> (ViChar moduleName[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the name of the module to which this iterator refers.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="nFANTOM100::iModuleIterator::~iModuleIterator"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html#b0">~iModuleIterator</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="l0" doxytag="nFANTOM100::iModuleIterator::tNXT"></a>
class&nbsp;</td><td valign=bottom><b>tNXT</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="nFANTOM100::iModuleIterator::advance"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iModuleIterator::advance </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Advances this iterator.
<p>
Advances this iterator to the next module that matches the previously specified module name pattern. If no more modules match, this iterator is advanced to the end of the list. The iterator is not advanced if the specified status is fatal. If this iterator is already at the end of the list, a fatal status will be generated.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a0" doxytag="nFANTOM100::iModuleIterator::getModule"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual <a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a>* nFANTOM100::iModuleIterator::getModule </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Creates a module object for the module referenced by this iterator.
<p>
Creates a module object for the module referenced by this iterator. An object is not created if the specified status is fatal or if this iterator refers to the end of the list. The returned module object should be destroyed using the <a class="el" href="classnFANTOM100_1_1iNXT.html#a5">iNXT::destroyModule</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
A pointer to the <a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a> object that was created. </dl> </td>
</tr>
</table>
<a name="a2" doxytag="nFANTOM100::iModuleIterator::getName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iModuleIterator::getName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>moduleName</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>status</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Retrieves the name of the module to which this iterator refers.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>moduleName</em>&nbsp;</td><td>
Populated with the name of the module to which this iterator refers. The module name character array must be able to accomodate a NULL-terminated, 15.3 formatted module name. This is, it must have a capacity of 20 bytes. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iModuleIterator_8h-source.html">iModuleIterator.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,43 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iNXT Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iNXT.html#a20">bluetoothFactoryReset</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a13">bootIntoFirmwareDownloadMode</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a0">createFile</a>(ViConstString fileName, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a2">createFileIterator</a>(ViConstString fileNamePattern, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a4">createModule</a>(ViConstString moduleName, ViUInt32 moduleID, ViUInt32 moduleSizeInBytes, ViUInt32 ioMapSizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a6">createModuleIterator</a>(ViConstString moduleNamePattern, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d0">createNXT</a>(ViConstString resourceString, tStatus &amp;status, ViBoolean checkFirmwareVersion=true)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d2">createNXTIterator</a>(ViBoolean searchBluetooth, ViUInt32 bluetoothSearchTimeoutInSeconds, tStatus &amp;status)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a1">destroyFile</a>(iFile *filePtr)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a3">destroyFileIterator</a>(iFileIterator *fileIteratorPtr)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a5">destroyModule</a>(iModule *modulePtr)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a7">destroyModuleIterator</a>(iModuleIterator *moduleIteratorPtr)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d1">destroyNXT</a>(iNXT *nxtPtr)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d3">destroyNXTIterator</a>(iNXTIterator *iterPtr)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a10">downloadFirmware</a>(const ViByte firmwareBufferPtr[], ViUInt32 firmwareBufferSizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a16">eraseUserFlash</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d7">findDeviceInFirmwareDownloadMode</a>(ViChar resourceName[], tStatus &amp;status)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a15">getDeviceInfo</a>(ViChar name[], ViByte bluetoothAddress[], ViUInt8 signalStrength[], ViUInt32 &amp;availableFlash, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a8">getFirmwareVersion</a>(ViUInt8 &amp;protocolVersionMajorRef, ViUInt8 &amp;protocolVersionMinorRef, ViUInt8 &amp;firmwareVersionMajorRef, ViUInt8 &amp;firmwareVersionMinorRef, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a19">getResourceString</a>(ViChar resourceString[], tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#d6">isPaired</a>(ViConstString resourceName, tStatus &amp;status)
<code> [static]</code><li><b>kBufferHighSpeed</b> enum value (defined in <a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a>)<li><b>kBufferStandard</b> enum value (defined in <a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a>)<li><a class="el" href="classnFANTOM100_1_1iNXT.html#d4">pairBluetooth</a>(ViConstString resourceName, ViConstString passkey, ViChar pairedResourceName[], tStatus &amp;status)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a17">pollAvailableLength</a>(tBuffer bufferSelector, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a12">read</a>(ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a18">readBufferData</a>(ViPBuf dataBuffer, tBuffer bufferSelector, ViUInt32 numberOfBytesToRead, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a9">sendDirectCommand</a>(ViBoolean requireResponse, const ViByte commandBufferPtr[], ViUInt32 commandBufferSizeInBytes, ViPBuf responseBufferPtr, ViUInt32 responseBufferSizeInBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a14">setName</a>(ViConstString newName, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#s2">tBuffer</a> enum name
<li><a class="el" href="classnFANTOM100_1_1iNXT.html#d5">unpairBluetooth</a>(ViConstString resourceName, tStatus &amp;status)
<code> [static]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#a11">write</a>(const ViByte bufferPtr[], ViUInt32 numberOfBytes, tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXT.html#b0">~iNXT</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,16 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iNXTIterator Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a>, including all inherited members.<ul>
<li><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a1">advance</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a0">getName</a>(ViChar resourceName[], tStatus &amp;status) const=0
<code> [pure virtual]</code><li><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a2">getNXT</a>(tStatus &amp;status)=0
<code> [pure virtual]</code><li><b>iNXT</b> (defined in <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a>)<code> [friend]</code><li><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#b0">~iNXTIterator</a>()=0
<code> [protected, pure virtual]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,76 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::iNXTIterator Class Reference</h1>Interface to an iterator for LEGO MINDSTORMS NXTs.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iNXTIterator_8h-source.html">iNXTIterator.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iNXTIterator-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="nFANTOM100::iNXTIterator::getName"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a0">getName</a> (ViChar resourceName[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status) const=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Retrieves the name of the NXT to which this iterator refers.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a1">advance</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Advances this iterator.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="nFANTOM100::iNXTIterator::getNXT"></a>
virtual <a class="el" href="classnFANTOM100_1_1iNXT.html">iNXT</a> *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a2">getNXT</a> (<a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates an NXT object for the NXT referenced by this iterator.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="nFANTOM100::iNXTIterator::~iNXTIterator"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html#b0">~iNXTIterator</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Friends</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="l0" doxytag="nFANTOM100::iNXTIterator::iNXT"></a>
class&nbsp;</td><td valign=bottom><b>iNXT</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to an iterator for LEGO MINDSTORMS NXTs.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a1" doxytag="nFANTOM100::iNXTIterator::advance"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> virtual void nFANTOM100::iNXTIterator::advance </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Advances this iterator.
<p>
Advances this iterator to the next NXT that was found. If no more NXTs are found, this iterator is advanced to the end of the list. The iterator is not advanced if the specified status is fatal. If this iterator is already at the end of the list, a fatal status will be generated.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iNXTIterator_8h-source.html">iNXTIterator.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,26 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::tStatus Member List</h1>This is the complete list of members for <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>, including all inherited members.<ul>
<li><b>_code</b> (defined in <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>)<code> [private]</code><li><b>_fileName</b> (defined in <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>)<code> [private]</code><li><b>_lineNumber</b> (defined in <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>)<code> [private]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a8">assign</a>(const tStatus &amp;status)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a9">clear</a>(void)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a4">getCode</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a5">getFileName</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a6">getLineNumber</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a10">isFatal</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a13">isSuccess</a>(void) const
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a12">isWarning</a>(void) const
<code> [inline]</code><li><b>kMaxFileNameLength</b> enum value (defined in <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>)<code> [private]</code><li><b>operator=</b>(const tStatus &amp;rhs) (defined in <a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a>)<code> [private]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a7">setCode</a>(ViStatus code, const char *fileName, ViUInt32 lineNumber)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a0">tStatus</a>(void)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a1">tStatus</a>(const tStatus &amp;status)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a2">tStatus</a>(ViStatus code, const char *fileName, ViUInt32 lineNumber)
<code> [inline]</code><li><a class="el" href="classnFANTOM100_1_1tStatus.html#a3">~tStatus</a>()
<code> [inline]</code></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,560 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100::tStatus Class Reference</h1>Class that contains a status code and the file name and line number where that status code was generated.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="tStatus_8h-source.html">tStatus.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1tStatus-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a0">tStatus</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>constructor.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a1">tStatus</a> (const tStatus &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>copy constructor.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a2">tStatus</a> (ViStatus code, const char *fileName, ViUInt32 lineNumber)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>constructor with code, filename, and line number.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="nFANTOM100::tStatus::~tStatus"></a>
&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a3">~tStatus</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>destructor.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>ViStatus&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a4">getCode</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the status code for this status object.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const char *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a5">getFileName</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the file name in which the status code, for this status object, was generated.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a6">getLineNumber</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the line number at which the status code, for this status object, was.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a7">setCode</a> (ViStatus code, const char *fileName, ViUInt32 lineNumber)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the status code, file name, and line number for this status object, if.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a8">assign</a> (const tStatus &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Assigns the specified status object to this status object, if appropriate.</em> <a href="#a8">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a9">clear</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Clears the status code for this status object.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a10">isFatal</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns true if this status object contains a status code that is fatal.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns true if this status object contains a status code that is not fatal.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a12">isWarning</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns true if this status object contains a status code that is a warning.</em> <a href="#a12">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html#a13">isSuccess</a> (void) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns true if this status object contains the status code for success.</em> <a href="#a13">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Private Types</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom>{ <b>kMaxFileNameLength</b> = 101
}</td></tr>
<tr><td colspan=2><br><h2>Private Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="c0" doxytag="nFANTOM100::tStatus::operator="></a>
tStatus &amp;&nbsp;</td><td valign=bottom><b>operator=</b> (const tStatus &amp;rhs)</td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="o0" doxytag="nFANTOM100::tStatus::_code"></a>
ViStatus&nbsp;</td><td valign=bottom><b>_code</b></td></tr>
<tr><td nowrap align=right valign=top><a name="o1" doxytag="nFANTOM100::tStatus::_fileName"></a>
ViChar&nbsp;</td><td valign=bottom><b>_fileName</b> [kMaxFileNameLength]</td></tr>
<tr><td nowrap align=right valign=top><a name="o2" doxytag="nFANTOM100::tStatus::_lineNumber"></a>
ViUInt32&nbsp;</td><td valign=bottom><b>_lineNumber</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class that contains a status code and the file name and line number where that status code was generated.
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="nFANTOM100::tStatus::tStatus"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> nFANTOM100::tStatus::tStatus </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
constructor.
<p>
Creates a <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> object intialized to success.
<p>
<dl compact><dt><b>
Postcondition: </b><dd>
The status code is set to VI_SUCCESS. </dl> </td>
</tr>
</table>
<a name="a1" doxytag="nFANTOM100::tStatus::tStatus"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> nFANTOM100::tStatus::tStatus </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const tStatus &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
copy constructor.
<p>
Copies the code, line number, and file name from the specified <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> object.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
The status object to copy. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a2" doxytag="nFANTOM100::tStatus::tStatus"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> nFANTOM100::tStatus::tStatus </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViStatus&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>code</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>fileName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>lineNumber</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
constructor with code, filename, and line number.
<p>
Creates a <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> object initialized to the specified code, file name, and line number. Note that the nFANTOM_mLocation macro can be used to pass the fileName and lineNumber parameters.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>code</em>&nbsp;</td><td>
A status code. </td></tr>
<tr><td valign=top><em>fileName</em>&nbsp;</td><td>
The name of the file in which the status code was generated. </td></tr>
<tr><td valign=top><em>lineNumber</em>&nbsp;</td><td>
The line number in the file at which the status code was generated. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a8" doxytag="nFANTOM100::tStatus::assign"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void nFANTOM100::tStatus::assign </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const tStatus &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>status</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Assigns the specified status object to this status object, if appropriate.
<p>
Stores the status code, file name, and line number of the specified status object in this status object if this status object contains a successful status code or if this status object contains a warning status code and the status code of the speciied status object is fatal. A fatal status code is denoted by a negative value. A successful status code is denoted by VI_SUCCESS.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
The status object to assign. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a9" doxytag="nFANTOM100::tStatus::clear"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void nFANTOM100::tStatus::clear </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Clears the status code for this status object.
<p>
<dl compact><dt><b>
Postcondition: </b><dd>
status The code is set to VI_SUCCESS. </dl> </td>
</tr>
</table>
<a name="a4" doxytag="nFANTOM100::tStatus::getCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> ViStatus nFANTOM100::tStatus::getCode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the status code for this status object.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The status code for this status object. </dl> </td>
</tr>
</table>
<a name="a5" doxytag="nFANTOM100::tStatus::getFileName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> const char* nFANTOM100::tStatus::getFileName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the file name in which the status code, for this status object, was generated.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The file name in which the status code, for this status object, was generated. </dl> </td>
</tr>
</table>
<a name="a6" doxytag="nFANTOM100::tStatus::getLineNumber"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> ViUInt32 nFANTOM100::tStatus::getLineNumber </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns the line number at which the status code, for this status object, was.
<p>
<dl compact><dt><b>
Returns: </b><dd>
The line number at which the status code, for this status object, was generated. </dl> </td>
</tr>
</table>
<a name="a10" doxytag="nFANTOM100::tStatus::isFatal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool nFANTOM100::tStatus::isFatal </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns true if this status object contains a status code that is fatal.
<p>
A status code with a negative value is considered fatal.
<p>
<dl compact><dt><b>
Returns: </b><dd>
true if this status object contains a status code that is fatal; false otherwise. </dl> </td>
</tr>
</table>
<a name="a11" doxytag="nFANTOM100::tStatus::isNotFatal"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool nFANTOM100::tStatus::isNotFatal </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns true if this status object contains a status code that is not fatal.
<p>
Any status code with a non-negative (including zero) value is considered non-fatal.
<p>
<dl compact><dt><b>
Returns: </b><dd>
true if this status object contains a non-fatal status code; false otherwise. </dl> </td>
</tr>
</table>
<a name="a13" doxytag="nFANTOM100::tStatus::isSuccess"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool nFANTOM100::tStatus::isSuccess </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns true if this status object contains the status code for success.
<p>
A value of VI_SUCCESS represents success.
<p>
<dl compact><dt><b>
Returns: </b><dd>
true if this status object contains the status code for success; false otherwise. </dl> </td>
</tr>
</table>
<a name="a12" doxytag="nFANTOM100::tStatus::isWarning"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool nFANTOM100::tStatus::isWarning </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">void&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Returns true if this status object contains a status code that is a warning.
<p>
A status code with a non-zero, positive value is considered a warning.
<p>
<dl compact><dt><b>
Returns: </b><dd>
true if this status object contains a status code that is a warning; false otherwise. </dl> </td>
</tr>
</table>
<a name="a7" doxytag="nFANTOM100::tStatus::setCode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void nFANTOM100::tStatus::setCode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViStatus&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>code</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const char *&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>fileName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>lineNumber</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Sets the status code, file name, and line number for this status object, if.
<p>
Stores the specified status code, file name, and line number in this status object if this status object contains a successful status code or if this status object contains a warning status code and the specified status code is fatal. A fatal status code is denoted by a negative value. A successful status code is denoted by VI_SUCCESS.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>code</em>&nbsp;</td><td>
A status code. </td></tr>
<tr><td valign=top><em>fileName</em>&nbsp;</td><td>
The name of the file in which the status code was generated. </td></tr>
<tr><td valign=top><em>lineNumber</em>&nbsp;</td><td>
The line number in the file at which the status code was generated. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="tStatus_8h-source.html">tStatus.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,23 @@
H1 { text-align: center; }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
TD.md { background-color: #f2f2ff; font-weight: bold; }
TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
FONT.keyword { color: #008000 }
FONT.keywordtype { color: #604020 }
FONT.keywordflow { color: #e08000 }
FONT.comment { color: #800000 }
FONT.preprocessor { color: #806020 }
FONT.stringliteral { color: #002080 }
FONT.charliteral { color: #008080 }

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,20 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>FANTOM: LEGO MINDSTORMS NXT Driver File List</h1>Here is a list of all documented files with brief descriptions:<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iFile_8h.html">iFile.h</a> <a href="iFile_8h-source.html">[code]</a></td><td>Interface for a file on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iFileIterator_8h.html">iFileIterator.h</a> <a href="iFileIterator_8h-source.html">[code]</a></td><td>Interface for an iterator for files on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iModule_8h.html">iModule.h</a> <a href="iModule_8h-source.html">[code]</a></td><td>Interface for a firmware module on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iModuleIterator_8h.html">iModuleIterator.h</a> <a href="iModuleIterator_8h-source.html">[code]</a></td><td>Interface for an iterator for firmware modules on a LEGO MINDSTORMS NXT</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iNXT_8h.html">iNXT.h</a> <a href="iNXT_8h-source.html">[code]</a></td><td>Interface for a LEGO MINDSTORMS NXT and declaration of its factory</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="iNXTIterator_8h.html">iNXTIterator.h</a> <a href="iNXTIterator_8h-source.html">[code]</a></td><td>Interface used for searching for LEGO MINDSTORMS NXTs</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="main_8cpp.html">main.cpp</a></td><td>Fantom Driver Example</td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="tStatus_8h.html">tStatus.h</a> <a href="tStatus_8h-source.html">[code]</a></td><td>Status code class</td></tr>
</table>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,129 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>FANTOM: LEGO MINDSTORMS NXT Driver Compound Members</h1><center>
<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_g">g</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_o">o</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_r">r</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_t">t</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_w">w</a>&nbsp;|&nbsp;<a href="#index_~">~</a></center>
<p>
Here is a list of all documented class members with links to the classes they belong to:<a name="index_a"><h3>- a -</h3></a>
<ul>
<li>advance()
: <a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a1">nFANTOM100::iNXTIterator</a>, <a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a1">nFANTOM100::iModuleIterator</a>, <a class="el" href="classnFANTOM100_1_1iFileIterator.html#a1">nFANTOM100::iFileIterator</a><li>assign()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a8">nFANTOM100::tStatus</a></ul>
<a name="index_b"><h3>- b -</h3></a>
<ul>
<li>bluetoothFactoryReset()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a20">nFANTOM100::iNXT</a><li>bootIntoFirmwareDownloadMode()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a13">nFANTOM100::iNXT</a></ul>
<a name="index_c"><h3>- c -</h3></a>
<ul>
<li>clear()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a9">nFANTOM100::tStatus</a><li>close()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a8">nFANTOM100::iFile</a><li>createFile()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a0">nFANTOM100::iNXT</a><li>createFileIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a2">nFANTOM100::iNXT</a><li>createModule()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a4">nFANTOM100::iNXT</a><li>createModuleIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a6">nFANTOM100::iNXT</a><li>createNXT()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d0">nFANTOM100::iNXT</a><li>createNXTIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d2">nFANTOM100::iNXT</a></ul>
<a name="index_d"><h3>- d -</h3></a>
<ul>
<li>destroyFile()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a1">nFANTOM100::iNXT</a><li>destroyFileIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a3">nFANTOM100::iNXT</a><li>destroyModule()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a5">nFANTOM100::iNXT</a><li>destroyModuleIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a7">nFANTOM100::iNXT</a><li>destroyNXT()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d1">nFANTOM100::iNXT</a><li>destroyNXTIterator()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d3">nFANTOM100::iNXT</a><li>downloadFirmware()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a10">nFANTOM100::iNXT</a></ul>
<a name="index_e"><h3>- e -</h3></a>
<ul>
<li>eraseUserFlash()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a16">nFANTOM100::iNXT</a></ul>
<a name="index_f"><h3>- f -</h3></a>
<ul>
<li>findDeviceInFirmwareDownloadMode()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d7">nFANTOM100::iNXT</a></ul>
<a name="index_g"><h3>- g -</h3></a>
<ul>
<li>getAvailableSize()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a2">nFANTOM100::iFile</a><li>getCode()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a4">nFANTOM100::tStatus</a><li>getDeviceInfo()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a15">nFANTOM100::iNXT</a><li>getFile()
: <a class="el" href="classnFANTOM100_1_1iFileIterator.html#a0">nFANTOM100::iFileIterator</a><li>getFileName()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a5">nFANTOM100::tStatus</a><li>getFirmwareVersion()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a8">nFANTOM100::iNXT</a><li>getLineNumber()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a6">nFANTOM100::tStatus</a><li>getModule()
: <a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a0">nFANTOM100::iModuleIterator</a><li>getModuleID()
: <a class="el" href="classnFANTOM100_1_1iModule.html#a1">nFANTOM100::iModule</a><li>getModuleIOMapSize()
: <a class="el" href="classnFANTOM100_1_1iModule.html#a3">nFANTOM100::iModule</a><li>getModuleSize()
: <a class="el" href="classnFANTOM100_1_1iModule.html#a2">nFANTOM100::iModule</a><li>getName()
: <a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a0">nFANTOM100::iNXTIterator</a>, <a class="el" href="classnFANTOM100_1_1iModuleIterator.html#a2">nFANTOM100::iModuleIterator</a>, <a class="el" href="classnFANTOM100_1_1iModule.html#a0">nFANTOM100::iModule</a>, <a class="el" href="classnFANTOM100_1_1iFileIterator.html#a2">nFANTOM100::iFileIterator</a>, <a class="el" href="classnFANTOM100_1_1iFile.html#a0">nFANTOM100::iFile</a><li>getNXT()
: <a class="el" href="classnFANTOM100_1_1iNXTIterator.html#a2">nFANTOM100::iNXTIterator</a><li>getResourceString()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a19">nFANTOM100::iNXT</a><li>getSize()
: <a class="el" href="classnFANTOM100_1_1iFileIterator.html#a3">nFANTOM100::iFileIterator</a>, <a class="el" href="classnFANTOM100_1_1iFile.html#a1">nFANTOM100::iFile</a></ul>
<a name="index_i"><h3>- i -</h3></a>
<ul>
<li>isFatal()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a10">nFANTOM100::tStatus</a><li>isNotFatal()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a11">nFANTOM100::tStatus</a><li>isPaired()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d6">nFANTOM100::iNXT</a><li>isSuccess()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a13">nFANTOM100::tStatus</a><li>isWarning()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a12">nFANTOM100::tStatus</a></ul>
<a name="index_o"><h3>- o -</h3></a>
<ul>
<li>openForDataAppend()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a7">nFANTOM100::iFile</a><li>openForDataWrite()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a6">nFANTOM100::iFile</a><li>openForLinearWrite()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a5">nFANTOM100::iFile</a><li>openForRead()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a3">nFANTOM100::iFile</a><li>openForWrite()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a4">nFANTOM100::iFile</a></ul>
<a name="index_p"><h3>- p -</h3></a>
<ul>
<li>pairBluetooth()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d4">nFANTOM100::iNXT</a><li>pollAvailableLength()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a17">nFANTOM100::iNXT</a></ul>
<a name="index_r"><h3>- r -</h3></a>
<ul>
<li>read()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a12">nFANTOM100::iNXT</a>, <a class="el" href="classnFANTOM100_1_1iFile.html#a9">nFANTOM100::iFile</a><li>readBufferData()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a18">nFANTOM100::iNXT</a><li>readIOMap()
: <a class="el" href="classnFANTOM100_1_1iModule.html#a4">nFANTOM100::iModule</a><li>remove()
: <a class="el" href="classnFANTOM100_1_1iFile.html#a11">nFANTOM100::iFile</a></ul>
<a name="index_s"><h3>- s -</h3></a>
<ul>
<li>sendDirectCommand()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a9">nFANTOM100::iNXT</a><li>setCode()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a7">nFANTOM100::tStatus</a><li>setName()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a14">nFANTOM100::iNXT</a></ul>
<a name="index_t"><h3>- t -</h3></a>
<ul>
<li>tBuffer
: <a class="el" href="classnFANTOM100_1_1iNXT.html#s2">nFANTOM100::iNXT</a><li>tStatus()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a2">nFANTOM100::tStatus</a></ul>
<a name="index_u"><h3>- u -</h3></a>
<ul>
<li>unpairBluetooth()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#d5">nFANTOM100::iNXT</a></ul>
<a name="index_w"><h3>- w -</h3></a>
<ul>
<li>write()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#a11">nFANTOM100::iNXT</a>, <a class="el" href="classnFANTOM100_1_1iFile.html#a10">nFANTOM100::iFile</a><li>writeIOMap()
: <a class="el" href="classnFANTOM100_1_1iModule.html#a5">nFANTOM100::iModule</a></ul>
<a name="index_~"><h3>- ~ -</h3></a>
<ul>
<li>~iFile()
: <a class="el" href="classnFANTOM100_1_1iFile.html#b0">nFANTOM100::iFile</a><li>~iFileIterator()
: <a class="el" href="classnFANTOM100_1_1iFileIterator.html#b0">nFANTOM100::iFileIterator</a><li>~iModule()
: <a class="el" href="classnFANTOM100_1_1iModule.html#b0">nFANTOM100::iModule</a><li>~iModuleIterator()
: <a class="el" href="classnFANTOM100_1_1iModuleIterator.html#b0">nFANTOM100::iModuleIterator</a><li>~iNXT()
: <a class="el" href="classnFANTOM100_1_1iNXT.html#b0">nFANTOM100::iNXT</a><li>~iNXTIterator()
: <a class="el" href="classnFANTOM100_1_1iNXTIterator.html#b0">nFANTOM100::iNXTIterator</a><li>~tStatus()
: <a class="el" href="classnFANTOM100_1_1tStatus.html#a3">nFANTOM100::tStatus</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,107 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iFileIterator.h</h1><a href="iFileIterator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iFileIterator.h</font>
00011 <font class="comment"> Originated: 12 May 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iFileIterator_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iFileIterator_h___</font>
00016 <font class="preprocessor"></font>
00017
00018 <font class="comment">// includes...</font>
00019
00020 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00021 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00022 <font class="preprocessor">#endif</font>
00023 <font class="preprocessor"></font>
00024 <font class="preprocessor">#ifndef ___fantom_iFile_h___</font>
00025 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iFile_8h.html">iFile.h</a>"</font>
00026 <font class="preprocessor">#endif</font>
00027 <font class="preprocessor"></font>
00028 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00029 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00030 <font class="preprocessor">#endif</font>
00031 <font class="preprocessor"></font>
00032
00033 <font class="comment">// defines...</font>
00034
00035
00036 <font class="keyword">namespace </font>nFANTOM100
00037 {
00038 <font class="comment">// forward declarations...</font>
00039
00040 <font class="comment">// typedefs...</font>
00041
00042 <font class="comment">// classes...</font>
00043
00048 <font class="keyword">class </font>iFileIterator
00049 {
00050 <font class="keyword">friend</font> <font class="keyword">class </font>tNXT;
00051
00052 <font class="comment">// methods</font>
00053 <font class="keyword">protected</font>:
00054
00056 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iFileIterator.html#b0">~iFileIterator</a>() = 0;
00057
00058 <font class="keyword">public</font>:
00059
00061
00070 <font class="keyword">virtual</font> iFile* <a class="code" href="classnFANTOM100_1_1iFileIterator.html#a0">getFile</a>( tStatus&amp; status ) = 0;
00071
00073
00082 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFileIterator.html#a1">advance</a>( tStatus&amp; status ) = 0;
00083
00085
00091 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFileIterator.html#a2">getName</a>( ViChar fileName[], tStatus&amp; status ) = 0;
00092
00094
00098 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFileIterator.html#a3">getSize</a>( tStatus&amp; status ) = 0;
00099
00100 };
00101
00102
00103 <font class="comment">// constants...</font>
00104
00105 } <font class="comment">// namespace nFANTOM100</font>
00106
00107
00108 <font class="comment">// declarations for globally-scoped globals...</font>
00109
00110 <font class="comment">// typedefs</font>
00111 <font class="keyword">typedef</font> ViObject nFANTOM100_iFileIterator;
00112
00113 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00114 {
00115 nFANTOM100_kExport nFANTOM100_iFile _VI_FUNCC nFANTOM100_iFileIterator_getFile(
00116 nFANTOM100_iFileIterator iteratorPtr,
00117 ViStatus* status );
00118
00119 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFileIterator_advance(
00120 nFANTOM100_iFileIterator iteratorPtr,
00121 ViStatus* status );
00122
00123 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFileIterator_getName(
00124 nFANTOM100_iFileIterator iteratorPtr,
00125 ViChar filename[],
00126 ViStatus* status );
00127
00128 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFileIterator_getSize(
00129 nFANTOM100_iFileIterator iteratorPtr,
00130 ViStatus* status );
00131 }
00132
00133 <font class="preprocessor">#endif // ___fantom_iFileIterator_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,43 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iFileIterator.h File Reference</h1>Interface for an iterator for files on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="iFile_8h-source.html">iFile.h</a>"</code><br>
<p>
<a href="iFileIterator_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for files on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iFileIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iFileIterator.h::nFANTOM100_iFileIterator"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iFileIterator</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iFileIterator.h::nFANTOM100_iFileIterator_getFile"></a>
nFANTOM100_kExport nFANTOM100_iFile <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFileIterator_getFile</b> (nFANTOM100_iFileIterator iteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iFileIterator.h::nFANTOM100_iFileIterator_advance"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFileIterator_advance</b> (nFANTOM100_iFileIterator iteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iFileIterator.h::nFANTOM100_iFileIterator_getName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFileIterator_getName</b> (nFANTOM100_iFileIterator iteratorPtr, ViChar filename[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="iFileIterator.h::nFANTOM100_iFileIterator_getSize"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFileIterator_getSize</b> (nFANTOM100_iFileIterator iteratorPtr, ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface for an iterator for files on a LEGO MINDSTORMS NXT.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,178 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iFile.h</h1><a href="iFile_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iFile.h</font>
00011 <font class="comment"> Originated: 12 May 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iFile_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iFile_h___</font>
00016 <font class="preprocessor"></font>
00017 <font class="comment">// includes...</font>
00018
00019 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00020 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00021 <font class="preprocessor">#endif</font>
00022 <font class="preprocessor"></font>
00023 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00024 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00025 <font class="preprocessor">#endif</font>
00026 <font class="preprocessor"></font>
00027
00028 <font class="comment">// defines...</font>
00029
00030
<a name="l00031"></a><a class="code" href="namespacenFANTOM100.html">00031</a> <font class="keyword">namespace </font>nFANTOM100
00032 {
00033 <font class="comment">// forward declarations...</font>
00034
00035 <font class="comment">// typedefs...</font>
00036
00037 <font class="comment">// classes...</font>
00038
00043 <font class="keyword">class </font>iFile
00044 {
00045 <font class="keyword">friend</font> <font class="keyword">class </font>tNXT;
00046
00047 <font class="comment">// methods</font>
00048 <font class="keyword">protected</font>:
00049
00051 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iFile.html#b0">~iFile</a>() = 0;
00052
00053 <font class="keyword">public</font>:
00054
00056
00061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a0">getName</a>( ViChar fileName[] ) <font class="keyword">const</font> = 0;
00062
00064
00070 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a1">getSize</a>( tStatus&amp; status ) = 0;
00071
00073
00081 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a2">getAvailableSize</a>( tStatus&amp; status ) = 0;
00082
00083
00085
00091 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a3">openForRead</a>( tStatus&amp; status ) = 0;
00092
00093
00095
00104 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a4">openForWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00105
00106
00108
00117 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a5">openForLinearWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00118
00119
00121
00131 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a6">openForDataWrite</a>( ViUInt32 sizeInBytes, tStatus&amp; status ) = 0;
00132
00133
00135
00144 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a7">openForDataAppend</a>( tStatus&amp; status ) = 0;
00145
00146
00148
00154 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a8">close</a>( tStatus&amp; status ) = 0;
00155
00156
00158
00173 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a9">read</a>( ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus&amp; status ) = 0;
00174
00175
00177
00192 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iFile.html#a10">write</a>( <font class="keyword">const</font> ViByte bufferPtr[], ViUInt32 numberOfBytes,
00193 tStatus&amp; status ) = 0;
00194
00195
00197
00203 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iFile.html#a11">remove</a>( tStatus&amp; status ) = 0;
00204
00205 };
00206
00207
00208 <font class="comment">// constants...</font>
00209 <font class="keyword">const</font> ViUInt8 kProtocolFilenameLength = 19; <font class="comment">// 15 basename + 1 dot + 3 extension = 19</font>
00210
00211 } <font class="comment">// namespace nFANTOM100</font>
00212
00213
00214 <font class="comment">// declarations for globally-scoped globals...</font>
00215
00216 <font class="comment">// typedefs...</font>
00217 <font class="keyword">typedef</font> ViObject nFANTOM100_iFile;
00218
00219 <font class="comment">// prototypes...</font>
00220 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00221 {
00222 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_getName(
00223 nFANTOM100_iFile filePtr,
00224 ViChar fileName[],
00225 ViStatus* status );
00226
00227 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getSize(
00228 nFANTOM100_iFile filePtr,
00229 ViStatus* status );
00230
00231 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getAvailableSize(
00232 nFANTOM100_iFile filePtr,
00233 ViStatus* status );
00234
00235 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForRead(
00236 nFANTOM100_iFile filePtr,
00237 ViStatus* status );
00238
00239 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForWrite(
00240 nFANTOM100_iFile filePtr,
00241 ViUInt32 sizeInBytes,
00242 ViStatus* status );
00243
00244 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForLinearWrite(
00245 nFANTOM100_iFile filePtr,
00246 ViUInt32 sizeInBytes,
00247 ViStatus* status );
00248
00249 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForDataWrite(
00250 nFANTOM100_iFile filePtr,
00251 ViUInt32 sizeInBytes,
00252 ViStatus* status );
00253
00254 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_openForDataAppend(
00255 nFANTOM100_iFile filePtr,
00256 ViStatus* status );
00257
00258 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_close(
00259 nFANTOM100_iFile filePtr,
00260 ViStatus* status );
00261
00262 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_read(
00263 nFANTOM100_iFile filePtr,
00264 ViPBuf bufferPtr,
00265 ViUInt32 numberOfBytes,
00266 ViStatus* status );
00267
00268 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_write(
00269 nFANTOM100_iFile filePtr,
00270 <font class="keyword">const</font> ViByte bufferPtr[],
00271 ViUInt32 numberOfBytes,
00272 ViStatus* status );
00273
00274 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iFile_remove(
00275 nFANTOM100_iFile filePtr,
00276 ViStatus* status );
00277
00278 }
00279
00280 <font class="preprocessor">#endif // ___fantom_iFile_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,59 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iFile.h File Reference</h1>Interface for a file on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="tStatus_8h-source.html">tStatus.h</a>"</code><br>
<p>
<a href="iFile_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a file on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iFile.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iFile.h::nFANTOM100_iFile"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iFile.h::nFANTOM100_iFile_getName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_getName</b> (nFANTOM100_iFile filePtr, ViChar fileName[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iFile.h::nFANTOM100_iFile_getSize"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_getSize</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iFile.h::nFANTOM100_iFile_getAvailableSize"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_getAvailableSize</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="iFile.h::nFANTOM100_iFile_openForRead"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_openForRead</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="iFile.h::nFANTOM100_iFile_openForWrite"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_openForWrite</b> (nFANTOM100_iFile filePtr, ViUInt32 sizeInBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="iFile.h::nFANTOM100_iFile_openForLinearWrite"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_openForLinearWrite</b> (nFANTOM100_iFile filePtr, ViUInt32 sizeInBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="iFile.h::nFANTOM100_iFile_openForDataWrite"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_openForDataWrite</b> (nFANTOM100_iFile filePtr, ViUInt32 sizeInBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="iFile.h::nFANTOM100_iFile_openForDataAppend"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_openForDataAppend</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="iFile.h::nFANTOM100_iFile_close"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_close</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="iFile.h::nFANTOM100_iFile_read"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_read</b> (nFANTOM100_iFile filePtr, ViPBuf bufferPtr, ViUInt32 numberOfBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="iFile.h::nFANTOM100_iFile_write"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_write</b> (nFANTOM100_iFile filePtr, const ViByte bufferPtr[], ViUInt32 numberOfBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a12" doxytag="iFile.h::nFANTOM100_iFile_remove"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iFile_remove</b> (nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface for a file on a LEGO MINDSTORMS NXT.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,100 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iModuleIterator.h</h1><a href="iModuleIterator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iModuleIterator.h</font>
00011 <font class="comment"> Originated: 8 Aug 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iModuleIterator_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iModuleIterator_h___</font>
00016 <font class="preprocessor"></font>
00017
00018 <font class="comment">// includes...</font>
00019
00020 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00021 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00022 <font class="preprocessor">#endif</font>
00023 <font class="preprocessor"></font>
00024 <font class="preprocessor">#ifndef ___fantom_iModule_h___</font>
00025 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iModule_8h.html">iModule.h</a>"</font>
00026 <font class="preprocessor">#endif</font>
00027 <font class="preprocessor"></font>
00028 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00029 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00030 <font class="preprocessor">#endif</font>
00031 <font class="preprocessor"></font>
00032
00033 <font class="comment">// defines...</font>
00034
00035
00036 <font class="keyword">namespace </font>nFANTOM100
00037 {
00038 <font class="comment">// forward declarations...</font>
00039
00040 <font class="comment">// typedefs...</font>
00041
00042 <font class="comment">// classes...</font>
00043
00048 <font class="keyword">class </font>iModuleIterator
00049 {
00050 <font class="keyword">friend</font> <font class="keyword">class </font>tNXT;
00051
00052 <font class="comment">// methods</font>
00053 <font class="keyword">protected</font>:
00054
00056 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iModuleIterator.html#b0">~iModuleIterator</a>() = 0;
00057
00058 <font class="keyword">public</font>:
00059
00061
00070 <font class="keyword">virtual</font> iModule* <a class="code" href="classnFANTOM100_1_1iModuleIterator.html#a0">getModule</a>( tStatus&amp; status ) = 0;
00071
00073
00082 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iModuleIterator.html#a1">advance</a>( tStatus&amp; status ) = 0;
00083
00085
00092 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iModuleIterator.html#a2">getName</a>( ViChar moduleName[], tStatus&amp; status ) = 0;
00093
00094 };
00095
00096
00097 <font class="comment">// constants...</font>
00098
00099 } <font class="comment">// namespace nFANTOM100</font>
00100
00101
00102 <font class="comment">// declarations for globally-scoped globals...</font>
00103
00104 <font class="comment">// typedefs</font>
00105 <font class="keyword">typedef</font> ViObject nFANTOM100_iModuleIterator;
00106
00107 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00108 {
00109 nFANTOM100_kExport nFANTOM100_iModule _VI_FUNCC nFANTOM100_iModuleIterator_getModule(
00110 nFANTOM100_iModuleIterator iteratorPtr,
00111 ViStatus* status );
00112
00113 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iModuleIterator_advance(
00114 nFANTOM100_iModuleIterator iteratorPtr,
00115 ViStatus* status );
00116
00117 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iModuleIterator_getName(
00118 nFANTOM100_iModuleIterator iteratorPtr,
00119 ViChar moduleName[],
00120 ViStatus* status );
00121 }
00122
00123 <font class="preprocessor">#endif // ___fantom_iModuleIterator_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,40 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iModuleIterator.h File Reference</h1>Interface for an iterator for firmware modules on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="iModule_8h-source.html">iModule.h</a>"</code><br>
<p>
<a href="iModuleIterator_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html">nFANTOM100::iModuleIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iModuleIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iModuleIterator.h::nFANTOM100_iModuleIterator"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iModuleIterator</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iModuleIterator.h::nFANTOM100_iModuleIterator_getModule"></a>
nFANTOM100_kExport nFANTOM100_iModule <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModuleIterator_getModule</b> (nFANTOM100_iModuleIterator iteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iModuleIterator.h::nFANTOM100_iModuleIterator_advance"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModuleIterator_advance</b> (nFANTOM100_iModuleIterator iteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iModuleIterator.h::nFANTOM100_iModuleIterator_getName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModuleIterator_getName</b> (nFANTOM100_iModuleIterator iteratorPtr, ViChar moduleName[], ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface for an iterator for firmware modules on a LEGO MINDSTORMS NXT.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,110 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iModule.h</h1><a href="iModule_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iModule.h</font>
00011 <font class="comment"> Originated: 8 Aug 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iModule_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iModule_h___</font>
00016 <font class="preprocessor"></font>
00017 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00018 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00019 <font class="preprocessor">#endif</font>
00020 <font class="preprocessor"></font>
00021 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00022 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00023 <font class="preprocessor">#endif</font>
00024 <font class="preprocessor"></font>
00025
00026 <font class="comment">// defines...</font>
00027
00028
00029 <font class="keyword">namespace </font>nFANTOM100
00030 {
00031
00036 <font class="keyword">class </font>iModule
00037 {
00038 <font class="keyword">friend</font> <font class="keyword">class </font>tNXT;
00039
00040 <font class="comment">// methods</font>
00041 <font class="keyword">protected</font>:
00042
00044 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iModule.html#b0">~iModule</a>() = 0;
00045
00046 <font class="keyword">public</font>:
00047
00049
00054 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iModule.html#a0">getName</a>( ViChar moduleName[] ) <font class="keyword">const</font> = 0;
00055
00057
00060 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iModule.html#a1">getModuleID</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font> = 0;
00061
00063
00066 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iModule.html#a2">getModuleSize</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font> = 0;
00067
00069
00072 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iModule.html#a3">getModuleIOMapSize</a>( <font class="keywordtype">void</font> ) <font class="keyword">const</font> = 0;
00073
00075
00091 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iModule.html#a4">readIOMap</a>( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes,
00092 ViPBuf dataBufferPtr, tStatus&amp; status ) = 0;
00093
00095
00111 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iModule.html#a5">writeIOMap</a>( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes,
00112 <font class="keyword">const</font> ViByte dataBufferPtr[], tStatus&amp; status ) = 0;
00113
00114 };
00115
00116 }; <font class="comment">// nFANTOM100</font>
00117
00118 <font class="keyword">typedef</font> ViObject nFANTOM100_iModule;
00119
00120 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00121 {
00122 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iModule_getName(
00123 nFANTOM100_iModule modulePtr,
00124 ViChar moduleName[],
00125 ViStatus* status );
00126
00127 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleID(
00128 nFANTOM100_iModule modulePtr,
00129 ViStatus* status );
00130
00131 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleSize(
00132 nFANTOM100_iModule modulePtr,
00133 ViStatus* status );
00134
00135 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getIOMapSize(
00136 nFANTOM100_iModule modulePtr,
00137 ViStatus* status );
00138
00139 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_readIOMap(
00140 nFANTOM100_iModule modulePtr,
00141 ViUInt32 offset,
00142 ViUInt32 numberBytesToRead,
00143 ViPBuf dataBuffer,
00144 ViStatus* status );
00145
00146 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_writeIOMap(
00147 nFANTOM100_iModule modulePtr,
00148 ViUInt32 offset,
00149 ViUInt32 numberBytesToWrite,
00150 <font class="keyword">const</font> ViByte dataBuffer[],
00151 ViStatus* status );
00152 }
00153
00154 <font class="preprocessor">#endif // ___fantom_iModule_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,50 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iModule.h File Reference</h1>Interface for a firmware module on a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="tStatus_8h-source.html">tStatus.h</a>"</code><br>
<p>
<a href="iModule_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html">nFANTOM100::iModule</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a firmware module on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iModule.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iModule.h::nFANTOM100_iModule"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iModule.h::nFANTOM100_iModule_getName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_getName</b> (nFANTOM100_iModule modulePtr, ViChar moduleName[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iModule.h::nFANTOM100_iModule_getModuleID"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_getModuleID</b> (nFANTOM100_iModule modulePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iModule.h::nFANTOM100_iModule_getModuleSize"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_getModuleSize</b> (nFANTOM100_iModule modulePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="iModule.h::nFANTOM100_iModule_getIOMapSize"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_getIOMapSize</b> (nFANTOM100_iModule modulePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="iModule.h::nFANTOM100_iModule_readIOMap"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_readIOMap</b> (nFANTOM100_iModule modulePtr, ViUInt32 offset, ViUInt32 numberBytesToRead, ViPBuf dataBuffer, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="iModule.h::nFANTOM100_iModule_writeIOMap"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iModule_writeIOMap</b> (nFANTOM100_iModule modulePtr, ViUInt32 offset, ViUInt32 numberBytesToWrite, const ViByte dataBuffer[], ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface for a firmware module on a LEGO MINDSTORMS NXT.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,112 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iNXTIterator.h</h1><a href="iNXTIterator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iNXTIterator.h</font>
00011 <font class="comment"> Originated: 17 Oct 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iNXTIterator_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iNXTIterator_h___</font>
00016 <font class="preprocessor"></font>
00017
00018 <font class="comment">// includes...</font>
00019
00020 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00021 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00022 <font class="preprocessor">#endif</font>
00023 <font class="preprocessor"></font>
00024 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00025 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00026 <font class="preprocessor">#endif</font>
00027 <font class="preprocessor"></font>
00028
00029 <font class="comment">// defines...</font>
00030
00031
00032 <font class="keyword">namespace </font>nFANTOM100
00033 {
00034 <font class="comment">// forward declarations...</font>
00035 <font class="keyword">class </font>iNXT;
00036
00037 <font class="comment">// typedefs...</font>
00038
00039 <font class="comment">// classes...</font>
00040
00045 <font class="keyword">class </font>iNXTIterator
00046 {
00047 <font class="keyword">friend</font> <font class="keyword">class </font>iNXT;
00048
00049 <font class="comment">// methods</font>
00050 <font class="keyword">protected</font>:
00051
00053 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iNXTIterator.html#b0">~iNXTIterator</a>() = 0;
00054
00055 <font class="keyword">public</font>:
00056
00058 <font class="comment">/*</font>
00059 <font class="comment"> \param resourceName Populated with the name of the NXT to which this iterator</font>
00060 <font class="comment"> currently refers. The resource name character array must have a capacity of 256</font>
00061 <font class="comment"> bytes.</font>
00062 <font class="comment"> \param status Status chaining object.</font>
00063 <font class="comment"> */</font>
00064 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXTIterator.html#a0">getName</a>( ViChar resourceName[], tStatus&amp; status ) <font class="keyword">const</font> = 0;
00065
00067
00075 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXTIterator.html#a1">advance</a>( tStatus&amp; status ) = 0;
00076
00078 <font class="comment">/*</font>
00079 <font class="comment"> Creates an NXT object for the NXT referenced by this iterator. An object is not</font>
00080 <font class="comment"> created if the specified status is fatal or if this iterator refers to the end of</font>
00081 <font class="comment"> the list. The returned iNXT object should be destroyed using the iNXT::destroyNXT</font>
00082 <font class="comment"> method.</font>
00083 <font class="comment"></font>
00084 <font class="comment"> \param status Status chaining object.</font>
00085 <font class="comment"> \return A pointer to the iNXT object that was created.</font>
00086 <font class="comment"> */</font>
00087 <font class="keyword">virtual</font> iNXT* <a class="code" href="classnFANTOM100_1_1iNXTIterator.html#a2">getNXT</a>( tStatus&amp; status ) = 0;
00088 };
00089
00090
00091 <font class="comment">// constants...</font>
00092
00093 } <font class="comment">// namespace nFANTOM100</font>
00094
00095
00096 <font class="comment">// declarations for globally-scoped globals...</font>
00097
00098 <font class="comment">// typedefs</font>
00099 <font class="keyword">typedef</font> ViObject nFANTOM100_iNXTIterator;
00100
00101 <font class="comment">// we must duplicate this typedef for the getNXT C wrapper</font>
00102 <font class="keyword">typedef</font> ViObject nFANTOM100_iNXT;
00103
00104 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00105 {
00106 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXTIterator_getName(
00107 nFANTOM100_iNXTIterator iteratorPtr,
00108 ViChar resourceName[],
00109 ViStatus* status );
00110
00111 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXTIterator_advance(
00112 nFANTOM100_iNXTIterator iteratorPtr,
00113 ViStatus* status );
00114
00115 nFANTOM100_kExport nFANTOM100_iNXT _VI_FUNCC nFANTOM100_iNXTIterator_getNXT(
00116 nFANTOM100_iNXTIterator iteratorPtr,
00117 ViStatus* status );
00118 }
00119
00120 <font class="preprocessor">#endif // ___fantom_iNXTIterator_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,42 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iNXTIterator.h File Reference</h1>Interface used for searching for LEGO MINDSTORMS NXTs.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="tStatus_8h-source.html">tStatus.h</a>"</code><br>
<p>
<a href="iNXTIterator_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for LEGO MINDSTORMS NXTs.</em> <a href="classnFANTOM100_1_1iNXTIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iNXTIterator.h::nFANTOM100_iNXTIterator"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXTIterator</b></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iNXTIterator.h::nFANTOM100_iNXT"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iNXTIterator.h::nFANTOM100_iNXTIterator_getName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXTIterator_getName</b> (nFANTOM100_iNXTIterator iteratorPtr, ViChar resourceName[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iNXTIterator.h::nFANTOM100_iNXTIterator_advance"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXTIterator_advance</b> (nFANTOM100_iNXTIterator iteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="iNXTIterator.h::nFANTOM100_iNXTIterator_getNXT"></a>
nFANTOM100_kExport nFANTOM100_iNXT <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXTIterator_getNXT</b> (nFANTOM100_iNXTIterator iteratorPtr, ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface used for searching for LEGO MINDSTORMS NXTs.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,398 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iNXT.h</h1><a href="iNXT_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: iNXT.h</font>
00011 <font class="comment"> Originated: 12 May 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_iNXT_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_iNXT_h___</font>
00016 <font class="preprocessor"></font>
00017
00018 <font class="comment">// includes...</font>
00019
00020 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00021 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00022 <font class="preprocessor">#endif</font>
00023 <font class="preprocessor"></font>
00024 <font class="preprocessor">#ifndef ___fantom_iFile_h___</font>
00025 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iFile_8h.html">iFile.h</a>"</font>
00026 <font class="preprocessor">#endif</font>
00027 <font class="preprocessor"></font>
00028 <font class="preprocessor">#ifndef ___fantom_iFileIterator_h___</font>
00029 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iFileIterator_8h.html">iFileIterator.h</a>"</font>
00030 <font class="preprocessor">#endif</font>
00031 <font class="preprocessor"></font>
00032 <font class="preprocessor">#ifndef ___fantom_iModule_h___</font>
00033 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iModule_8h.html">iModule.h</a>"</font>
00034 <font class="preprocessor">#endif</font>
00035 <font class="preprocessor"></font>
00036 <font class="preprocessor">#ifndef ___fantom_iModuleIterator_h___</font>
00037 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iModuleIterator_8h.html">iModuleIterator.h</a>"</font>
00038 <font class="preprocessor">#endif</font>
00039 <font class="preprocessor"></font>
00040 <font class="preprocessor">#ifndef ___fantom_iNXTIterator_h___</font>
00041 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="iNXTIterator_8h.html">iNXTIterator.h</a>"</font>
00042 <font class="preprocessor">#endif</font>
00043 <font class="preprocessor"></font>
00044 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00045 <font class="preprocessor"></font><font class="preprocessor"> #include "<a class="code" href="tStatus_8h.html">tStatus.h</a>"</font>
00046 <font class="preprocessor">#endif</font>
00047 <font class="preprocessor"></font>
00048 <font class="comment">// defines...</font>
00049
00050
00051 <font class="keyword">namespace </font>nFANTOM100
00052 {
00053 <font class="comment">// forward declarations...</font>
00054
00055 <font class="comment">// typedefs...</font>
00056
00057 <font class="comment">// classes...</font>
00058
00063 <font class="keyword">class </font>iNXT
00064 {
00065 <font class="comment">// methods</font>
00066 <font class="keyword">protected</font>:
00067
00069 <font class="keyword">virtual</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#b0">~iNXT</a>() = 0;
00070
00071 <font class="keyword">public</font>:
00072
<a name="l00074"></a><a class="code" href="classnFANTOM100_1_1iNXT.html#s2">00074</a> <font class="keyword">enum</font> tBuffer
00075 {
00076 <font class="comment">// The buffer associated with the standard port.</font>
00077 kBufferStandard,
00078
00079 <font class="comment">// The buffer associated with the high-speed port.</font>
00080 kBufferHighSpeed
00081 };
00082
00084
00096 <font class="keyword">virtual</font> iFile* <a class="code" href="classnFANTOM100_1_1iNXT.html#a0">createFile</a>( ViConstString fileName, tStatus&amp; status ) = 0;
00097
00098
00100
00107 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a1">destroyFile</a>( iFile* filePtr ) = 0;
00108
00109
00111
00128 <font class="keyword">virtual</font> iFileIterator* <a class="code" href="classnFANTOM100_1_1iNXT.html#a2">createFileIterator</a>( ViConstString fileNamePattern,
00129 tStatus&amp; status ) = 0;
00130
00131
00133
00136 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a3">destroyFileIterator</a>( iFileIterator* fileIteratorPtr ) = 0;
00137
00139
00153 <font class="keyword">virtual</font> iModule* <a class="code" href="classnFANTOM100_1_1iNXT.html#a4">createModule</a>( ViConstString moduleName, ViUInt32 moduleID,
00154 ViUInt32 moduleSizeInBytes, ViUInt32 ioMapSizeInBytes, tStatus&amp; status ) = 0;
00155
00157
00164 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a5">destroyModule</a>( iModule* modulePtr ) = 0;
00165
00166
00168
00181 <font class="keyword">virtual</font> iModuleIterator* <a class="code" href="classnFANTOM100_1_1iNXT.html#a6">createModuleIterator</a>( ViConstString moduleNamePattern,
00182 tStatus&amp; status ) = 0;
00183
00184
00186
00189 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a7">destroyModuleIterator</a>( iModuleIterator* moduleIteratorPtr ) = 0;
00190
00192
00209 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a8">getFirmwareVersion</a>( ViUInt8&amp; protocolVersionMajorRef,
00210 ViUInt8&amp; protocolVersionMinorRef, ViUInt8&amp; firmwareVersionMajorRef,
00211 ViUInt8&amp; firmwareVersionMinorRef, tStatus&amp; status ) = 0;
00212
00213
00215
00240 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iNXT.html#a9">sendDirectCommand</a>( ViBoolean requireResponse, <font class="keyword">const</font> ViByte commandBufferPtr[],
00241 ViUInt32 commandBufferSizeInBytes, ViPBuf responseBufferPtr,
00242 ViUInt32 responseBufferSizeInBytes, tStatus&amp; status ) = 0;
00243
00245
00252 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a10">downloadFirmware</a>( <font class="keyword">const</font> ViByte firmwareBufferPtr[],
00253 ViUInt32 firmwareBufferSizeInBytes, tStatus&amp; status ) = 0;
00254
00255
00257
00269 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iNXT.html#a11">write</a>( <font class="keyword">const</font> ViByte bufferPtr[], ViUInt32 numberOfBytes,
00270 tStatus&amp; status ) = 0;
00271
00273
00284 <font class="keyword">virtual</font> ViUInt32 read ( ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus&amp; status ) = 0;
00285
00287
00293 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a13">bootIntoFirmwareDownloadMode</a>( tStatus&amp; status ) = 0;
00294
00296
00304 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a14">setName</a>( ViConstString newName, tStatus&amp; status ) = 0;
00305
00307
00324 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a15">getDeviceInfo</a>( ViChar name[], ViByte bluetoothAddress[],
00325 ViUInt8 signalStrength[], ViUInt32 &amp;availableFlash, tStatus&amp; status ) = 0;
00326
00328
00334 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a16">eraseUserFlash</a>( tStatus&amp; status ) = 0;
00335
00337 <font class="comment">/*</font>
00338 <font class="comment"> The data buffer is not polled if the specified status is fatal.</font>
00339 <font class="comment"></font>
00340 <font class="comment"> \param bufferSelector The buffer from which to read.</font>
00341 <font class="comment"> \param status Status chaining object.</font>
00342 <font class="comment"> \return The number of bytes in the buffer available to be read.</font>
00343 <font class="comment"> */</font>
00344 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iNXT.html#a17">pollAvailableLength</a>( tBuffer bufferSelector, tStatus&amp; status ) = 0;
00345
00347
00356 <font class="keyword">virtual</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1iNXT.html#a18">readBufferData</a>( ViPBuf dataBuffer, tBuffer bufferSelector,
00357 ViUInt32 numberOfBytesToRead, tStatus&amp; status ) = 0;
00358
00360 <font class="comment">/*</font>
00361 <font class="comment"> An example resource string could look like the one of the following:</font>
00362 <font class="comment"> BTH::LEGOBrick::00:16:53:04:05:06::5</font>
00363 <font class="comment"> BTH::LEGOBrick::00:16:53:04:05:06::1</font>
00364 <font class="comment"> BTH::Brick2::00:16:53:44:FF:66</font>
00365 <font class="comment"> USB0::0x0694::0x0002::0016535127BA::RAW</font>
00366 <font class="comment"> </font>
00367 <font class="comment"> \param resourceString Populated with the resource string. The resource string must</font>
00368 <font class="comment"> have a capacity of 256 bytes.</font>
00369 <font class="comment"> \param status Status chaining object.</font>
00370 <font class="comment"> */</font>
00371 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a19">getResourceString</a>( ViChar resourceString[], tStatus&amp; status ) = 0;
00372
00374 <font class="comment">/*</font>
00375 <font class="comment"> \param status Status chaining object.</font>
00376 <font class="comment"> */</font>
00377 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#a20">bluetoothFactoryReset</a>( tStatus&amp; status ) = 0;
00378
00380
00393 nFANTOM100_kExport <font class="keyword">static</font> iNXT* _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d0">createNXT</a>( ViConstString resourceString,
00394 tStatus&amp; status, ViBoolean checkFirmwareVersion = <font class="keyword">true</font> );
00395
00397
00400 nFANTOM100_kExport <font class="keyword">static</font> <font class="keywordtype">void</font> _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d1">destroyNXT</a>( iNXT* nxtPtr );
00401
00403
00417 nFANTOM100_kExport <font class="keyword">static</font> iNXTIterator* _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d2">createNXTIterator</a>(
00418 ViBoolean searchBluetooth, ViUInt32 bluetoothSearchTimeoutInSeconds,
00419 tStatus&amp; status );
00420
00422 <font class="comment">/*</font>
00423 <font class="comment"> \param iterPtr A pointer to the iNXTIterator object to destroy.</font>
00424 <font class="comment"> */</font>
00425 nFANTOM100_kExport <font class="keyword">static</font> <font class="keywordtype">void</font> _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d3">destroyNXTIterator</a>( iNXTIterator* iterPtr );
00426
00428
00444 nFANTOM100_kExport <font class="keyword">static</font> <font class="keywordtype">void</font> _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d4">pairBluetooth</a>( ViConstString resourceName,
00445 ViConstString passkey, ViChar pairedResourceName[], tStatus&amp; status );
00446
00448
00457 nFANTOM100_kExport <font class="keyword">static</font> <font class="keywordtype">void</font> _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d5">unpairBluetooth</a>( ViConstString resourceName,
00458 tStatus&amp; status );
00459
00461
00470 nFANTOM100_kExport <font class="keyword">static</font> ViBoolean _VI_FUNCC <a class="code" href="classnFANTOM100_1_1iNXT.html#d6">isPaired</a>( ViConstString resourceName,
00471 tStatus&amp; status );
00472
00474
00481 nFANTOM100_kExport <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1iNXT.html#d7">findDeviceInFirmwareDownloadMode</a>( ViChar resourceName[],
00482 tStatus&amp; status );
00483
00484
00485 <font class="keyword">private</font>:
00486
00487 };
00488
00489 <font class="comment">// constants...</font>
00490
00491 } <font class="comment">// namespace nFANTOM100</font>
00492
00493
00494 <font class="comment">// declarations for globally-scoped globals...</font>
00495
00496 <font class="comment">// typedefs...</font>
00497 <font class="keyword">typedef</font> ViObject nFANTOM100_iNXT;
00498
00499 <font class="comment">// prototypes...</font>
00500 <font class="keyword">extern</font> <font class="stringliteral">"C"</font>
00501 {
00502
00503 nFANTOM100_kExport nFANTOM100_iNXTIterator _VI_FUNCC nFANTOM100_createNXTIterator(
00504 ViBoolean searchBluetooth,
00505 ViUInt32 bluetoothSearchTimeoutInSeconds,
00506 ViStatus* status );
00507
00508 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_destroyNXTIterator(
00509 nFANTOM100_iNXTIterator iterPtr,
00510 ViStatus* status );
00511
00512 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_pairBluetooth(
00513 ViConstString resourceName,
00514 ViConstString passkey,
00515 ViChar pairedResourceName[],
00516 ViStatus* status );
00517
00518 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_unpairBluetooth(
00519 ViConstString resourceName,
00520 ViStatus* status );
00521
00522 nFANTOM100_kExport ViBoolean _VI_FUNCC nFANTOM100_isPaired(
00523 ViConstString resourceName,
00524 ViStatus* status );
00525
00526 nFANTOM100_kExport nFANTOM100_iNXT _VI_FUNCC nFANTOM100_createNXT(
00527 ViConstString resourceString,
00528 ViStatus* status,
00529 ViBoolean checkFirmwareVersion );
00530
00531 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_destroyNXT(
00532 nFANTOM100_iNXT nxtPtr,
00533 ViStatus* status );
00534
00535 nFANTOM100_kExport nFANTOM100_iFile _VI_FUNCC nFANTOM100_iNXT_createFile(
00536 nFANTOM100_iNXT nxtPtr,
00537 ViConstString fileName,
00538 ViStatus* status );
00539
00540 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_destroyFile(
00541 nFANTOM100_iNXT nxtPtr,
00542 nFANTOM100_iFile filePtr,
00543 ViStatus* status );
00544
00545 nFANTOM100_kExport nFANTOM100_iFileIterator _VI_FUNCC nFANTOM100_iNXT_createFileIterator(
00546 nFANTOM100_iNXT nxtPtr,
00547 ViConstString fileNamePattern,
00548 ViStatus* status );
00549
00550 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_destroyFileIterator(
00551 nFANTOM100_iNXT nxtPtr,
00552 nFANTOM100_iFileIterator fileIteratorPtr,
00553 ViStatus* status );
00554
00555 nFANTOM100_kExport nFANTOM100_iModule _VI_FUNCC nFANTOM100_iNXT_createModule(
00556 nFANTOM100_iNXT nxtPtr,
00557 ViConstString moduleName,
00558 ViUInt32 moduleID,
00559 ViUInt32 moduleSize,
00560 ViUInt32 ioMapSizeInBytes,
00561 ViStatus* status );
00562
00563 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_destroyModule(
00564 nFANTOM100_iNXT nxtPtr,
00565 nFANTOM100_iModule modulePtr,
00566 ViStatus* status );
00567
00568 nFANTOM100_kExport nFANTOM100_iModuleIterator _VI_FUNCC nFANTOM100_iNXT_createModuleIterator(
00569 nFANTOM100_iNXT nxtPtr,
00570 ViConstString moduleNamePattern,
00571 ViStatus* status );
00572
00573 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_destroyModuleIterator(
00574 nFANTOM100_iNXT nxtPtr,
00575 nFANTOM100_iModuleIterator moduleIteratorPtr,
00576 ViStatus* status );
00577
00578 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_getFirmwareVersion(
00579 nFANTOM100_iNXT nxtPtr,
00580 ViUInt8* protocolVersionMajorPtr,
00581 ViUInt8* protocolVersionMinorPtr,
00582 ViUInt8* firmwareVersionMajorPtr,
00583 ViUInt8* firmwareVersionMinorPtr,
00584 ViStatus* status );
00585
00586 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_sendDirectCommand(
00587 nFANTOM100_iNXT nxtPtr,
00588 ViBoolean requireResponse,
00589 <font class="keyword">const</font> ViByte commandBufferPtr[],
00590 ViUInt32 commandBufferSizeInBytes,
00591 ViPBuf responseBufferPtr,
00592 ViUInt32 responseBufferSizeInBytes,
00593 ViStatus* status );
00594
00595 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_findDeviceInFirmwareDownloadMode(
00596 ViChar resourceString[],
00597 ViStatus* status );
00598
00599 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_downloadFirmware(
00600 nFANTOM100_iNXT nxtPtr,
00601 <font class="keyword">const</font> ViByte firmwareBufferPtr[],
00602 ViUInt32 firmwareBufferSize,
00603 ViStatus* status );
00604
00605 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_write(
00606 nFANTOM100_iNXT nxtPtr,
00607 <font class="keyword">const</font> ViByte bufferPtr[],
00608 ViUInt32 numberOfBytes,
00609 ViStatus* status );
00610
00611 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_read(
00612 nFANTOM100_iNXT nxtPtr,
00613 ViPBuf bufferPtr,
00614 ViUInt32 numberOfBytes,
00615 ViStatus* status );
00616
00617 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_bootIntoFirmwareDownloadMode(
00618 ViConstString resouceName,
00619 ViStatus* status );
00620
00621 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_setName(
00622 nFANTOM100_iNXT nxtPtr,
00623 ViConstString newName,
00624 ViStatus* status );
00625
00626 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_getDeviceInfo(
00627 nFANTOM100_iNXT nxtPtr,
00628 ViChar name[],
00629 ViByte bluetoothAddress[],
00630 ViUInt8 signalStrength[],
00631 ViUInt32* availableFlash,
00632 ViStatus* status );
00633
00634 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_eraseUserFlash(
00635 nFANTOM100_iNXT nxtPtr,
00636 ViStatus* status );
00637
00638 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_pollAvailableLength(
00639 nFANTOM100_iNXT nxtPtr,
00640 ViUInt32 bufferIndex,
00641 ViStatus* status );
00642
00643 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_readBufferData(
00644 nFANTOM100_iNXT nxtPtr,
00645 ViPBuf dataBuffer,
00646 ViUInt32 bufferIndex,
00647 ViUInt32 numberOfBytesToRead,
00648 ViStatus* status );
00649
00650 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_getResourceString(
00651 nFANTOM100_iNXT nxtPtr,
00652 ViChar resourceString[],
00653 ViStatus* status );
00654
00655 nFANTOM100_kExport <font class="keywordtype">void</font> _VI_FUNCC nFANTOM100_iNXT_bluetoothFactoryReset(
00656 nFANTOM100_iNXT nxtPtr,
00657 ViStatus* status );
00658
00659
00660 } <font class="comment">// extern "C"</font>
00661
00662
00663 <font class="comment">// inline functions and function macros...</font>
00664
00665
00666 <font class="preprocessor">#endif // ___fantom_iNXT_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,107 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>iNXT.h File Reference</h1>Interface for a LEGO MINDSTORMS NXT and declaration of its factory.
<a href="#_details">More...</a>
<p>
<code>#include "platform.h"</code><br>
<code>#include "<a class="el" href="iFile_8h-source.html">iFile.h</a>"</code><br>
<code>#include "<a class="el" href="iFileIterator_8h-source.html">iFileIterator.h</a>"</code><br>
<code>#include "<a class="el" href="iModule_8h-source.html">iModule.h</a>"</code><br>
<code>#include "<a class="el" href="iModuleIterator_8h-source.html">iModuleIterator.h</a>"</code><br>
<code>#include "<a class="el" href="iNXTIterator_8h-source.html">iNXTIterator.h</a>"</code><br>
<p>
<a href="iNXT_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iNXT.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="iNXT.h::nFANTOM100_iNXT"></a>
typedef ViObject&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT</b></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="iNXT.h::nFANTOM100_createNXTIterator"></a>
nFANTOM100_kExport nFANTOM100_iNXTIterator <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_createNXTIterator</b> (ViBoolean searchBluetooth, ViUInt32 bluetoothSearchTimeoutInSeconds, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="iNXT.h::nFANTOM100_destroyNXTIterator"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_destroyNXTIterator</b> (nFANTOM100_iNXTIterator iterPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="iNXT.h::nFANTOM100_pairBluetooth"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_pairBluetooth</b> (ViConstString resourceName, ViConstString passkey, ViChar pairedResourceName[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="iNXT.h::nFANTOM100_unpairBluetooth"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_unpairBluetooth</b> (ViConstString resourceName, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="iNXT.h::nFANTOM100_isPaired"></a>
nFANTOM100_kExport ViBoolean <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_isPaired</b> (ViConstString resourceName, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="iNXT.h::nFANTOM100_createNXT"></a>
nFANTOM100_kExport nFANTOM100_iNXT <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_createNXT</b> (ViConstString resourceString, ViStatus *status, ViBoolean checkFirmwareVersion)</td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="iNXT.h::nFANTOM100_destroyNXT"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_destroyNXT</b> (nFANTOM100_iNXT nxtPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="iNXT.h::nFANTOM100_iNXT_createFile"></a>
nFANTOM100_kExport nFANTOM100_iFile <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_createFile</b> (nFANTOM100_iNXT nxtPtr, ViConstString fileName, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="iNXT.h::nFANTOM100_iNXT_destroyFile"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_destroyFile</b> (nFANTOM100_iNXT nxtPtr, nFANTOM100_iFile filePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="iNXT.h::nFANTOM100_iNXT_createFileIterator"></a>
nFANTOM100_kExport nFANTOM100_iFileIterator <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_createFileIterator</b> (nFANTOM100_iNXT nxtPtr, ViConstString fileNamePattern, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="iNXT.h::nFANTOM100_iNXT_destroyFileIterator"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_destroyFileIterator</b> (nFANTOM100_iNXT nxtPtr, nFANTOM100_iFileIterator fileIteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a12" doxytag="iNXT.h::nFANTOM100_iNXT_createModule"></a>
nFANTOM100_kExport nFANTOM100_iModule <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_createModule</b> (nFANTOM100_iNXT nxtPtr, ViConstString moduleName, ViUInt32 moduleID, ViUInt32 moduleSize, ViUInt32 ioMapSizeInBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a13" doxytag="iNXT.h::nFANTOM100_iNXT_destroyModule"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_destroyModule</b> (nFANTOM100_iNXT nxtPtr, nFANTOM100_iModule modulePtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a14" doxytag="iNXT.h::nFANTOM100_iNXT_createModuleIterator"></a>
nFANTOM100_kExport nFANTOM100_iModuleIterator <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_createModuleIterator</b> (nFANTOM100_iNXT nxtPtr, ViConstString moduleNamePattern, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a15" doxytag="iNXT.h::nFANTOM100_iNXT_destroyModuleIterator"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_destroyModuleIterator</b> (nFANTOM100_iNXT nxtPtr, nFANTOM100_iModuleIterator moduleIteratorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a16" doxytag="iNXT.h::nFANTOM100_iNXT_getFirmwareVersion"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_getFirmwareVersion</b> (nFANTOM100_iNXT nxtPtr, ViUInt8 *protocolVersionMajorPtr, ViUInt8 *protocolVersionMinorPtr, ViUInt8 *firmwareVersionMajorPtr, ViUInt8 *firmwareVersionMinorPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="iNXT.h::nFANTOM100_iNXT_sendDirectCommand"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_sendDirectCommand</b> (nFANTOM100_iNXT nxtPtr, ViBoolean requireResponse, const ViByte commandBufferPtr[], ViUInt32 commandBufferSizeInBytes, ViPBuf responseBufferPtr, ViUInt32 responseBufferSizeInBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a18" doxytag="iNXT.h::nFANTOM100_iNXT_findDeviceInFirmwareDownloadMode"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_findDeviceInFirmwareDownloadMode</b> (ViChar resourceString[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="iNXT.h::nFANTOM100_iNXT_downloadFirmware"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_downloadFirmware</b> (nFANTOM100_iNXT nxtPtr, const ViByte firmwareBufferPtr[], ViUInt32 firmwareBufferSize, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a20" doxytag="iNXT.h::nFANTOM100_iNXT_write"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_write</b> (nFANTOM100_iNXT nxtPtr, const ViByte bufferPtr[], ViUInt32 numberOfBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a21" doxytag="iNXT.h::nFANTOM100_iNXT_read"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_read</b> (nFANTOM100_iNXT nxtPtr, ViPBuf bufferPtr, ViUInt32 numberOfBytes, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a22" doxytag="iNXT.h::nFANTOM100_iNXT_bootIntoFirmwareDownloadMode"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_bootIntoFirmwareDownloadMode</b> (ViConstString resouceName, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a23" doxytag="iNXT.h::nFANTOM100_iNXT_setName"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_setName</b> (nFANTOM100_iNXT nxtPtr, ViConstString newName, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a24" doxytag="iNXT.h::nFANTOM100_iNXT_getDeviceInfo"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_getDeviceInfo</b> (nFANTOM100_iNXT nxtPtr, ViChar name[], ViByte bluetoothAddress[], ViUInt8 signalStrength[], ViUInt32 *availableFlash, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a25" doxytag="iNXT.h::nFANTOM100_iNXT_eraseUserFlash"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_eraseUserFlash</b> (nFANTOM100_iNXT nxtPtr, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a26" doxytag="iNXT.h::nFANTOM100_iNXT_pollAvailableLength"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_pollAvailableLength</b> (nFANTOM100_iNXT nxtPtr, ViUInt32 bufferIndex, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a27" doxytag="iNXT.h::nFANTOM100_iNXT_readBufferData"></a>
nFANTOM100_kExport ViUInt32 <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_readBufferData</b> (nFANTOM100_iNXT nxtPtr, ViPBuf dataBuffer, ViUInt32 bufferIndex, ViUInt32 numberOfBytesToRead, ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a28" doxytag="iNXT.h::nFANTOM100_iNXT_getResourceString"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_getResourceString</b> (nFANTOM100_iNXT nxtPtr, ViChar resourceString[], ViStatus *status)</td></tr>
<tr><td nowrap align=right valign=top><a name="a29" doxytag="iNXT.h::nFANTOM100_iNXT_bluetoothFactoryReset"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><b>nFANTOM100_iNXT_bluetoothFactoryReset</b> (nFANTOM100_iNXT nxtPtr, ViStatus *status)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface for a LEGO MINDSTORMS NXT and declaration of its factory.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,38 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>LEGO MINDSTORMS NXT Driver</h1>
<p>
<h3 align="center">1.0.2f0</h3>
<p>
The <a class="el" href="main_8cpp.html">main.cpp</a> file contains a simple example.
<p>
The below commands are the most basic way to build this example. Using an Integrated Development Environment such as Visual Studio or Xcode may be easier.
<p>
To build this example on Windows:
<p>
cl.exe /I &lt;<em>path to SDK include directory</em>&gt; &lt;<em>path to fantom.lib in SDK</em>&gt; <a class="el" href="main_8cpp.html">main.cpp</a>
<p>
To build this example on Mac OS X 10.4:
<p>
gcc-3.3 -I &lt;<em>path to SDK include directory</em>&gt; -framework Fantom -dylib_file Library/Frameworks/VISA.framework/Versions/A/VISA:/Library/Frameworks/VISA.framework/Versions /A/VISA -lstdc++ <a class="el" href="main_8cpp.html">main.cpp</a>
<p>
Note that you will need to have the VISA and NiSpyLog frameworks installed in order to link the example. A development version of NI-VISA, which includes the VISA and NiSpyLog frameworks may be downloaded from <a href="http://www.ni.com/support/">National Instruments</a>.
<p>
The following design class diagrams may help understand the Fantom API.
<p>
<div align="center">
<img src="MajorClasses.jpg" alt="MajorClasses.jpg">
</div>
<div align="center">
<img src="ProtocolCommands.jpg" alt="ProtocolCommands.jpg">
</div>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,188 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>main.cpp File Reference</h1>Fantom Driver Example.
<a href="#_details">More...</a>
<p>
<code>#include "<a class="el" href="iNXT_8h-source.html">fantom/iNXT.h</a>"</code><br>
<code>#include "<a class="el" href="iNXTIterator_8h-source.html">fantom/iNXTIterator.h</a>"</code><br>
<code>#include "<a class="el" href="tStatus_8h-source.html">fantom/tStatus.h</a>"</code><br>
<code>#include &lt;string.h&gt;</code><br>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="main.cpp::main"></a>
int _VI_FUNCC&nbsp;</td><td valign=bottom><b>main</b> (int argc, char **argv)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Fantom Driver Example.
<p>
<p>
<p>
<div class="fragment"><pre>
<font class="comment">/*</font>
<font class="comment"> <20> Copyright 2006,</font>
<font class="comment"> National Instruments Corporation.</font>
<font class="comment"> All rights reserved.</font>
<font class="comment"></font>
<font class="comment"> Originated: 10 March 2006</font>
<font class="comment">*/</font>
<font class="comment">// includes...</font>
<font class="preprocessor">#include "<a class="code" href="iNXT_8h.html">fantom/iNXT.h</a>"</font>
<font class="preprocessor">#include "<a class="code" href="iNXTIterator_8h.html">fantom/iNXTIterator.h</a>"</font>
<font class="preprocessor">#include "<a class="code" href="tStatus_8h.html">fantom/tStatus.h</a>"</font>
<font class="preprocessor">#include &lt;string.h&gt;</font>
<font class="comment">// globally-scoped globals...</font>
<font class="comment">// private globals...</font>
<font class="comment">// methods...</font>
<font class="keywordtype">int</font> _VI_FUNCC main( <font class="keywordtype">int</font> argc, <font class="keywordtype">char</font>** argv )<font class="keyword"></font>
<font class="keyword"></font>{
<a class="code" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a> status;
<a class="code" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a>* nxtIteratorPtr = NULL;
<a class="code" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a>* nxtPtr = NULL;
<a class="code" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a>* filePtr = NULL;
<a class="code" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a>* fileIteratorPtr = NULL;
<font class="comment">// Create an NXT iterator object which is used to find all accessible NXT devices.</font>
nxtIteratorPtr = <a class="code" href="classnFANTOM100_1_1iNXT.html#d2">nFANTOM100::iNXT::createNXTIterator</a>(
<font class="keyword">false</font> <font class="comment">/* don't search for NXTs over Bluetooth (only search USB) */</font>,
0 <font class="comment">/* timeout for Bluetooth discovery ignored */</font>, status );
<font class="comment">// Creating the NXT iterator object could fail, better check status before dereferencing a</font>
<font class="comment">// potentially NULL pointer.</font>
<font class="keywordflow">if</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
<font class="comment">// Create an NXT object for the first NXT that was found. Note that if a NXT is found</font>
<font class="comment">// over BT, the computer and the NXT must be paired before an NXT object can be</font>
<font class="comment">// created. This can be done programatically using the iNXT::pairBluetooth method.</font>
nxtPtr = nxtIteratorPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXTIterator.html#a2">getNXT</a>( status );
<font class="comment">// Destroy the NXT iterator object which we no longer need</font>
<a class="code" href="classnFANTOM100_1_1iNXT.html#d3">nFANTOM100::iNXT::destroyNXTIterator</a>( nxtIteratorPtr );
}
<font class="comment">// Creating the NXT object could fail, better check status before dereferencing a potentially</font>
<font class="comment">// NULL pointer.</font>
<font class="keywordflow">if</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
ViUInt8 protocolVersionMajor = 0;
ViUInt8 protocolVersionMinor = 0;
ViUInt8 firmwareVersionMajor = 0;
ViUInt8 firmwareVersionMinor = 0;
<font class="comment">// Query the version numbers for the protocol and firmware installed on the NXT.</font>
nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a8">getFirmwareVersion</a>( protocolVersionMajor, protocolVersionMinor,
firmwareVersionMajor, firmwareVersionMinor, status );
<font class="comment">// This is a direct command to play a tone.</font>
ViUInt8 directCommandBuffer[] = { 0x03, 0x00, 0x18, 0x10, 0x00 };
<font class="comment">// Send the direct command to the NXT.</font>
nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a9">sendDirectCommand</a>( <font class="keyword">false</font> <font class="comment">/* a response is not required for this direct command */</font>,
reinterpret_cast&lt; ViByte* &gt;( directCommandBuffer ), <font class="keyword">sizeof</font>( directCommandBuffer ),
NULL <font class="comment">/* no response buffer */</font>, 0 <font class="comment">/* no response buffer, specify 0 for size */</font>, status );
<font class="comment">// Create a file object</font>
filePtr = nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a0">createFile</a>( <font class="stringliteral">"example.log"</font>, status );
}
<font class="comment">// Creating the file object could fail, better check status before dereferencing a</font>
<font class="comment">// potentially NULL pointer.</font>
<font class="keywordflow">if</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
ViUInt8 fileBuffer[100] = {};
ViUInt32 fileSizeInBytes = 100;
<font class="keywordflow">for</font>( ViUInt8 index = 0; index &lt; fileSizeInBytes; ++index )
{
fileBuffer[index] = index;
}
<font class="comment">// Open the file for writing, this will also create this file on the NXT.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a4">openForWrite</a>( fileSizeInBytes, status );
<font class="comment">// Write the file contents.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a10">write</a>( fileBuffer, fileSizeInBytes, status );
<font class="comment">// Close the file.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a8">close</a>( status );
<font class="comment">// Destroy the file object. Note that this does not affect the file on the NXT.</font>
nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a1">destroyFile</a>( filePtr );
<font class="comment">// Create a file iterator object which is used to find files on the NXT.</font>
fileIteratorPtr = nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a2">createFileIterator</a>( <font class="stringliteral">"*.*"</font> <font class="comment">/* find all files on the NXT */</font>,
status );
}
<font class="comment">// Creating the file iterator object could fail, better check status before dereferencing a</font>
<font class="comment">// potentially NULL pointer.</font>
<font class="keywordflow">if</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
ViChar fileName[20];
<font class="comment">// Iterate through all of the files on the NXT until we find our log file. Obviously,</font>
<font class="comment">// this isn't necessary in this simple example but is for illustrative purposes.</font>
<font class="keywordflow">while</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
fileIteratorPtr-&gt;<a class="code" href="classnFANTOM100_1_1iFileIterator.html#a2">getName</a>( fileName, status );
<font class="keywordflow">if</font>( 0 == ::strcmp( fileName, <font class="stringliteral">"example.log"</font> ))
{
<font class="keywordflow">break</font>;
}
fileIteratorPtr-&gt;<a class="code" href="classnFANTOM100_1_1iFileIterator.html#a1">advance</a>( status );
}
<font class="comment">// Now that we have found our log file, create a file object that corresponds to it.</font>
filePtr = fileIteratorPtr-&gt;<a class="code" href="classnFANTOM100_1_1iFileIterator.html#a0">getFile</a>( status );
<font class="comment">// Destroy the file iterator.</font>
nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a3">destroyFileIterator</a>( fileIteratorPtr );
}
<font class="comment">// Creating the file object could fail, better check status before dereferencing a</font>
<font class="comment">// potentially NULL pointer.</font>
<font class="keywordflow">if</font>( status.<a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>())
{
ViUInt8 fileBuffer[100] = {};
ViUInt32 fileSizeInBytes = 100;
<font class="comment">// Open the file for reading.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a3">openForRead</a>( status );
<font class="comment">// Read the file contents.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a9">read</a>( fileBuffer, fileSizeInBytes, status );
<font class="comment">// Close the file.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a8">close</a>( status );
<font class="comment">// Remove the file. This deletes the file from the NXT.</font>
filePtr-&gt;<a class="code" href="classnFANTOM100_1_1iFile.html#a11">remove</a>( status );
<font class="comment">// Destroy the file object.</font>
nxtPtr-&gt;<a class="code" href="classnFANTOM100_1_1iNXT.html#a1">destroyFile</a>( filePtr );
}
<font class="comment">// Destroy the NXT object.</font>
<a class="code" href="classnFANTOM100_1_1iNXT.html#d1">nFANTOM100::iNXT::destroyNXT</a>( nxtPtr );
<font class="keywordflow">return</font> 0;
}
</pre></div>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,62 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>FANTOM: LEGO MINDSTORMS NXT Driver Namespace Members</h1><center>
<a href="#index_k">k</a>&nbsp;|&nbsp;<a href="#index_t">t</a></center>
<p>
Here is a list of all documented namespace members with links to the namespaces they belong to:<a name="index_k"><h3>- k -</h3></a>
<ul>
<li>kStatusBluetoothCacheUpdateFailed
: <a class="el" href="namespacenFANTOM100.html#a47a20">nFANTOM100</a><li>kStatusBluetoothSearchFailed
: <a class="el" href="namespacenFANTOM100.html#a47a5">nFANTOM100</a><li>kStatusCommandMismatch
: <a class="el" href="namespacenFANTOM100.html#a47a18">nFANTOM100</a><li>kStatusDuplicateOpen
: <a class="el" href="namespacenFANTOM100.html#a47a12">nFANTOM100</a><li>kStatusEmptyFile
: <a class="el" href="namespacenFANTOM100.html#a47a13">nFANTOM100</a><li>kStatusFeatureNotImplemented
: <a class="el" href="namespacenFANTOM100.html#a47a24">nFANTOM100</a><li>kStatusFirmwareDownloadFailed
: <a class="el" href="namespacenFANTOM100.html#a47a14">nFANTOM100</a><li>kStatusFWAppendNotPossible
: <a class="el" href="namespacenFANTOM100.html#a47a31">nFANTOM100</a><li>kStatusFWEndOfFile
: <a class="el" href="namespacenFANTOM100.html#a47a39">nFANTOM100</a><li>kStatusFWEndOfFileExpected
: <a class="el" href="namespacenFANTOM100.html#a47a40">nFANTOM100</a><li>kStatusFWFileExists
: <a class="el" href="namespacenFANTOM100.html#a47a29">nFANTOM100</a><li>kStatusFWFileIsBusy
: <a class="el" href="namespacenFANTOM100.html#a47a33">nFANTOM100</a><li>kStatusFWFileIsFull
: <a class="el" href="namespacenFANTOM100.html#a47a30">nFANTOM100</a><li>kStatusFWFileNotFound
: <a class="el" href="namespacenFANTOM100.html#a47a37">nFANTOM100</a><li>kStatusFWHandleAlreadyClosed
: <a class="el" href="namespacenFANTOM100.html#a47a36">nFANTOM100</a><li>kStatusFWIllegalFileName
: <a class="el" href="namespacenFANTOM100.html#a47a26">nFANTOM100</a><li>kStatusFWIllegalHandle
: <a class="el" href="namespacenFANTOM100.html#a47a25">nFANTOM100</a><li>kStatusFWModuleNotFound
: <a class="el" href="namespacenFANTOM100.html#a47a28">nFANTOM100</a><li>kStatusFWNoLinearSpace
: <a class="el" href="namespacenFANTOM100.html#a47a35">nFANTOM100</a><li>kStatusFWNoMoreFiles
: <a class="el" href="namespacenFANTOM100.html#a47a41">nFANTOM100</a><li>kStatusFWNoMoreHandles
: <a class="el" href="namespacenFANTOM100.html#a47a43">nFANTOM100</a><li>kStatusFWNoSpace
: <a class="el" href="namespacenFANTOM100.html#a47a42">nFANTOM100</a><li>kStatusFWNotLinearFile
: <a class="el" href="namespacenFANTOM100.html#a47a38">nFANTOM100</a><li>kStatusFWNoWriteBuffers
: <a class="el" href="namespacenFANTOM100.html#a47a32">nFANTOM100</a><li>kStatusFWOutOfBounds
: <a class="el" href="namespacenFANTOM100.html#a47a27">nFANTOM100</a><li>kStatusFWUndefinedError
: <a class="el" href="namespacenFANTOM100.html#a47a34">nFANTOM100</a><li>kStatusFWUnknownErrorCode
: <a class="el" href="namespacenFANTOM100.html#a47a44">nFANTOM100</a><li>kStatusIllegalOperation
: <a class="el" href="namespacenFANTOM100.html#a47a19">nFANTOM100</a><li>kStatusInvalidFilename
: <a class="el" href="namespacenFANTOM100.html#a47a8">nFANTOM100</a><li>kStatusInvalidIteratorDereference
: <a class="el" href="namespacenFANTOM100.html#a47a9">nFANTOM100</a><li>kStatusLockOperationFailed
: <a class="el" href="namespacenFANTOM100.html#a47a10">nFANTOM100</a><li>kStatusNoMoreItemsFound
: <a class="el" href="namespacenFANTOM100.html#a47a16">nFANTOM100</a><li>kStatusNonNXTDeviceSelected
: <a class="el" href="namespacenFANTOM100.html#a47a21">nFANTOM100</a><li>kStatusPairingFailed
: <a class="el" href="namespacenFANTOM100.html#a47a4">nFANTOM100</a><li>kStatusPortNotFound
: <a class="el" href="namespacenFANTOM100.html#a47a15">nFANTOM100</a><li>kStatusPowerCycleNXT
: <a class="el" href="namespacenFANTOM100.html#a47a23">nFANTOM100</a><li>kStatusRetryConnection
: <a class="el" href="namespacenFANTOM100.html#a47a22">nFANTOM100</a><li>kStatusSizeUnknown
: <a class="el" href="namespacenFANTOM100.html#a47a11">nFANTOM100</a><li>kStatusSystemLibraryNotFound
: <a class="el" href="namespacenFANTOM100.html#a47a6">nFANTOM100</a><li>kStatusTooManyUnconfiguredDevices
: <a class="el" href="namespacenFANTOM100.html#a47a17">nFANTOM100</a><li>kStatusUnpairingFailed
: <a class="el" href="namespacenFANTOM100.html#a47a7">nFANTOM100</a></ul>
<a name="index_t"><h3>- t -</h3></a>
<ul>
<li>tFANTOMStatus
: <a class="el" href="namespacenFANTOM100.html#a47">nFANTOM100</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,243 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>nFANTOM100 Namespace Reference</h1>The namespace for Fantom 1.0.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFile.html">nFANTOM100::iFile</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a file on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iFile.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iFileIterator.html">nFANTOM100::iFileIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for files on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iFileIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModule.html">nFANTOM100::iModule</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a firmware module on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iModule.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iModuleIterator.html">nFANTOM100::iModuleIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iModuleIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html">nFANTOM100::iNXT</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to a LEGO MINDSTORMS NXT.</em> <a href="classnFANTOM100_1_1iNXT.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXTIterator.html">nFANTOM100::iNXTIterator</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Interface to an iterator for LEGO MINDSTORMS NXTs.</em> <a href="classnFANTOM100_1_1iNXTIterator.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1tStatus.html">nFANTOM100::tStatus</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Class that contains a status code and the file name and line number where that status code was generated.</em> <a href="classnFANTOM100_1_1tStatus.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html#a47">tFANTOMStatus</a> { <br>
&nbsp;&nbsp;<b>kStatusFirst</b> = (kStatusOffset + 0),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a4">kStatusPairingFailed</a> = (kStatusOffset + -5),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a5">kStatusBluetoothSearchFailed</a> = (kStatusOffset + -6),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a6">kStatusSystemLibraryNotFound</a> = (kStatusOffset + -7),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a7">kStatusUnpairingFailed</a> = (kStatusOffset + -8),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a8">kStatusInvalidFilename</a> = (kStatusOffset + -9),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a9">kStatusInvalidIteratorDereference</a> = (kStatusOffset + -10),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a10">kStatusLockOperationFailed</a> = (kStatusOffset + -11),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a11">kStatusSizeUnknown</a> = (kStatusOffset + -12),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a12">kStatusDuplicateOpen</a> = (kStatusOffset + -13),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a13">kStatusEmptyFile</a> = (kStatusOffset + -14),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a14">kStatusFirmwareDownloadFailed</a> = (kStatusOffset + -15),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a15">kStatusPortNotFound</a> = (kStatusOffset + -16),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a16">kStatusNoMoreItemsFound</a> = (kStatusOffset + -17),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a17">kStatusTooManyUnconfiguredDevices</a> = (kStatusOffset + -18),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a18">kStatusCommandMismatch</a> = (kStatusOffset + -19),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a19">kStatusIllegalOperation</a> = (kStatusOffset + -20),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a20">kStatusBluetoothCacheUpdateFailed</a> = (kStatusOffset + -21),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a21">kStatusNonNXTDeviceSelected</a> = (kStatusOffset + -22),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a22">kStatusRetryConnection</a> = (kStatusOffset + -23),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a23">kStatusPowerCycleNXT</a> = (kStatusOffset + -24),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a24">kStatusFeatureNotImplemented</a> = (kStatusOffset + -99),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a25">kStatusFWIllegalHandle</a> = (kStatusOffset + -189),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a26">kStatusFWIllegalFileName</a> = (kStatusOffset + -190),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a27">kStatusFWOutOfBounds</a> = (kStatusOffset + -191),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a28">kStatusFWModuleNotFound</a> = (kStatusOffset + -192),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a29">kStatusFWFileExists</a> = (kStatusOffset + -193),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a30">kStatusFWFileIsFull</a> = (kStatusOffset + -194),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a31">kStatusFWAppendNotPossible</a> = (kStatusOffset + -195),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a32">kStatusFWNoWriteBuffers</a> = (kStatusOffset + -196),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a33">kStatusFWFileIsBusy</a> = (kStatusOffset + -197),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a34">kStatusFWUndefinedError</a> = (kStatusOffset + -198),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a35">kStatusFWNoLinearSpace</a> = (kStatusOffset + -199),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a36">kStatusFWHandleAlreadyClosed</a> = (kStatusOffset + -200),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a37">kStatusFWFileNotFound</a> = (kStatusOffset + -201),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a38">kStatusFWNotLinearFile</a> = (kStatusOffset + -202),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a39">kStatusFWEndOfFile</a> = (kStatusOffset + -203),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a40">kStatusFWEndOfFileExpected</a> = (kStatusOffset + -204),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a41">kStatusFWNoMoreFiles</a> = (kStatusOffset + -205),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a42">kStatusFWNoSpace</a> = (kStatusOffset + -206),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a43">kStatusFWNoMoreHandles</a> = (kStatusOffset + -207),
<br>
&nbsp;&nbsp;<a class="el" href="namespacenFANTOM100.html#a47a44">kStatusFWUnknownErrorCode</a> = (kStatusOffset + -208),
<br>
&nbsp;&nbsp;<b>kStatusLast</b> = (kStatusOffset + -999)
<br>
}</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Enumeration of Fantom-specific status codes. NI-VISA status codes may also be returned. These are documented in the NI-VISA Programmer Reference Manual which is available from &lt;<a href="http://ni.com/">http://ni.com/</a>&gt;.</em> <a href="#a47">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a46" doxytag="nFANTOM100::convertStatus"></a>
ViStatus&nbsp;</td><td valign=bottom><b>convertStatus</b> (ViUInt8 firmwareStatus)</td></tr>
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="nFANTOM100::kProtocolFilenameLength"></a>
const ViUInt8&nbsp;</td><td valign=bottom><b>kProtocolFilenameLength</b> = 19</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="nFANTOM100::kStatusOffset"></a>
const ViInt32&nbsp;</td><td valign=bottom><b>kStatusOffset</b> = -142000</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="nFANTOM100::kStatusSuccess"></a>
const ViStatus&nbsp;</td><td valign=bottom><b>kStatusSuccess</b> = VI_SUCCESS</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The namespace for Fantom 1.0.<hr><h2>Enumeration Type Documentation</h2>
<a name="a47" doxytag="nFANTOM100::tFANTOMStatus"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> enum nFANTOM100::tFANTOMStatus
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Enumeration of Fantom-specific status codes. NI-VISA status codes may also be returned. These are documented in the NI-VISA Programmer Reference Manual which is available from &lt;<a href="http://ni.com/">http://ni.com/</a>&gt;.
<p>
<dl compact><dt><b>
Enumeration values:</b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="a47a4" doxytag="kStatusPairingFailed"></a><em>kStatusPairingFailed</em></em>&nbsp;</td><td>
Error: Bluetooth pairing operation failed. Warning: You have already paired with that Bluetooth device.</td></tr>
<tr><td valign=top><em><a name="a47a5" doxytag="kStatusBluetoothSearchFailed"></a><em>kStatusBluetoothSearchFailed</em></em>&nbsp;</td><td>
Error: Bluetooth search failed.</td></tr>
<tr><td valign=top><em><a name="a47a6" doxytag="kStatusSystemLibraryNotFound"></a><em>kStatusSystemLibraryNotFound</em></em>&nbsp;</td><td>
Error: System library not found.</td></tr>
<tr><td valign=top><em><a name="a47a7" doxytag="kStatusUnpairingFailed"></a><em>kStatusUnpairingFailed</em></em>&nbsp;</td><td>
Error: Bluetooth unpairing operation failed.</td></tr>
<tr><td valign=top><em><a name="a47a8" doxytag="kStatusInvalidFilename"></a><em>kStatusInvalidFilename</em></em>&nbsp;</td><td>
Error: Invalid filename specified.</td></tr>
<tr><td valign=top><em><a name="a47a9" doxytag="kStatusInvalidIteratorDereference"></a><em>kStatusInvalidIteratorDereference</em></em>&nbsp;</td><td>
Error: Invalid iterator dereference. (No object to get.).</td></tr>
<tr><td valign=top><em><a name="a47a10" doxytag="kStatusLockOperationFailed"></a><em>kStatusLockOperationFailed</em></em>&nbsp;</td><td>
Error: Resource locking operation failed.</td></tr>
<tr><td valign=top><em><a name="a47a11" doxytag="kStatusSizeUnknown"></a><em>kStatusSizeUnknown</em></em>&nbsp;</td><td>
Error: Could not determine the requested size.</td></tr>
<tr><td valign=top><em><a name="a47a12" doxytag="kStatusDuplicateOpen"></a><em>kStatusDuplicateOpen</em></em>&nbsp;</td><td>
Error: Cannot open two objects at once.</td></tr>
<tr><td valign=top><em><a name="a47a13" doxytag="kStatusEmptyFile"></a><em>kStatusEmptyFile</em></em>&nbsp;</td><td>
Error: File is empty. Warning: The requested file is empty.</td></tr>
<tr><td valign=top><em><a name="a47a14" doxytag="kStatusFirmwareDownloadFailed"></a><em>kStatusFirmwareDownloadFailed</em></em>&nbsp;</td><td>
Error: Firmware download failed.</td></tr>
<tr><td valign=top><em><a name="a47a15" doxytag="kStatusPortNotFound"></a><em>kStatusPortNotFound</em></em>&nbsp;</td><td>
Error: Could not locate virtual serial port.</td></tr>
<tr><td valign=top><em><a name="a47a16" doxytag="kStatusNoMoreItemsFound"></a><em>kStatusNoMoreItemsFound</em></em>&nbsp;</td><td>
Error: No more items found.</td></tr>
<tr><td valign=top><em><a name="a47a17" doxytag="kStatusTooManyUnconfiguredDevices"></a><em>kStatusTooManyUnconfiguredDevices</em></em>&nbsp;</td><td>
Error: Too many unconfigured devices.</td></tr>
<tr><td valign=top><em><a name="a47a18" doxytag="kStatusCommandMismatch"></a><em>kStatusCommandMismatch</em></em>&nbsp;</td><td>
Error: Command mismatch in firmware response.</td></tr>
<tr><td valign=top><em><a name="a47a19" doxytag="kStatusIllegalOperation"></a><em>kStatusIllegalOperation</em></em>&nbsp;</td><td>
Error: Illegal operation.</td></tr>
<tr><td valign=top><em><a name="a47a20" doxytag="kStatusBluetoothCacheUpdateFailed"></a><em>kStatusBluetoothCacheUpdateFailed</em></em>&nbsp;</td><td>
Error: Could not update local Bluetooth cache with new name. Warning: Could not update local Bluetooth cache with new name.</td></tr>
<tr><td valign=top><em><a name="a47a21" doxytag="kStatusNonNXTDeviceSelected"></a><em>kStatusNonNXTDeviceSelected</em></em>&nbsp;</td><td>
Error: Selected device is not an NXT.</td></tr>
<tr><td valign=top><em><a name="a47a22" doxytag="kStatusRetryConnection"></a><em>kStatusRetryConnection</em></em>&nbsp;</td><td>
Error: Communication error. Retry the operation.</td></tr>
<tr><td valign=top><em><a name="a47a23" doxytag="kStatusPowerCycleNXT"></a><em>kStatusPowerCycleNXT</em></em>&nbsp;</td><td>
Error: Could not connect to NXT. Turn the NXT off and then back on before continuing.</td></tr>
<tr><td valign=top><em><a name="a47a24" doxytag="kStatusFeatureNotImplemented"></a><em>kStatusFeatureNotImplemented</em></em>&nbsp;</td><td>
Error: This feature is not yet implemented.</td></tr>
<tr><td valign=top><em><a name="a47a25" doxytag="kStatusFWIllegalHandle"></a><em>kStatusFWIllegalHandle</em></em>&nbsp;</td><td>
Error: Firmware reported an illegal handle.</td></tr>
<tr><td valign=top><em><a name="a47a26" doxytag="kStatusFWIllegalFileName"></a><em>kStatusFWIllegalFileName</em></em>&nbsp;</td><td>
Error: Firmware reported an illegal file name.</td></tr>
<tr><td valign=top><em><a name="a47a27" doxytag="kStatusFWOutOfBounds"></a><em>kStatusFWOutOfBounds</em></em>&nbsp;</td><td>
Error: Firmware reported an out of bounds reference.</td></tr>
<tr><td valign=top><em><a name="a47a28" doxytag="kStatusFWModuleNotFound"></a><em>kStatusFWModuleNotFound</em></em>&nbsp;</td><td>
Error: Firmware could not find module.</td></tr>
<tr><td valign=top><em><a name="a47a29" doxytag="kStatusFWFileExists"></a><em>kStatusFWFileExists</em></em>&nbsp;</td><td>
Error: Firmware reported that the file already exists.</td></tr>
<tr><td valign=top><em><a name="a47a30" doxytag="kStatusFWFileIsFull"></a><em>kStatusFWFileIsFull</em></em>&nbsp;</td><td>
Error: Firmware reported that the file is full.</td></tr>
<tr><td valign=top><em><a name="a47a31" doxytag="kStatusFWAppendNotPossible"></a><em>kStatusFWAppendNotPossible</em></em>&nbsp;</td><td>
Error: Firmware reported the append operation is not possible.</td></tr>
<tr><td valign=top><em><a name="a47a32" doxytag="kStatusFWNoWriteBuffers"></a><em>kStatusFWNoWriteBuffers</em></em>&nbsp;</td><td>
Error: Firmware has no write buffers available.</td></tr>
<tr><td valign=top><em><a name="a47a33" doxytag="kStatusFWFileIsBusy"></a><em>kStatusFWFileIsBusy</em></em>&nbsp;</td><td>
Error: Firmware reported that file is busy.</td></tr>
<tr><td valign=top><em><a name="a47a34" doxytag="kStatusFWUndefinedError"></a><em>kStatusFWUndefinedError</em></em>&nbsp;</td><td>
Error: Firmware reported the undefined error.</td></tr>
<tr><td valign=top><em><a name="a47a35" doxytag="kStatusFWNoLinearSpace"></a><em>kStatusFWNoLinearSpace</em></em>&nbsp;</td><td>
Error: Firmware reported that no linear space is available.</td></tr>
<tr><td valign=top><em><a name="a47a36" doxytag="kStatusFWHandleAlreadyClosed"></a><em>kStatusFWHandleAlreadyClosed</em></em>&nbsp;</td><td>
Error: Firmware reported that handle has already been closed.</td></tr>
<tr><td valign=top><em><a name="a47a37" doxytag="kStatusFWFileNotFound"></a><em>kStatusFWFileNotFound</em></em>&nbsp;</td><td>
Error: Firmware could not find file.</td></tr>
<tr><td valign=top><em><a name="a47a38" doxytag="kStatusFWNotLinearFile"></a><em>kStatusFWNotLinearFile</em></em>&nbsp;</td><td>
Error: Firmware reported that the requested file is not linear.</td></tr>
<tr><td valign=top><em><a name="a47a39" doxytag="kStatusFWEndOfFile"></a><em>kStatusFWEndOfFile</em></em>&nbsp;</td><td>
Error: Firmware reached the end of the file.</td></tr>
<tr><td valign=top><em><a name="a47a40" doxytag="kStatusFWEndOfFileExpected"></a><em>kStatusFWEndOfFileExpected</em></em>&nbsp;</td><td>
Error: Firmware expected an end of file.</td></tr>
<tr><td valign=top><em><a name="a47a41" doxytag="kStatusFWNoMoreFiles"></a><em>kStatusFWNoMoreFiles</em></em>&nbsp;</td><td>
Error: Firmware cannot handle more files.</td></tr>
<tr><td valign=top><em><a name="a47a42" doxytag="kStatusFWNoSpace"></a><em>kStatusFWNoSpace</em></em>&nbsp;</td><td>
Error: Firmware reported the NXT is out of space.</td></tr>
<tr><td valign=top><em><a name="a47a43" doxytag="kStatusFWNoMoreHandles"></a><em>kStatusFWNoMoreHandles</em></em>&nbsp;</td><td>
Error: Firmware could not create a handle.</td></tr>
<tr><td valign=top><em><a name="a47a44" doxytag="kStatusFWUnknownErrorCode"></a><em>kStatusFWUnknownErrorCode</em></em>&nbsp;</td><td>
Error: Firmware reported an unknown error code.</td></tr>
</table>
</dl>
</td>
</tr>
</table>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,13 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>FANTOM: LEGO MINDSTORMS NXT Driver Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
<tr bgcolor="#f0f0f0"><td><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td><td>The namespace for Fantom 1.0</td></tr>
</table>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,330 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>tStatus.h</h1><a href="tStatus_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
00005 <font class="comment">/*</font>
00006 <font class="comment"> <20> Copyright 2005-2006,</font>
00007 <font class="comment"> National Instruments Corporation.</font>
00008 <font class="comment"> All rights reserved.</font>
00009 <font class="comment"></font>
00010 <font class="comment"> File: tStatus.h</font>
00011 <font class="comment"> Originated: 10 March 2005</font>
00012 <font class="comment">*/</font>
00013
00014 <font class="preprocessor">#ifndef ___fantom_tStatus_h___</font>
00015 <font class="preprocessor"></font><font class="preprocessor">#define ___fantom_tStatus_h___</font>
00016 <font class="preprocessor"></font>
00017 <font class="comment">// includes ...</font>
00018
00019 <font class="preprocessor">#ifndef ___fantom_platform_h___</font>
00020 <font class="preprocessor"></font><font class="preprocessor"> #include "platform.h"</font>
00021 <font class="preprocessor">#endif</font>
00022 <font class="preprocessor"></font>
00023 <font class="preprocessor">#include &lt;string.h&gt;</font>
00024
00025
00026 <font class="comment">// defines...</font>
00027
00028 <font class="preprocessor">#define nFANTOM_mLocation __FILE__, __LINE__</font>
00029 <font class="preprocessor"></font>
00030 <font class="preprocessor">#define nFANTOM_ForceToWarning(s) (((s) &gt;= 0 ) ? (s) : -(s))</font>
00031 <font class="preprocessor"></font><font class="preprocessor">#define nFANTOM_ForceToFatal(s) (((s) &lt;= 0 ) ? (s) : -(s))</font>
00032 <font class="preprocessor"></font>
00036 <font class="keyword">namespace </font>nFANTOM100
00037 {
00038 <font class="comment">// forward declarations...</font>
00039
00040 <font class="comment">// typedefs...</font>
00041
00042 <font class="comment">// classes...</font>
00043 <font class="keyword">const</font> ViInt32 kStatusOffset = -142000; <font class="comment">// 0xFFFDD550</font>
00044 <font class="keyword">const</font> ViStatus kStatusSuccess = VI_SUCCESS;
00045
<a name="l00051"></a><a class="code" href="namespacenFANTOM100.html#a47">00051</a> <font class="keyword">enum</font> <a class="code" href="namespacenFANTOM100.html#a47">tFANTOMStatus</a>
00052 {
00053 kStatusFirst = (kStatusOffset + 0),
00054
00057 <a class="code" href="namespacenFANTOM100.html#a47a4">kStatusPairingFailed</a> = (kStatusOffset + -5), <font class="comment">// 0x54B</font>
00058
00060 <a class="code" href="namespacenFANTOM100.html#a47a5">kStatusBluetoothSearchFailed</a> = (kStatusOffset + -6), <font class="comment">// 0x54A</font>
00061
00063 <a class="code" href="namespacenFANTOM100.html#a47a6">kStatusSystemLibraryNotFound</a> = (kStatusOffset + -7), <font class="comment">// 0x549</font>
00064
00066 <a class="code" href="namespacenFANTOM100.html#a47a7">kStatusUnpairingFailed</a> = (kStatusOffset + -8), <font class="comment">// 0x548</font>
00067
00069 <a class="code" href="namespacenFANTOM100.html#a47a8">kStatusInvalidFilename</a> = (kStatusOffset + -9), <font class="comment">// 0x547</font>
00070
00072 <a class="code" href="namespacenFANTOM100.html#a47a9">kStatusInvalidIteratorDereference</a> = (kStatusOffset + -10), <font class="comment">// 0x546</font>
00073
00075 <a class="code" href="namespacenFANTOM100.html#a47a10">kStatusLockOperationFailed</a> = (kStatusOffset + -11), <font class="comment">// 0x545</font>
00076
00078 <a class="code" href="namespacenFANTOM100.html#a47a11">kStatusSizeUnknown</a> = (kStatusOffset + -12), <font class="comment">// 0x544</font>
00079
00081 <a class="code" href="namespacenFANTOM100.html#a47a12">kStatusDuplicateOpen</a> = (kStatusOffset + -13), <font class="comment">// 0x543</font>
00082
00085 <a class="code" href="namespacenFANTOM100.html#a47a13">kStatusEmptyFile</a> = (kStatusOffset + -14), <font class="comment">// 0x542</font>
00086
00088 <a class="code" href="namespacenFANTOM100.html#a47a14">kStatusFirmwareDownloadFailed</a> = (kStatusOffset + -15), <font class="comment">// 0x541</font>
00089
00091 <a class="code" href="namespacenFANTOM100.html#a47a15">kStatusPortNotFound</a> = (kStatusOffset + -16), <font class="comment">// 0x540</font>
00092
00094 <a class="code" href="namespacenFANTOM100.html#a47a16">kStatusNoMoreItemsFound</a> = (kStatusOffset + -17), <font class="comment">// 0x53F</font>
00095
00097 <a class="code" href="namespacenFANTOM100.html#a47a17">kStatusTooManyUnconfiguredDevices</a> = (kStatusOffset + -18), <font class="comment">// 0x53E</font>
00098
00100 <a class="code" href="namespacenFANTOM100.html#a47a18">kStatusCommandMismatch</a> = (kStatusOffset + -19), <font class="comment">// 0x53D</font>
00101
00103 <a class="code" href="namespacenFANTOM100.html#a47a19">kStatusIllegalOperation</a> = (kStatusOffset + -20), <font class="comment">// 0x53C</font>
00104
00107 <a class="code" href="namespacenFANTOM100.html#a47a20">kStatusBluetoothCacheUpdateFailed</a> = (kStatusOffset + -21), <font class="comment">// 0x53B</font>
00108
00110 <a class="code" href="namespacenFANTOM100.html#a47a21">kStatusNonNXTDeviceSelected</a> = (kStatusOffset + -22), <font class="comment">// 0x53A</font>
00111
00113 <a class="code" href="namespacenFANTOM100.html#a47a22">kStatusRetryConnection</a> = (kStatusOffset + -23), <font class="comment">// 0x539</font>
00114
00116 <a class="code" href="namespacenFANTOM100.html#a47a23">kStatusPowerCycleNXT</a> = (kStatusOffset + -24), <font class="comment">// 0x538</font>
00117
00119 <a class="code" href="namespacenFANTOM100.html#a47a24">kStatusFeatureNotImplemented</a> = (kStatusOffset + -99), <font class="comment">// 0x4ED</font>
00120
00122 <a class="code" href="namespacenFANTOM100.html#a47a25">kStatusFWIllegalHandle</a> = (kStatusOffset + -189), <font class="comment">// 0x493</font>
00123
00125 <a class="code" href="namespacenFANTOM100.html#a47a26">kStatusFWIllegalFileName</a> = (kStatusOffset + -190), <font class="comment">// 0x492</font>
00126
00128 <a class="code" href="namespacenFANTOM100.html#a47a27">kStatusFWOutOfBounds</a> = (kStatusOffset + -191), <font class="comment">// 0x491</font>
00129
00131 <a class="code" href="namespacenFANTOM100.html#a47a28">kStatusFWModuleNotFound</a> = (kStatusOffset + -192), <font class="comment">// 0x490</font>
00132
00134 <a class="code" href="namespacenFANTOM100.html#a47a29">kStatusFWFileExists</a> = (kStatusOffset + -193), <font class="comment">// 0x48F</font>
00135
00137 <a class="code" href="namespacenFANTOM100.html#a47a30">kStatusFWFileIsFull</a> = (kStatusOffset + -194), <font class="comment">// 0x48E</font>
00138
00140 <a class="code" href="namespacenFANTOM100.html#a47a31">kStatusFWAppendNotPossible</a> = (kStatusOffset + -195), <font class="comment">// 0x48D</font>
00141
00143 <a class="code" href="namespacenFANTOM100.html#a47a32">kStatusFWNoWriteBuffers</a> = (kStatusOffset + -196), <font class="comment">// 0x48C</font>
00144
00146 <a class="code" href="namespacenFANTOM100.html#a47a33">kStatusFWFileIsBusy</a> = (kStatusOffset + -197), <font class="comment">// 0x48B</font>
00147
00149 <a class="code" href="namespacenFANTOM100.html#a47a34">kStatusFWUndefinedError</a> = (kStatusOffset + -198), <font class="comment">// 0x48A</font>
00150
00152 <a class="code" href="namespacenFANTOM100.html#a47a35">kStatusFWNoLinearSpace</a> = (kStatusOffset + -199), <font class="comment">// 0x489</font>
00153
00155 <a class="code" href="namespacenFANTOM100.html#a47a36">kStatusFWHandleAlreadyClosed</a> = (kStatusOffset + -200), <font class="comment">// 0x488</font>
00156
00158 <a class="code" href="namespacenFANTOM100.html#a47a37">kStatusFWFileNotFound</a> = (kStatusOffset + -201), <font class="comment">// 0x487</font>
00159
00161 <a class="code" href="namespacenFANTOM100.html#a47a38">kStatusFWNotLinearFile</a> = (kStatusOffset + -202), <font class="comment">// 0x486</font>
00162
00164 <a class="code" href="namespacenFANTOM100.html#a47a39">kStatusFWEndOfFile</a> = (kStatusOffset + -203), <font class="comment">// 0x485</font>
00165
00167 <a class="code" href="namespacenFANTOM100.html#a47a40">kStatusFWEndOfFileExpected</a> = (kStatusOffset + -204), <font class="comment">// 0x484</font>
00168
00170 <a class="code" href="namespacenFANTOM100.html#a47a41">kStatusFWNoMoreFiles</a> = (kStatusOffset + -205), <font class="comment">// 0x483</font>
00171
00173 <a class="code" href="namespacenFANTOM100.html#a47a42">kStatusFWNoSpace</a> = (kStatusOffset + -206), <font class="comment">// 0x482</font>
00174
00176 <a class="code" href="namespacenFANTOM100.html#a47a43">kStatusFWNoMoreHandles</a> = (kStatusOffset + -207), <font class="comment">// 0x481</font>
00177
00179 <a class="code" href="namespacenFANTOM100.html#a47a44">kStatusFWUnknownErrorCode</a> = (kStatusOffset + -208), <font class="comment">// 0x480</font>
00180
00181 kStatusLast = (kStatusOffset + -999)
00182 };
00183
<a name="l00188"></a><a class="code" href="classnFANTOM100_1_1tStatus.html">00188</a> <font class="keyword">class </font>tStatus
00189 {
00190 <font class="keyword">public</font>:
00191
00192 <font class="comment">// methods</font>
00193
00195
<a name="l00200"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a0">00200</a> <font class="keyword">inline</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a0">tStatus</a>( <font class="keywordtype">void</font> ) :
00201 _code( VI_SUCCESS ),
00202 _lineNumber( 0 )
00203 {
00204 _fileName[0] = <font class="charliteral">'\0'</font>;
00205 }
00206
00207
00209
<a name="l00214"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a1">00214</a> <font class="keyword">inline</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a0">tStatus</a>( <font class="keyword">const</font> tStatus&amp; status ) :
00215 _code( status._code ),
00216 _lineNumber( status._lineNumber )
00217 {
00218 ::strcpy( _fileName, <font class="stringliteral">""</font> );
00219 ::strncat( _fileName, status._fileName, kMaxFileNameLength - 1 );
00220 }
00221
00222
00224
<a name="l00233"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a2">00233</a> <font class="keyword">inline</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a0">tStatus</a>( ViStatus code, <font class="keyword">const</font> <font class="keywordtype">char</font>* fileName, ViUInt32 lineNumber ) :
00234 _code( code ),
00235 _lineNumber( lineNumber )
00236 {
00237 ::strcpy( _fileName, <font class="stringliteral">""</font> );
00238 ::strncat( _fileName, reinterpret_cast&lt;const char*&gt;( fileName ), kMaxFileNameLength - 1 );
00239 }
00240
00241
<a name="l00243"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a3">00243</a> <font class="keyword">inline</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a3">~tStatus</a>()<font class="keyword"></font>
00244 <font class="keyword"> </font>{
00245 }
00246
00247
00249
<a name="l00252"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a4">00252</a> <font class="keyword">inline</font> ViStatus <a class="code" href="classnFANTOM100_1_1tStatus.html#a4">getCode</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00253 <font class="keyword"> </font>{
00254 <font class="keywordflow">return</font> _code;
00255 }
00256
00257
00259
<a name="l00262"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a5">00262</a> <font class="keyword">inline</font> <font class="keyword">const</font> <font class="keywordtype">char</font>* <a class="code" href="classnFANTOM100_1_1tStatus.html#a5">getFileName</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00263 <font class="keyword"> </font>{
00264 <font class="keywordflow">return</font> _fileName;
00265 }
00266
00267
00269 <font class="comment">// generated.</font>
<a name="l00274"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a6">00274</a> <font class="comment"></font> <font class="keyword">inline</font> ViUInt32 <a class="code" href="classnFANTOM100_1_1tStatus.html#a6">getLineNumber</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00275 <font class="keyword"> </font>{
00276 <font class="keywordflow">return</font> _lineNumber;
00277 }
00278
00279
00281 <font class="comment">// appropriate.</font>
<a name="l00293"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a7">00293</a> <font class="comment"></font> <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a7">setCode</a>( ViStatus code, <font class="keyword">const</font> <font class="keywordtype">char</font>* fileName, ViUInt32 lineNumber )<font class="keyword"></font>
00294 <font class="keyword"> </font>{
00295 <font class="keywordflow">if</font>(( <a class="code" href="classnFANTOM100_1_1tStatus.html#a13">isSuccess</a>() &amp;&amp; code != VI_SUCCESS ) || ( <a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>() &amp;&amp; code &lt; VI_SUCCESS ))
00296 {
00297 _code = code;
00298 _lineNumber = lineNumber;
00299 ::strcpy( _fileName, <font class="stringliteral">""</font> );
00300 ::strncat( _fileName, fileName, kMaxFileNameLength - 1 );
00301 }
00302 }
00303
00304
00306
<a name="l00315"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a8">00315</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a8">assign</a>( <font class="keyword">const</font> tStatus&amp; status )<font class="keyword"></font>
00316 <font class="keyword"> </font>{
00317 <a class="code" href="classnFANTOM100_1_1tStatus.html#a7">setCode</a>( status.getCode(), status.getFileName(), status.getLineNumber());
00318 }
00319
00320
00322
<a name="l00325"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a9">00325</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a9">clear</a>( <font class="keywordtype">void</font> )<font class="keyword"></font>
00326 <font class="keyword"> </font>{
00327 _code = VI_SUCCESS;
00328 _lineNumber = 0;
00329 _fileName[0] = <font class="charliteral">'\0'</font>;
00330 }
00331
00332
00334
<a name="l00340"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a10">00340</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a10">isFatal</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00341 <font class="keyword"> </font>{
00342 <font class="keywordflow">return</font> ( _code &lt; VI_SUCCESS );
00343 }
00344
00346
<a name="l00352"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a11">00352</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a11">isNotFatal</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00353 <font class="keyword"> </font>{
00354 <font class="keywordflow">return</font> !<a class="code" href="classnFANTOM100_1_1tStatus.html#a10">isFatal</a>();
00355 }
00356
00357
00359
<a name="l00365"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a12">00365</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a12">isWarning</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00366 <font class="keyword"> </font>{
00367 <font class="keywordflow">return</font> ( _code &gt; VI_SUCCESS );
00368 }
00369
00370
00372
<a name="l00378"></a><a class="code" href="classnFANTOM100_1_1tStatus.html#a13">00378</a> <font class="keyword">inline</font> <font class="keywordtype">bool</font> <a class="code" href="classnFANTOM100_1_1tStatus.html#a13">isSuccess</a>( <font class="keywordtype">void</font> )<font class="keyword"> const</font>
00379 <font class="keyword"> </font>{
00380 <font class="keywordflow">return</font> ( _code == VI_SUCCESS );
00381 }
00382
00383 <font class="keyword">private</font>:
00384
00385 <font class="comment">// declared private to prevent assignment</font>
00386 tStatus&amp; operator=(<font class="keyword">const</font> tStatus&amp; rhs);
00387
00388 <font class="keyword">enum</font>
00389 {
00390 kMaxFileNameLength = 101
00391 };
00392
00393 ViStatus _code;
00394 ViChar _fileName[ kMaxFileNameLength ];
00395 ViUInt32 _lineNumber;
00396 };
00397
00398
00399 <font class="comment">// declarations for globally-scoped globals...</font>
00400 <font class="keyword">inline</font> ViStatus convertStatus( ViUInt8 firmwareStatus )<font class="keyword"></font>
00401 <font class="keyword"> </font>{
00402 ViStatus status;
00403 <font class="keywordflow">switch</font> (firmwareStatus)
00404 {
00405 <font class="comment">// each of these cases corresponds to a unique status code returned by the firmware</font>
00406 <font class="keywordflow">case</font> 0x00 : status = kStatusSuccess;
00407 <font class="keywordflow">break</font>;
00408 <font class="keywordflow">case</font> 0x81 : status = <a class="code" href="namespacenFANTOM100.html#a47a43">kStatusFWNoMoreHandles</a>; <font class="comment">// No more available handles</font>
00409 <font class="keywordflow">break</font>;
00410 <font class="keywordflow">case</font> 0x82 : status = <a class="code" href="namespacenFANTOM100.html#a47a42">kStatusFWNoSpace</a>; <font class="comment">// No space</font>
00411 <font class="keywordflow">break</font>;
00412 <font class="keywordflow">case</font> 0x83 : status = <a class="code" href="namespacenFANTOM100.html#a47a41">kStatusFWNoMoreFiles</a>; <font class="comment">// No more files</font>
00413 <font class="keywordflow">break</font>;
00414 <font class="keywordflow">case</font> 0x84 : status = <a class="code" href="namespacenFANTOM100.html#a47a40">kStatusFWEndOfFileExpected</a>; <font class="comment">// End of file expected</font>
00415 <font class="keywordflow">break</font>;
00416 <font class="keywordflow">case</font> 0x85 : status = <a class="code" href="namespacenFANTOM100.html#a47a39">kStatusFWEndOfFile</a>; <font class="comment">// End of file reached</font>
00417 <font class="keywordflow">break</font>;
00418 <font class="keywordflow">case</font> 0x86 : status = <a class="code" href="namespacenFANTOM100.html#a47a38">kStatusFWNotLinearFile</a>; <font class="comment">// Not a linear file</font>
00419 <font class="keywordflow">break</font>;
00420 <font class="keywordflow">case</font> 0x87 : status = <a class="code" href="namespacenFANTOM100.html#a47a37">kStatusFWFileNotFound</a>; <font class="comment">// File not found</font>
00421 <font class="keywordflow">break</font>;
00422 <font class="keywordflow">case</font> 0x88 : status = <a class="code" href="namespacenFANTOM100.html#a47a36">kStatusFWHandleAlreadyClosed</a>; <font class="comment">// Handle is already closed</font>
00423 <font class="keywordflow">break</font>;
00424 <font class="keywordflow">case</font> 0x89 : status = <a class="code" href="namespacenFANTOM100.html#a47a35">kStatusFWNoLinearSpace</a>; <font class="comment">// No linear space available</font>
00425 <font class="keywordflow">break</font>;
00426 <font class="keywordflow">case</font> 0x8A : status = <a class="code" href="namespacenFANTOM100.html#a47a34">kStatusFWUndefinedError</a>; <font class="comment">// Undefined error</font>
00427 <font class="keywordflow">break</font>;
00428 <font class="keywordflow">case</font> 0x8B : status = <a class="code" href="namespacenFANTOM100.html#a47a33">kStatusFWFileIsBusy</a>; <font class="comment">// File is busy</font>
00429 <font class="keywordflow">break</font>;
00430 <font class="keywordflow">case</font> 0x8C : status = <a class="code" href="namespacenFANTOM100.html#a47a32">kStatusFWNoWriteBuffers</a>; <font class="comment">// No write buffers available</font>
00431 <font class="keywordflow">break</font>;
00432 <font class="keywordflow">case</font> 0x8D : status = <a class="code" href="namespacenFANTOM100.html#a47a31">kStatusFWAppendNotPossible</a>; <font class="comment">// Append not possible</font>
00433 <font class="keywordflow">break</font>;
00434 <font class="keywordflow">case</font> 0x8E : status = <a class="code" href="namespacenFANTOM100.html#a47a30">kStatusFWFileIsFull</a>; <font class="comment">// File is full</font>
00435 <font class="keywordflow">break</font>;
00436 <font class="keywordflow">case</font> 0x8F : status = <a class="code" href="namespacenFANTOM100.html#a47a29">kStatusFWFileExists</a>; <font class="comment">// File already exists</font>
00437 <font class="keywordflow">break</font>;
00438 <font class="keywordflow">case</font> 0x90 : status = <a class="code" href="namespacenFANTOM100.html#a47a28">kStatusFWModuleNotFound</a>; <font class="comment">// Module not found</font>
00439 <font class="keywordflow">break</font>;
00440 <font class="keywordflow">case</font> 0x91 : status = <a class="code" href="namespacenFANTOM100.html#a47a27">kStatusFWOutOfBounds</a>; <font class="comment">// Out of module I/O map boundary</font>
00441 <font class="keywordflow">break</font>;
00442 <font class="keywordflow">case</font> 0x92 : status = <a class="code" href="namespacenFANTOM100.html#a47a26">kStatusFWIllegalFileName</a>; <font class="comment">// Illegal file name</font>
00443 <font class="keywordflow">break</font>;
00444 <font class="keywordflow">case</font> 0x93 : status = <a class="code" href="namespacenFANTOM100.html#a47a25">kStatusFWIllegalHandle</a>; <font class="comment">// Illegal handle</font>
00445 <font class="keywordflow">break</font>;
00446 <font class="keywordflow">default</font> :
00447 status = <a class="code" href="namespacenFANTOM100.html#a47a44">kStatusFWUnknownErrorCode</a>;
00448 }
00449 <font class="keywordflow">return</font> status;
00450 }
00451
00452 <font class="comment">// prototypes...</font>
00453
00454 } <font class="comment">// namespace nFANTOM100</font>
00455
00456 <font class="comment">// inline functions and function macros...</font>
00457
00458 <font class="preprocessor">#endif // ___fantom_tStatus_h___</font>
</font></pre></div><p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,33 @@
<html><body>
<!-- Generated by Doxygen 1.2.11.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; </center>
<hr><h1>tStatus.h File Reference</h1>Status code class.
<a href="#_details">More...</a>
<p>
<code>#include &lt;string.h&gt;</code><br>
<code>#include "platform.h"</code><br>
<p>
<a href="tStatus_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Namespaces</h2></td></tr>
<tr><td nowrap align=right valign=top>namespace &nbsp;</td><td valign=bottom><a class="el" href="namespacenFANTOM100.html">nFANTOM100</a></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="tStatus.h::nFANTOM_mLocation"></a>
#define&nbsp;</td><td valign=bottom><b>nFANTOM_mLocation</b>&nbsp;&nbsp;&nbsp;__FILE__, __LINE__</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="tStatus.h::nFANTOM_ForceToWarning"></a>
#define&nbsp;</td><td valign=bottom><b>nFANTOM_ForceToWarning</b>(s)&nbsp;&nbsp;&nbsp;(((s) &gt;= 0 ) ? (s) : -(s))</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="tStatus.h::nFANTOM_ForceToFatal"></a>
#define&nbsp;</td><td valign=bottom><b>nFANTOM_ForceToFatal</b>(s)&nbsp;&nbsp;&nbsp;(((s) &lt;= 0 ) ? (s) : -(s))</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Status code class.
<p>
<p>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>

View File

@@ -0,0 +1,280 @@
/*!
\file iFile.h
\brief Interface for a file on a LEGO MINDSTORMS NXT.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iFile.h
Originated: 12 May 2005
*/
#ifndef ___fantom_iFile_h___
#define ___fantom_iFile_h___
// includes...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
// forward declarations...
// typedefs...
// classes...
/*!
\class iFile
\brief Interface to a file on a LEGO MINDSTORMS NXT.
*/
class iFile
{
friend class tNXT;
// methods
protected:
//! Destructor
virtual ~iFile() = 0;
public:
//! Retrieves the name of this file.
/*!
\param fileName Populated with the name of this file. The file name character array
must be able to accomodate a NULL-terminated, 15.3 formatted module name. That
is, it must have a capacity of 20 bytes.
*/
virtual void getName( ViChar fileName[] ) const = 0;
//! Retrieves the total size of this file in bytes.
/*!
The returned size is undefined if the specified status is fatal.
\param status Status chaining object.
\return The total size of this file in bytes.
*/
virtual ViUInt32 getSize( tStatus& status ) = 0;
//! Retrieves the remaining available size, in bytes, in this file.
/*!
This number is only helpful for data logging files, which can contain variable
amounts of data.
The returned size is undefined if the specified status is fatal.
\param status Status chaining object.
\return The remaining available size, in bytes, in this file.
*/
virtual ViUInt32 getAvailableSize( tStatus& status ) = 0;
//! Opens this file for reading.
/*!
Opens, for reading, the file that corresponds to this object on the associated NXT.
The file is not opened if the specified status is fatal.
\param status Status chaining object.
*/
virtual void openForRead( tStatus& status ) = 0;
//! Open this file for writing.
/*!
Opens, for writing, the file that corresponds to this object on the associated NXT.
If this file doesn't exist on the NXT, it is created. If this file does exist on
the NXT, an error is generated.
The file is not opened if the specified status is fatal.
\param sizeInBytes Size of the data, in bytes, that will be written to this file.
\param status Status chaining object.
*/
virtual void openForWrite( ViUInt32 sizeInBytes, tStatus& status ) = 0;
//! Open this file for linear (contiguous) writing.
/*!
Opens, for linear (contiguous) writing, the file that corresponds to this object on
the associated NXT. If this file doesn't exist on the NXT, it is created. If this
file does exist on the NXT, an error is generated.
The file is not opened if the specified status is fatal.
\param sizeInBytes Size of the data, in bytes, that will be written to the file.
\param status Status chaining object.
*/
virtual void openForLinearWrite( ViUInt32 sizeInBytes, tStatus& status ) = 0;
//! Open this data file for writing.
/*!
Opens, for writing, the data file that corresponds to this object on the associated
NXT. This data file differs from normal files in that a data file can be closed
before the entire file has been written. If this file doesn't exist on the NXT,
it is created. If this file does exist on the NXT, an error is generated.
The file is not opened if the specified status is fatal.
\param sizeInBytes Size of the data, in bytes, that may be written to the file.
\param status Status chaining object.
*/
virtual void openForDataWrite( ViUInt32 sizeInBytes, tStatus& status ) = 0;
//! Open this data file for appending additional data.
/*!
Opens, for appending additional data, the data file that corresponds to this object
on the associated NXT. If this file doesn't exist on the NXT, the behavior is
undefined. If this file does exist on the NXT, the data that is written is
appended to the end of the exiting data.
The file is not opened if the specified status is fatal.
\param status Status chaining object.
*/
virtual void openForDataAppend( tStatus& status ) = 0;
//! Closes this file.
/*!
Closes the file that corresponds to this object on the associated NXT.
The file is not closed if the specified status is fatal.
\param status Status chaining object.
*/
virtual void close( tStatus& status ) = 0;
//! Reads from this file
/*!
Reads the specified number of bytes from this file into the specified buffer. No data
is read if the specified status is fatal. The ownership of the buffer is not
transferred to this file object.
\param bufferPtr A pointer to the buffer that will be populated with the data that is
read. The capacity of the specified buffer must be at least the specified number
of bytes.
\param numberOfBytes Number of bytes to read.
\param status Status chaining object.
\return The number of bytes actually read from this file.
\pre This file must have been opened for reading with the iFile::openForRead method.
\post The specified buffer may be deallocated.
*/
virtual ViUInt32 read( ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus& status ) = 0;
//! Writes to this file
/*!
Writes the specified number of bytes from the specified buffer to this file. No data
is written if the specified status is fatal. The ownership of the buffer is not
transferred to this file object.
\param bufferPtr A pointer to the buffer that contains the data that will be written.
The capacity of the specified buffer must be at least the specified number of
bytes.
\param numberOfBytes Number of bytes to write to this file.
\param status Status chaining object.
\return The number of bytes actually written to this file.
\pre This file must have previously been opened for writing.
\post The specified buffer may be deallocated.
*/
virtual ViUInt32 write( const ViByte bufferPtr[], ViUInt32 numberOfBytes,
tStatus& status ) = 0;
//! Removes this file
/*!
Removes the file that corresponds to this object on the associated NXT.
The file is not removed if the specified status is fatal.
\param status Status chaining object.
*/
virtual void remove( tStatus& status ) = 0;
};
// constants...
const ViUInt8 kProtocolFilenameLength = 19; // 15 basename + 1 dot + 3 extension = 19
} // namespace nFANTOM100
// declarations for globally-scoped globals...
// typedefs...
typedef ViObject nFANTOM100_iFile;
// prototypes...
extern "C"
{
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_getName(
nFANTOM100_iFile filePtr,
ViChar fileName[],
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getSize(
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFile_getAvailableSize(
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_openForRead(
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_openForWrite(
nFANTOM100_iFile filePtr,
ViUInt32 sizeInBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_openForLinearWrite(
nFANTOM100_iFile filePtr,
ViUInt32 sizeInBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_openForDataWrite(
nFANTOM100_iFile filePtr,
ViUInt32 sizeInBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_openForDataAppend(
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_close(
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_read(
nFANTOM100_iFile filePtr,
ViPBuf bufferPtr,
ViUInt32 numberOfBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_write(
nFANTOM100_iFile filePtr,
const ViByte bufferPtr[],
ViUInt32 numberOfBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFile_remove(
nFANTOM100_iFile filePtr,
ViStatus* status );
}
#endif // ___fantom_iFile_h___

View File

@@ -0,0 +1,133 @@
/*!
\file iFileIterator.h
\brief Interface for an iterator for files on a LEGO MINDSTORMS NXT.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iFileIterator.h
Originated: 12 May 2005
*/
#ifndef ___fantom_iFileIterator_h___
#define ___fantom_iFileIterator_h___
// includes...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_iFile_h___
#include "iFile.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
// forward declarations...
// typedefs...
// classes...
/*!
\class iFileIterator
\brief Interface to an iterator for files on a LEGO MINDSTORMS NXT.
*/
class iFileIterator
{
friend class tNXT;
// methods
protected:
//! Destructor
virtual ~iFileIterator() = 0;
public:
//! Creates a file object for the file referenced by this iterator.
/*!
Creates file object for the file referenced by this iterator. An object is not
created if the specified status is fatal or if this iterator refers to the end of
the list. The returned file object should be destroyed using the
iNXT::destroyFile method.
\param status Status chaining object.
\return A pointer to the iFile object that was created.
*/
virtual iFile* getFile( tStatus& status ) = 0;
//! Advances this iterator.
/*!
Advances this iterator to the next file that matches the previously specified file
name pattern. If no more files match, this iterator is advanced to the end of the
list.
The iterator is not advanced if the specified status is fatal.
If this iterator is already at the end of the list, a fatal status will be generated.
\param status Status chaining object.
*/
virtual void advance( tStatus& status ) = 0;
//! Retrieves the name of the file to which this iterator refers.
/*!
\param fileName Populated with the name of the file to which this iterator refers.
The file name character array must be able to accomodate a NULL-terminated, 15.3
formatted file name. This is, it must have a capacity of 20 bytes.
\param status Status chaining object.
*/
virtual void getName( ViChar fileName[], tStatus& status ) = 0;
//! Retrieves the total size, in bytes, of the file to which this iterator refers.
/*!
\param status Status chaining object.
\return The total size of the file in bytes.
*/
virtual ViUInt32 getSize( tStatus& status ) = 0;
};
// constants...
} // namespace nFANTOM100
// declarations for globally-scoped globals...
// typedefs
typedef ViObject nFANTOM100_iFileIterator;
extern "C"
{
nFANTOM100_kExport nFANTOM100_iFile _VI_FUNCC nFANTOM100_iFileIterator_getFile(
nFANTOM100_iFileIterator iteratorPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFileIterator_advance(
nFANTOM100_iFileIterator iteratorPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iFileIterator_getName(
nFANTOM100_iFileIterator iteratorPtr,
ViChar filename[],
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iFileIterator_getSize(
nFANTOM100_iFileIterator iteratorPtr,
ViStatus* status );
}
#endif // ___fantom_iFileIterator_h___

View File

@@ -0,0 +1,154 @@
/*!
\file iModule.h
\brief Interface for a firmware module on a LEGO MINDSTORMS NXT.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iModule.h
Originated: 8 Aug 2005
*/
#ifndef ___fantom_iModule_h___
#define ___fantom_iModule_h___
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
/*!
\class iModule
\brief Interface to a firmware module on a LEGO MINDSTORMS NXT.
*/
class iModule
{
friend class tNXT;
// methods
protected:
//! Destructor
virtual ~iModule() = 0;
public:
//! Retrieves the name of this module.
/*!
\param moduleName Populated with the name of this module. The module name character
array must be able to accomodate a NULL-terminated, 15.3 formatted module name.
That is, it must have a capacity of 20 bytes.
*/
virtual void getName( ViChar moduleName[] ) const = 0;
//! Retrieves the internal module ID of this module.
/*!
\return The internal module ID of this module.
*/
virtual ViUInt32 getModuleID( void ) const = 0;
//! Retrieves the size in bytes of this module.
/*!
\return The size in bytes of this module.
*/
virtual ViUInt32 getModuleSize( void ) const = 0;
//! Retrieves the size in bytes of the I/O map associated with this module.
/*!
\return The size in bytes of the I/O map associated with this module.
*/
virtual ViUInt32 getModuleIOMapSize( void ) const = 0;
//! Reads a portion of this module's I/O map.
/*!
Reads the data located at [I/O map address] + [specified offset in bytes] into the
specified data buffer. The read will attempt to copy the specified number of
bytes. No read occurs if the specified status is fatal. The ownership of data
buffer is not transferred to this module object.
\param offsetInBytes The index of the byte in the I/O map at which to start the read.
\param numberOfBytes The number of bytes that should be read from the I/O map.
\param dataBufferPtr A pointer to the data buffer that will be populated with the
data that is read. The capacity of the specified data buffer must be at least the
specified number of bytes.
\param status Status chaining object.
\return The number of bytes actually read from the I/O map.
\post The specified data buffer may be deallocated.
*/
virtual ViUInt32 readIOMap( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes,
ViPBuf dataBufferPtr, tStatus& status ) = 0;
//! Writes a portion of this module's I/O map.
/*!
Writes the specified data into this module's I/O map. The write starts at [I/O map
address] + [specified offset in bytes] and stops after the specified number of
bytes have been written. No write occurs if the specified status is fatal. The
ownership of data buffer is not transferred to this module object.
\param offsetInBytes The index of the byte in the I/O map at which to start the write.
\param numberOfBytes The number of bytes to write into the I/O map.
\param dataBufferPtr A pointer to the data buffer that contains the data that will be
written. The capacity of the specified data buffer must be at least the specified
number of bytes.
\param status Status chaining object.
\return The number of bytes actually written into the I/O map.
\post The specified data buffer may be deallocated.
*/
virtual ViUInt32 writeIOMap( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes,
const ViByte dataBufferPtr[], tStatus& status ) = 0;
};
}; // nFANTOM100
typedef ViObject nFANTOM100_iModule;
extern "C"
{
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iModule_getName(
nFANTOM100_iModule modulePtr,
ViChar moduleName[],
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleID(
nFANTOM100_iModule modulePtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleSize(
nFANTOM100_iModule modulePtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getIOMapSize(
nFANTOM100_iModule modulePtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_readIOMap(
nFANTOM100_iModule modulePtr,
ViUInt32 offset,
ViUInt32 numberBytesToRead,
ViPBuf dataBuffer,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_writeIOMap(
nFANTOM100_iModule modulePtr,
ViUInt32 offset,
ViUInt32 numberBytesToWrite,
const ViByte dataBuffer[],
ViStatus* status );
}
#endif // ___fantom_iModule_h___

View File

@@ -0,0 +1,123 @@
/*!
\file iModuleIterator.h
\brief Interface for an iterator for firmware modules on a LEGO MINDSTORMS NXT.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iModuleIterator.h
Originated: 8 Aug 2005
*/
#ifndef ___fantom_iModuleIterator_h___
#define ___fantom_iModuleIterator_h___
// includes...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_iModule_h___
#include "iModule.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
// forward declarations...
// typedefs...
// classes...
/*!
\class iModuleIterator
\brief Interface to an iterator for firmware modules on a LEGO MINDSTORMS NXT.
*/
class iModuleIterator
{
friend class tNXT;
// methods
protected:
//! Destructor
virtual ~iModuleIterator() = 0;
public:
//! Creates a module object for the module referenced by this iterator.
/*!
Creates a module object for the module referenced by this iterator. An object is not
created if the specified status is fatal or if this iterator refers to the end of
the list. The returned module object should be destroyed using the
iNXT::destroyModule method.
\param status Status chaining object.
\return A pointer to the iModule object that was created.
*/
virtual iModule* getModule( tStatus& status ) = 0;
//! Advances this iterator.
/*!
Advances this iterator to the next module that matches the previously specified
module name pattern. If no more modules match, this iterator is advanced to the
end of the list.
The iterator is not advanced if the specified status is fatal.
If this iterator is already at the end of the list, a fatal status will be generated.
\param status Status chaining object.
*/
virtual void advance( tStatus& status ) = 0;
//! Retrieves the name of the module to which this iterator refers.
/*!
\param moduleName Populated with the name of the module to which this iterator
refers. The module name character array must be able to accomodate a
NULL-terminated, 15.3 formatted module name. This is, it must have a capacity of
20 bytes.
\param status Status chaining object.
*/
virtual void getName( ViChar moduleName[], tStatus& status ) = 0;
};
// constants...
} // namespace nFANTOM100
// declarations for globally-scoped globals...
// typedefs
typedef ViObject nFANTOM100_iModuleIterator;
extern "C"
{
nFANTOM100_kExport nFANTOM100_iModule _VI_FUNCC nFANTOM100_iModuleIterator_getModule(
nFANTOM100_iModuleIterator iteratorPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iModuleIterator_advance(
nFANTOM100_iModuleIterator iteratorPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iModuleIterator_getName(
nFANTOM100_iModuleIterator iteratorPtr,
ViChar moduleName[],
ViStatus* status );
}
#endif // ___fantom_iModuleIterator_h___

View File

@@ -0,0 +1,666 @@
/*!
\file iNXT.h
\brief Interface for a LEGO MINDSTORMS NXT and declaration of its factory.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iNXT.h
Originated: 12 May 2005
*/
#ifndef ___fantom_iNXT_h___
#define ___fantom_iNXT_h___
// includes...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_iFile_h___
#include "iFile.h"
#endif
#ifndef ___fantom_iFileIterator_h___
#include "iFileIterator.h"
#endif
#ifndef ___fantom_iModule_h___
#include "iModule.h"
#endif
#ifndef ___fantom_iModuleIterator_h___
#include "iModuleIterator.h"
#endif
#ifndef ___fantom_iNXTIterator_h___
#include "iNXTIterator.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
// forward declarations...
// typedefs...
// classes...
/*!
\class iNXT
\brief Interface to a LEGO MINDSTORMS NXT.
*/
class iNXT
{
// methods
protected:
//! Destructor
virtual ~iNXT() = 0;
public:
//! Enumeration of buffer types on the NXT
enum tBuffer
{
// The buffer associated with the standard port.
kBufferStandard,
// The buffer associated with the high-speed port.
kBufferHighSpeed
};
//! Creates a file object for the file with the specified name on this NXT.
/*!
Invoking this method does not actually create a file on the NXT. Rather, this method
creates a file object which may be used to open a file on this NXT, for reading or
writing, or may be used to delete a file on the NXT.
A file is not created if the specified status is fatal.
The returned file object should be destroyed using the iNXT::destroyFile method.
\param fileName Name of the file. The file name must conform to the 15.3 naming
convention and be NULL-terminated.
\param status Status chaining object.
\return A pointer to the iFile object that was created.
*/
virtual iFile* createFile( ViConstString fileName, tStatus& status ) = 0;
//! Destroys the specified file object.
/*!
Invoking this method does not actually delete a file on the NXT. Rather, this method
destroys a file object which may have been used to open a file on this NXT for
reading or writing, or may have been used to delete a file on the NXT.
\param filePtr Pointer to the file object to destroy.
*/
virtual void destroyFile( iFile* filePtr ) = 0;
//! Creates an iterator to the files on this NXT.
/*!
The iterator traverses those files on this NXT that match the specified file name
pattern.
The iterator is not created if the specified status is fatal.
The returned file iterator object should be destroyed using the
iNXT::destroyFileIterator method.
\param fileNamePattern The file name pattern against which to match when iterating
over the files on this NXT. The file name pattern may contain wildcards. The
wildcards may be used in the following manner: *.* (all files on this NXT);
fileBaseName.* (all files on this NXT with the specified base name regardless of
extension); *.fileExtension (all files on this NXT with the specified extension,
regardless of basename); fileBaseName.fileExtension (the file on this NXT with the
specified base name and extension).
\param status Status chaining object.
\return A pointer to the iFileIterator object that was created.
*/
virtual iFileIterator* createFileIterator( ViConstString fileNamePattern,
tStatus& status ) = 0;
//! Destroys the specified file iterator.
/*!
\param fileIteratorPtr A pointer to the file iterator to destroy.
*/
virtual void destroyFileIterator( iFileIterator* fileIteratorPtr ) = 0;
//! Creates a module object for the module with the specified name on this NXT.
/*!
Invoking this method does not actually create a module on the NXT. Rather, this
method creates a module object which may be used to access an I/O map on this NXT.
A module is not created if the specified status is fatal.
The returned module object should be destroyed using the iNXT::destroyModule method.
\param moduleName The name of the module. The module name must conform to the 15.3
naming convention and be NULL-terminated.
\param moduleID The NXT-internal ID of the module.
\param moduleSizeInBytes The number of bytes the module occupies.
\param ioMapSizeInBytes The number of bytes the module's I/O map occupies.
\param status Status chaining object.
\return A pointer to the iModule object that was created.
*/
virtual iModule* createModule( ViConstString moduleName, ViUInt32 moduleID,
ViUInt32 moduleSizeInBytes, ViUInt32 ioMapSizeInBytes, tStatus& status ) = 0;
//! Destroys the specified module object.
/*!
Invoking this method does not actually delete a module on this NXT. Rather, this
method destroys a module object which may have been used to access an I/O map on
this NXT.
\param modulePtr Pointer to the module object to destroy.
*/
virtual void destroyModule( iModule* modulePtr ) = 0;
//! Creates an iterator to the modules on this NXT.
/*!
The iterator traverses those modules on this NXT that match the specified module name
pattern.
The iterator is not created if the specified status is fatal.
The returned module iterator object should be destroyed using the
iNXT::destroyModuleIterator method.
\param moduleNamePattern The module name pattern against which to match. The module
name pattern may contain wildcards. Since extensions are implicit in the case of
modules, a wildcard may only be used for the module name, as in "*.mod".
\param status Status chaining object.
\return A pointer to an iModuleIterator object that was created.
*/
virtual iModuleIterator* createModuleIterator( ViConstString moduleNamePattern,
tStatus& status ) = 0;
//! Destroys the specified module iterator.
/*!
\param moduleIteratorPtr A pointer to the module iterator object to destroy.
*/
virtual void destroyModuleIterator( iModuleIterator* moduleIteratorPtr ) = 0;
//! Retrieves the firmware version of this NXT.
/*!
Returns the protocol and firmware versions installed on this NXT.
The current version of this driver supports a protocol major version number of 1 and a
firmware major version number of 1. If either of these major version numbers is a
value other than 1, the driver will not attempt to communicate to the NXT.
The returned versions are undefined if the specified status is fatal.
\param protocolVersionMajorRef Reference to parameter that will be populated with the
major protocol version.
\param protocolVersionMinorRef Reference to parameter that will be populated with the
minor protocol version.
\param firmwareVersionMajorRef Reference to parameter that will be populated with the
major firmware verison.
\param firmwareVersionMinorRef Reference to parameter that will be populated with the
minor firmware verison.
\param status Status chaining object.
*/
virtual void getFirmwareVersion( ViUInt8& protocolVersionMajorRef,
ViUInt8& protocolVersionMinorRef, ViUInt8& firmwareVersionMajorRef,
ViUInt8& firmwareVersionMinorRef, tStatus& status ) = 0;
//! Sends the specified direct command to this NXT.
/*!
For more information on direct commands, refer to the LEGO MINDSTORMS NXT Direct
commands document.
The command is not sent if the specified status is fatal.
The command buffer must be non-NULL and the command buffer size in bytes must be
non-zero.
If require response is set to true, the response buffer must be non-NULL and the
response buffer size in bytes must be non-zero.
If require response is set to false, the response buffer must be NULL and the
response buffer size in bytes must be zero.
Both of the buffer size parameters must be small enough to fit in one packet for
whichever bus the NXT is connected over (USB or Bluetooth). This means the
maximum length for a direct command over USB is 63 bytes; over Bluetooth, 65,533
bytes.
If any of these requirements are violated, VI_ERROR_USER_BUF will be returned.
\param requireResponse Boolean flag indicating if a response is required.
\param commandBufferPtr Buffer containing the direct command to send to the NXT.
\param commandBufferSizeInBytes Number of bytes in the command buffer.
\param responseBufferPtr Buffer that will be populated with the response to the direct
command.
\param responseBufferSizeInBytes Capacity of the response buffer in bytes.
\param status Status chaining object.
\return Number of bytes written to the response buffer.
*/
virtual ViUInt32 sendDirectCommand( ViBoolean requireResponse, const ViByte commandBufferPtr[],
ViUInt32 commandBufferSizeInBytes, ViPBuf responseBufferPtr,
ViUInt32 responseBufferSizeInBytes, tStatus& status ) = 0;
//! Downloads firmware to this NXT.
/*!
The NXT must already be in firmware-download mode.
\param firmwareBufferPtr The buffer containing the new firmware binary image.
\param firmwareBufferSizeInBytes The number of bytes in the new firmware image.
\param status Status chaining object.
*/
virtual void downloadFirmware( const ViByte firmwareBufferPtr[],
ViUInt32 firmwareBufferSizeInBytes, tStatus& status ) = 0;
//! Writes, in a generic fashion, to this NXT.
/*!
Writes a command directly to this NXT. In general, this method isn't used and,
instead, the sendDirectCommand and other more specific methods are invoked when
communication to the NXT.
The write doesn not occur if the specified status is fatal.
\param bufferPtr A pointer to the buffer that contains the command that will be
written.
\param numberOfBytes Size of the buffer.
\param status Status chaining object.
\return The number of bytes actually written to the NXT.
*/
virtual ViUInt32 write( const ViByte bufferPtr[], ViUInt32 numberOfBytes,
tStatus& status ) = 0;
//! Reads, in a generic fashion, from this NXT.
/*!
Reads a response directly from this NXT. In general, this method isn't used and,
instead, the sendDirectCommand and other more specific methods are invoked when
communication to the NXT.
The command is not sent if the specified status is fatal.
\param bufferPtr A pointer to the buffer that will be populated with the response.
\param numberOfBytes Number of bytes expected to be read from this NXT.
\param status Status chaining object.
\return The number of bytes actually read from this NXT.
*/
virtual ViUInt32 read ( ViPBuf bufferPtr, ViUInt32 numberOfBytes, tStatus& status ) = 0;
//! Reboots this NXT into firmware-download mode.
/*!
This is required before invoking the downloadFirmware method.
The reboot does not occur is the specified status is fatal.
\param status Status chaining object.
*/
virtual void bootIntoFirmwareDownloadMode( tStatus& status ) = 0;
//! Sets the name of this NXT.
/*!
The specified name will be displayed on the NXT, show up during Bluetooth scans, and
returned when the getDeviceInfo method is called.
\param newName The name for the NXT. The name can be at most 15 characters. However,
the NXT can only display 8 characters. The string must be NULL terminated.
\param status Status chaining object.
*/
virtual void setName( ViConstString newName, tStatus& status ) = 0;
//! Retrieves basic information about this NXT.
/*!
Retrieves the name of this NXT, its Bluetooth address, the Bluetooth signal strength,
and the number of bytes available.
Information retrieval is not done if specified status is fatal.
\param name Populated with the name of this NXT. The name character array must be
able to accomodate a NULL-terminated 15 character name. That is, it must have a
capacity of 16 bytes.
\param bluetoothAddress Populated with this NXT's Bluetooth address. The bluetooth
address array must have a capacity of six bytes.
\param signalStrength Populated with strength of the signal for this NXT's four
Bluetooth conenctions. The signal strength array must have a capacity of four
bytes.
\param availableFlash Populated with the amount of memory in bytes that is not
occupied by firmware or user files.
\param status Status chaining object.
*/
virtual void getDeviceInfo( ViChar name[], ViByte bluetoothAddress[],
ViUInt8 signalStrength[], ViUInt32 &availableFlash, tStatus& status ) = 0;
//! Erases all files from this NXT, leaving only the firmware.
/*!
All programs, sounds, and data logs are erased.
The erasure does not occur if specified status is fatal.
\param status Status chaining object.
*/
virtual void eraseUserFlash( tStatus& status ) = 0;
//! Polls the data buffer on this NXT for the number of bytes available to be read.
/*
The data buffer is not polled if the specified status is fatal.
\param bufferSelector The buffer from which to read.
\param status Status chaining object.
\return The number of bytes in the buffer available to be read.
*/
virtual ViUInt32 pollAvailableLength( tBuffer bufferSelector, tStatus& status ) = 0;
//! Reads data from the data buffer on this NXT.
/*!
Data is not read if the specified status is fatal.
\param dataBuffer Populated with the data that is read from the specified buffer.
\param bufferSelector The buffer from which to read.
\param numberOfBytesToRead The number of bytes to read from the data buffer.
\param status Status chaining object.
\return The number of bytes actually read from the data buffer.
*/
virtual ViUInt32 readBufferData( ViPBuf dataBuffer, tBuffer bufferSelector,
ViUInt32 numberOfBytesToRead, tStatus& status ) = 0;
//! Retrieves the resource string for this NXT's session.
/*
An example resource string could look like the one of the following:
BTH::LEGOBrick::00:16:53:04:05:06::5
BTH::LEGOBrick::00:16:53:04:05:06::1
BTH::Brick2::00:16:53:44:FF:66
USB0::0x0694::0x0002::0016535127BA::RAW
\param resourceString Populated with the resource string. The resource string must
have a capacity of 256 bytes.
\param status Status chaining object.
*/
virtual void getResourceString( ViChar resourceString[], tStatus& status ) = 0;
//! Resets the Bluetooth module on this NXT to its factory settings.
/*
\param status Status chaining object.
*/
virtual void bluetoothFactoryReset( tStatus& status ) = 0;
//! Creates an NXT object
/*!
Creates an NXT object representing the specified NXT.
The NXT object is not created if the specified status is fatal.
The returned NXT object should be destroyed using the iNXT::destroyNXT method.
\param resourceString A string identifying which resource should be opened. A list
of possible strings can be obtained using an iNXTIterator (refer to the
createNXTIterator method).
\param status Status chaining object.
\param checkFirmwareVersion A boolean flag that specifies whether version validation
should occur (defaults to true).
\return A pointer to the iNXT object that was created.
*/
nFANTOM100_kExport static iNXT* _VI_FUNCC createNXT( ViConstString resourceString,
tStatus& status, ViBoolean checkFirmwareVersion = true );
//! Destroys an NXT object
/*!
\param nxtPtr A pointer to the NXT object to destroy; may be NULL
*/
nFANTOM100_kExport static void _VI_FUNCC destroyNXT( iNXT* nxtPtr );
//! Creates an NXT iterator.
/*!
The NXT iterator can be used to find all NXTs that are connected (USB) or in range
(Bluetooth).
The NXT iterator is not created if the specified status is fatal.
The returned NXT iterator object should be destroyed using the
iNXT::destroyNXTIterator method.
\param searchBluetooth A boolean flag that specifies if the iterator should traverse
NXTs via Bluetooth.
\param bluetoothSearchTimeoutInSeconds The minimum number of seconds that should be
spent waiting for Bluetooth devices to respond.
\param status Status chaining object.
\return A pointer to the iNXTIterator object that was created.
*/
nFANTOM100_kExport static iNXTIterator* _VI_FUNCC createNXTIterator(
ViBoolean searchBluetooth, ViUInt32 bluetoothSearchTimeoutInSeconds,
tStatus& status );
//! Destroys an NXT iterator object.
/*
\param iterPtr A pointer to the iNXTIterator object to destroy.
*/
nFANTOM100_kExport static void _VI_FUNCC destroyNXTIterator( iNXTIterator* iterPtr );
//! Pairs with an NXT via Bluetooth.
/*!
Programmatically pairs the specified NXT to this computer and, on Windows, creates a
virtual serial port to use for communication with that NXT. However, clients
should not depend on the creation of this virtual serial port.
The pairing is not done if the specified status is fatal.
\param resourceName The resource string that specifies the NXT with which to pair.
\param passkey A string containing the passkey the computer should exchange with the
device. The passkey cannot be longer than 15 characters and must be
NULL-terminated.
\param pairedResourceName A Bluetooth resource string representing the paired device.
On Windows, the specified resourceName is suffixed with the COM port; On Mac OS X,
the RFCOMM channel identifier. The resource string must have a capacity of 256
bytes.
\param status Status chaining object.
*/
nFANTOM100_kExport static void _VI_FUNCC pairBluetooth( ViConstString resourceName,
ViConstString passkey, ViChar pairedResourceName[], tStatus& status );
//! Unpairs with an NXT via Bluetooth.
/*!
Programmatically destroys the Bluetooth pairing that was previously established
between this computer and the specified NXT. On Mac OS X, this method has no
effect and doesn't generate a fatal status.
The unpairing is not done if the specified status is fatal.
\param resourceName The resource string that specifies the NXT with which to unpair.
\param status Status chaining object.
*/
nFANTOM100_kExport static void _VI_FUNCC unpairBluetooth( ViConstString resourceName,
tStatus& status );
//! Determines if the NXT associated with the specified resource string is paired.
/*!
The determination is not done if the specified status is fatal.
\param resourceName A resource string that specifies the NXT for which to check its
pairing status.
\param status Status chaining object.
\return VI_TRUE if the NXT is paired with this computer (or if it is connected via
USB); VI_FALSE otherwise.
*/
nFANTOM100_kExport static ViBoolean _VI_FUNCC isPaired( ViConstString resourceName,
tStatus& status );
//! Finds the NXT that is currently in firmware-download mode.
/*!
Note that only a single NXT may be in firmware-download mode at a time.
\param resourceName Populated with the resource string. The resource string must
have a capacity of 256 bytes.
\param status Status chaining object.
*/
nFANTOM100_kExport static void findDeviceInFirmwareDownloadMode( ViChar resourceName[],
tStatus& status );
private:
};
// constants...
} // namespace nFANTOM100
// declarations for globally-scoped globals...
// typedefs...
typedef ViObject nFANTOM100_iNXT;
// prototypes...
extern "C"
{
nFANTOM100_kExport nFANTOM100_iNXTIterator _VI_FUNCC nFANTOM100_createNXTIterator(
ViBoolean searchBluetooth,
ViUInt32 bluetoothSearchTimeoutInSeconds,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_destroyNXTIterator(
nFANTOM100_iNXTIterator iterPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_pairBluetooth(
ViConstString resourceName,
ViConstString passkey,
ViChar pairedResourceName[],
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_unpairBluetooth(
ViConstString resourceName,
ViStatus* status );
nFANTOM100_kExport ViBoolean _VI_FUNCC nFANTOM100_isPaired(
ViConstString resourceName,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iNXT _VI_FUNCC nFANTOM100_createNXT(
ViConstString resourceString,
ViStatus* status,
ViBoolean checkFirmwareVersion );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_destroyNXT(
nFANTOM100_iNXT nxtPtr,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iFile _VI_FUNCC nFANTOM100_iNXT_createFile(
nFANTOM100_iNXT nxtPtr,
ViConstString fileName,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_destroyFile(
nFANTOM100_iNXT nxtPtr,
nFANTOM100_iFile filePtr,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iFileIterator _VI_FUNCC nFANTOM100_iNXT_createFileIterator(
nFANTOM100_iNXT nxtPtr,
ViConstString fileNamePattern,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_destroyFileIterator(
nFANTOM100_iNXT nxtPtr,
nFANTOM100_iFileIterator fileIteratorPtr,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iModule _VI_FUNCC nFANTOM100_iNXT_createModule(
nFANTOM100_iNXT nxtPtr,
ViConstString moduleName,
ViUInt32 moduleID,
ViUInt32 moduleSize,
ViUInt32 ioMapSizeInBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_destroyModule(
nFANTOM100_iNXT nxtPtr,
nFANTOM100_iModule modulePtr,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iModuleIterator _VI_FUNCC nFANTOM100_iNXT_createModuleIterator(
nFANTOM100_iNXT nxtPtr,
ViConstString moduleNamePattern,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_destroyModuleIterator(
nFANTOM100_iNXT nxtPtr,
nFANTOM100_iModuleIterator moduleIteratorPtr,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_getFirmwareVersion(
nFANTOM100_iNXT nxtPtr,
ViUInt8* protocolVersionMajorPtr,
ViUInt8* protocolVersionMinorPtr,
ViUInt8* firmwareVersionMajorPtr,
ViUInt8* firmwareVersionMinorPtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_sendDirectCommand(
nFANTOM100_iNXT nxtPtr,
ViBoolean requireResponse,
const ViByte commandBufferPtr[],
ViUInt32 commandBufferSizeInBytes,
ViPBuf responseBufferPtr,
ViUInt32 responseBufferSizeInBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_findDeviceInFirmwareDownloadMode(
ViChar resourceString[],
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_downloadFirmware(
nFANTOM100_iNXT nxtPtr,
const ViByte firmwareBufferPtr[],
ViUInt32 firmwareBufferSize,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_write(
nFANTOM100_iNXT nxtPtr,
const ViByte bufferPtr[],
ViUInt32 numberOfBytes,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_read(
nFANTOM100_iNXT nxtPtr,
ViPBuf bufferPtr,
ViUInt32 numberOfBytes,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_bootIntoFirmwareDownloadMode(
ViConstString resouceName,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_setName(
nFANTOM100_iNXT nxtPtr,
ViConstString newName,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_getDeviceInfo(
nFANTOM100_iNXT nxtPtr,
ViChar name[],
ViByte bluetoothAddress[],
ViUInt8 signalStrength[],
ViUInt32* availableFlash,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_eraseUserFlash(
nFANTOM100_iNXT nxtPtr,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_pollAvailableLength(
nFANTOM100_iNXT nxtPtr,
ViUInt32 bufferIndex,
ViStatus* status );
nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iNXT_readBufferData(
nFANTOM100_iNXT nxtPtr,
ViPBuf dataBuffer,
ViUInt32 bufferIndex,
ViUInt32 numberOfBytesToRead,
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_getResourceString(
nFANTOM100_iNXT nxtPtr,
ViChar resourceString[],
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXT_bluetoothFactoryReset(
nFANTOM100_iNXT nxtPtr,
ViStatus* status );
} // extern "C"
// inline functions and function macros...
#endif // ___fantom_iNXT_h___

View File

@@ -0,0 +1,120 @@
/*!
\file iNXTIterator.h
\brief Interface used for searching for LEGO MINDSTORMS NXTs.
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: iNXTIterator.h
Originated: 17 Oct 2005
*/
#ifndef ___fantom_iNXTIterator_h___
#define ___fantom_iNXTIterator_h___
// includes...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#ifndef ___fantom_tStatus_h___
#include "tStatus.h"
#endif
// defines...
namespace nFANTOM100
{
// forward declarations...
class iNXT;
// typedefs...
// classes...
/*!
\class iNXTIterator
\brief Interface to an iterator for LEGO MINDSTORMS NXTs.
*/
class iNXTIterator
{
friend class iNXT;
// methods
protected:
//! Destructor
virtual ~iNXTIterator() = 0;
public:
//! Retrieves the name of the NXT to which this iterator refers.
/*
\param resourceName Populated with the name of the NXT to which this iterator
currently refers. The resource name character array must have a capacity of 256
bytes.
\param status Status chaining object.
*/
virtual void getName( ViChar resourceName[], tStatus& status ) const = 0;
//! Advances this iterator.
/*!
Advances this iterator to the next NXT that was found. If no more NXTs are found,
this iterator is advanced to the end of the list.
The iterator is not advanced if the specified status is fatal.
If this iterator is already at the end of the list, a fatal status will be generated.
\param status Status chaining object.
*/
virtual void advance( tStatus& status ) = 0;
//! Creates an NXT object for the NXT referenced by this iterator.
/*
Creates an NXT object for the NXT referenced by this iterator. An object is not
created if the specified status is fatal or if this iterator refers to the end of
the list. The returned iNXT object should be destroyed using the iNXT::destroyNXT
method.
\param status Status chaining object.
\return A pointer to the iNXT object that was created.
*/
virtual iNXT* getNXT( tStatus& status ) = 0;
};
// constants...
} // namespace nFANTOM100
// declarations for globally-scoped globals...
// typedefs
typedef ViObject nFANTOM100_iNXTIterator;
// we must duplicate this typedef for the getNXT C wrapper
typedef ViObject nFANTOM100_iNXT;
extern "C"
{
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXTIterator_getName(
nFANTOM100_iNXTIterator iteratorPtr,
ViChar resourceName[],
ViStatus* status );
nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXTIterator_advance(
nFANTOM100_iNXTIterator iteratorPtr,
ViStatus* status );
nFANTOM100_kExport nFANTOM100_iNXT _VI_FUNCC nFANTOM100_iNXTIterator_getNXT(
nFANTOM100_iNXTIterator iteratorPtr,
ViStatus* status );
}
#endif // ___fantom_iNXTIterator_h___

View File

@@ -0,0 +1,94 @@
/*!
\file platform.h
\brief This file contains platform-related defines.
*/
/*
<20> Copyright 2005,
National Instruments Corporation.
All rights reserved.
File: platform.h
Originated: 23 June 2005
*/
#ifndef ___fantom_platform_h___
#define ___fantom_platform_h___
#ifndef __VISATYPE_HEADER__
#include "visatype.h"
#endif
#define nFANTOM100_kOSMacOSX 0
#define nFANTOM100_kOSWin32 0
#define nFANTOM100_kProcessorI386 0
#define nFANTOM100_kProcessorPPC 0
#define nFANTOM100_kCompilerMSVC 0
#define nFANTOM100_kCompilerApple 0
#if (( defined( __GNUG__ ) || defined( __GNUC__ )) && defined( __APPLE__ ))
#undef nFANTOM100_kOSMacOSX
#define nFANTOM100_kOSMacOSX 1
#undef nFANTOM100_kCompilerApple
#define nFANTOM100_kCompilerApple ( __GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
+ __GNUC_PATCHLEVEL__ )
#if ( defined( __ppc__ ))
#undef nFANTOM100_kProcessorPPC
#define nFANTOM100_kProcessorPPC 1
#define nFANTOM100_kBigEndian 1
#define nFANTOM100_kLittleEndian 0
#elif ( defined( __i386__ ))
#undef nFANTOM100_kProcessorI386
#define nFANTOM100_kProcessorI386 1
#define nFANTOM100_kBigEndian 0
#define nFANTOM100_kLittleEndian 1
#else
#error Unknown processor.
#endif
#ifdef nFANTOM100_kExportSymbols
#define nFANTOM100_kExport __attribute__ ((section ("__TEXT,__export")))
#else
#define nFANTOM100_kExport
#endif
#elif ( defined( _MSC_VER ) && ( defined( _M_IX86 ) || defined( _M_I86 )))
#undef nFANTOM100_kOSWin32
#define nFANTOM100_kOSWin32 1
#undef nFANTOM100_kCompilerMSVC
#define nFANTOM100_kCompilerMSVC _MSC_VER
#undef nFANTOM100_kProcessorI386
#define nFANTOM100_kProcessorI386 1
#ifdef nFANTOM100_kExportSymbols
#define nFANTOM100_kExport __declspec(dllexport)
#else
#define nFANTOM100_kExport __declspec(dllimport)
#endif
#define nFANTOM100_kBigEndian 0
#define nFANTOM100_kLittleEndian 1
#else
#error Unknown platform.
#endif
#endif // ___fantom_platform_h___

View File

@@ -0,0 +1,458 @@
/*!
\file tStatus.h
\brief Status code class
*/
/*
<20> Copyright 2005-2006,
National Instruments Corporation.
All rights reserved.
File: tStatus.h
Originated: 10 March 2005
*/
#ifndef ___fantom_tStatus_h___
#define ___fantom_tStatus_h___
// includes ...
#ifndef ___fantom_platform_h___
#include "platform.h"
#endif
#include <string.h>
// defines...
#define nFANTOM_mLocation __FILE__, __LINE__
#define nFANTOM_ForceToWarning(s) (((s) >= 0 ) ? (s) : -(s))
#define nFANTOM_ForceToFatal(s) (((s) <= 0 ) ? (s) : -(s))
/*!
\brief The namespace for Fantom 1.0.
*/
namespace nFANTOM100
{
// forward declarations...
// typedefs...
// classes...
const ViInt32 kStatusOffset = -142000; // 0xFFFDD550
const ViStatus kStatusSuccess = VI_SUCCESS;
/*!
\brief Enumeration of Fantom-specific status codes. NI-VISA status codes may also be
returned. These are documented in the NI-VISA Programmer Reference Manual which is
available from <http://ni.com/>.
*/
enum tFANTOMStatus
{
kStatusFirst = (kStatusOffset + 0),
//! Error: Bluetooth pairing operation failed.
//! Warning: You have already paired with that Bluetooth device.
kStatusPairingFailed = (kStatusOffset + -5), // 0x54B
//! Error: Bluetooth search failed.
kStatusBluetoothSearchFailed = (kStatusOffset + -6), // 0x54A
//! Error: System library not found.
kStatusSystemLibraryNotFound = (kStatusOffset + -7), // 0x549
//! Error: Bluetooth unpairing operation failed.
kStatusUnpairingFailed = (kStatusOffset + -8), // 0x548
//! Error: Invalid filename specified.
kStatusInvalidFilename = (kStatusOffset + -9), // 0x547
//! Error: Invalid iterator dereference. (No object to get.)
kStatusInvalidIteratorDereference = (kStatusOffset + -10), // 0x546
//! Error: Resource locking operation failed.
kStatusLockOperationFailed = (kStatusOffset + -11), // 0x545
//! Error: Could not determine the requested size.
kStatusSizeUnknown = (kStatusOffset + -12), // 0x544
//! Error: Cannot open two objects at once.
kStatusDuplicateOpen = (kStatusOffset + -13), // 0x543
//! Error: File is empty.
//! Warning: The requested file is empty.
kStatusEmptyFile = (kStatusOffset + -14), // 0x542
//! Error: Firmware download failed.
kStatusFirmwareDownloadFailed = (kStatusOffset + -15), // 0x541
//! Error: Could not locate virtual serial port.
kStatusPortNotFound = (kStatusOffset + -16), // 0x540
//! Error: No more items found.
kStatusNoMoreItemsFound = (kStatusOffset + -17), // 0x53F
//! Error: Too many unconfigured devices.
kStatusTooManyUnconfiguredDevices = (kStatusOffset + -18), // 0x53E
//! Error: Command mismatch in firmware response.
kStatusCommandMismatch = (kStatusOffset + -19), // 0x53D
//! Error: Illegal operation.
kStatusIllegalOperation = (kStatusOffset + -20), // 0x53C
//! Error: Could not update local Bluetooth cache with new name.
//! Warning: Could not update local Bluetooth cache with new name.
kStatusBluetoothCacheUpdateFailed = (kStatusOffset + -21), // 0x53B
//! Error: Selected device is not an NXT.
kStatusNonNXTDeviceSelected = (kStatusOffset + -22), // 0x53A
//! Error: Communication error. Retry the operation.
kStatusRetryConnection = (kStatusOffset + -23), // 0x539
//! Error: Could not connect to NXT. Turn the NXT off and then back on before continuing.
kStatusPowerCycleNXT = (kStatusOffset + -24), // 0x538
//! Error: This feature is not yet implemented.
kStatusFeatureNotImplemented = (kStatusOffset + -99), // 0x4ED
//! Error: Firmware reported an illegal handle.
kStatusFWIllegalHandle = (kStatusOffset + -189), // 0x493
//! Error: Firmware reported an illegal file name.
kStatusFWIllegalFileName = (kStatusOffset + -190), // 0x492
//! Error: Firmware reported an out of bounds reference.
kStatusFWOutOfBounds = (kStatusOffset + -191), // 0x491
//! Error: Firmware could not find module.
kStatusFWModuleNotFound = (kStatusOffset + -192), // 0x490
//! Error: Firmware reported that the file already exists.
kStatusFWFileExists = (kStatusOffset + -193), // 0x48F
//! Error: Firmware reported that the file is full.
kStatusFWFileIsFull = (kStatusOffset + -194), // 0x48E
//! Error: Firmware reported the append operation is not possible.
kStatusFWAppendNotPossible = (kStatusOffset + -195), // 0x48D
//! Error: Firmware has no write buffers available.
kStatusFWNoWriteBuffers = (kStatusOffset + -196), // 0x48C
//! Error: Firmware reported that file is busy.
kStatusFWFileIsBusy = (kStatusOffset + -197), // 0x48B
//! Error: Firmware reported the undefined error.
kStatusFWUndefinedError = (kStatusOffset + -198), // 0x48A
//! Error: Firmware reported that no linear space is available.
kStatusFWNoLinearSpace = (kStatusOffset + -199), // 0x489
//! Error: Firmware reported that handle has already been closed.
kStatusFWHandleAlreadyClosed = (kStatusOffset + -200), // 0x488
//! Error: Firmware could not find file.
kStatusFWFileNotFound = (kStatusOffset + -201), // 0x487
//! Error: Firmware reported that the requested file is not linear.
kStatusFWNotLinearFile = (kStatusOffset + -202), // 0x486
//! Error: Firmware reached the end of the file.
kStatusFWEndOfFile = (kStatusOffset + -203), // 0x485
//! Error: Firmware expected an end of file.
kStatusFWEndOfFileExpected = (kStatusOffset + -204), // 0x484
//! Error: Firmware cannot handle more files.
kStatusFWNoMoreFiles = (kStatusOffset + -205), // 0x483
//! Error: Firmware reported the NXT is out of space.
kStatusFWNoSpace = (kStatusOffset + -206), // 0x482
//! Error: Firmware could not create a handle.
kStatusFWNoMoreHandles = (kStatusOffset + -207), // 0x481
//! Error: Firmware reported an unknown error code.
kStatusFWUnknownErrorCode = (kStatusOffset + -208), // 0x480
kStatusLast = (kStatusOffset + -999)
};
/*!
\brief Class that contains a status code and the file name and line number where that
status code was generated.
*/
class tStatus
{
public:
// methods
//! constructor
/*!
Creates a tStatus object intialized to success.
\post The status code is set to VI_SUCCESS.
*/
inline tStatus( void ) :
_code( VI_SUCCESS ),
_lineNumber( 0 )
{
_fileName[0] = '\0';
}
//! copy constructor
/*!
Copies the code, line number, and file name from the specified tStatus object.
\param status The status object to copy.
*/
inline tStatus( const tStatus& status ) :
_code( status._code ),
_lineNumber( status._lineNumber )
{
::strcpy( _fileName, "" );
::strncat( _fileName, status._fileName, kMaxFileNameLength - 1 );
}
//! constructor with code, filename, and line number
/*!
Creates a tStatus object initialized to the specified code, file name, and line number.
Note that the nFANTOM_mLocation macro can be used to pass the fileName and lineNumber
parameters.
\param code A status code.
\param fileName The name of the file in which the status code was generated.
\param lineNumber The line number in the file at which the status code was generated.
*/
inline tStatus( ViStatus code, const char* fileName, ViUInt32 lineNumber ) :
_code( code ),
_lineNumber( lineNumber )
{
::strcpy( _fileName, "" );
::strncat( _fileName, reinterpret_cast<const char*>( fileName ), kMaxFileNameLength - 1 );
}
//! destructor
inline ~tStatus()
{
}
//! Returns the status code for this status object.
/*!
\return The status code for this status object.
*/
inline ViStatus getCode( void ) const
{
return _code;
}
//! Returns the file name in which the status code, for this status object, was generated.
/*!
\return The file name in which the status code, for this status object, was generated.
*/
inline const char* getFileName( void ) const
{
return _fileName;
}
//! Returns the line number at which the status code, for this status object, was
// generated.
/*!
\return The line number at which the status code, for this status object, was
generated.
*/
inline ViUInt32 getLineNumber( void ) const
{
return _lineNumber;
}
//! Sets the status code, file name, and line number for this status object, if
// appropriate.
/*!
Stores the specified status code, file name, and line number in this status object if
this status object contains a successful status code or if this status object
contains a warning status code and the specified status code is fatal. A fatal
status code is denoted by a negative value. A successful status code is denoted
by VI_SUCCESS.
\param code A status code.
\param fileName The name of the file in which the status code was generated.
\param lineNumber The line number in the file at which the status code was generated.
*/
inline void setCode( ViStatus code, const char* fileName, ViUInt32 lineNumber )
{
if(( isSuccess() && code != VI_SUCCESS ) || ( isNotFatal() && code < VI_SUCCESS ))
{
_code = code;
_lineNumber = lineNumber;
::strcpy( _fileName, "" );
::strncat( _fileName, fileName, kMaxFileNameLength - 1 );
}
}
//! Assigns the specified status object to this status object, if appropriate.
/*!
Stores the status code, file name, and line number of the specified status object in
this status object if this status object contains a successful status code or if
this status object contains a warning status code and the status code of the
speciied status object is fatal. A fatal status code is denoted by a negative
value. A successful status code is denoted by VI_SUCCESS.
\param status The status object to assign.
*/
inline void assign( const tStatus& status )
{
setCode( status.getCode(), status.getFileName(), status.getLineNumber());
}
//! Clears the status code for this status object.
/*!
\post status The code is set to VI_SUCCESS.
*/
inline void clear( void )
{
_code = VI_SUCCESS;
_lineNumber = 0;
_fileName[0] = '\0';
}
//! Returns true if this status object contains a status code that is fatal.
/*!
A status code with a negative value is considered fatal.
\return true if this status object contains a status code that is
fatal; false otherwise.
*/
inline bool isFatal( void ) const
{
return ( _code < VI_SUCCESS );
}
//! Returns true if this status object contains a status code that is not fatal.
/*!
Any status code with a non-negative (including zero) value is considered non-fatal.
\return true if this status object contains a non-fatal status code;
false otherwise.
*/
inline bool isNotFatal( void ) const
{
return !isFatal();
}
//! Returns true if this status object contains a status code that is a warning.
/*!
A status code with a non-zero, positive value is considered a warning.
\return true if this status object contains a status code that is a warning; false
otherwise.
*/
inline bool isWarning( void ) const
{
return ( _code > VI_SUCCESS );
}
//! Returns true if this status object contains the status code for success.
/*!
A value of VI_SUCCESS represents success.
\return true if this status object contains the status code for success; false
otherwise.
*/
inline bool isSuccess( void ) const
{
return ( _code == VI_SUCCESS );
}
private:
// declared private to prevent assignment
tStatus& operator=(const tStatus& rhs);
enum
{
kMaxFileNameLength = 101
};
ViStatus _code;
ViChar _fileName[ kMaxFileNameLength ];
ViUInt32 _lineNumber;
};
// declarations for globally-scoped globals...
inline ViStatus convertStatus( ViUInt8 firmwareStatus )
{
ViStatus status;
switch (firmwareStatus)
{
// each of these cases corresponds to a unique status code returned by the firmware
case 0x00 : status = kStatusSuccess;
break;
case 0x81 : status = kStatusFWNoMoreHandles; // No more available handles
break;
case 0x82 : status = kStatusFWNoSpace; // No space
break;
case 0x83 : status = kStatusFWNoMoreFiles; // No more files
break;
case 0x84 : status = kStatusFWEndOfFileExpected; // End of file expected
break;
case 0x85 : status = kStatusFWEndOfFile; // End of file reached
break;
case 0x86 : status = kStatusFWNotLinearFile; // Not a linear file
break;
case 0x87 : status = kStatusFWFileNotFound; // File not found
break;
case 0x88 : status = kStatusFWHandleAlreadyClosed; // Handle is already closed
break;
case 0x89 : status = kStatusFWNoLinearSpace; // No linear space available
break;
case 0x8A : status = kStatusFWUndefinedError; // Undefined error
break;
case 0x8B : status = kStatusFWFileIsBusy; // File is busy
break;
case 0x8C : status = kStatusFWNoWriteBuffers; // No write buffers available
break;
case 0x8D : status = kStatusFWAppendNotPossible; // Append not possible
break;
case 0x8E : status = kStatusFWFileIsFull; // File is full
break;
case 0x8F : status = kStatusFWFileExists; // File already exists
break;
case 0x90 : status = kStatusFWModuleNotFound; // Module not found
break;
case 0x91 : status = kStatusFWOutOfBounds; // Out of module I/O map boundary
break;
case 0x92 : status = kStatusFWIllegalFileName; // Illegal file name
break;
case 0x93 : status = kStatusFWIllegalHandle; // Illegal handle
break;
default :
status = kStatusFWUnknownErrorCode;
}
return status;
}
// prototypes...
} // namespace nFANTOM100
// inline functions and function macros...
#endif // ___fantom_tStatus_h___

Some files were not shown because too many files have changed in this diff Show More