Files
NXT-Dev-Kits/LEGO MINDSTORMS NXT Software Developer Kit/fantom/documentation/html/classnFANTOM100_1_1iNXT.html

1423 lines
64 KiB
HTML
Executable File

<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 Class Reference</h1>Interface to a LEGO MINDSTORMS NXT.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="iNXT_8h-source.html">iNXT.h</a>&gt;</code>
<p>
<a href="classnFANTOM100_1_1iNXT-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#s2">tBuffer</a> { <br>
&nbsp;&nbsp;<b>kBufferStandard</b>,
<br>
&nbsp;&nbsp;<b>kBufferHighSpeed</b>
<br>
}</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Enumeration of buffer types on the NXT.</em></font><br><br></td></tr>
<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_1iNXT.html#a0">createFile</a> (ViConstString 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>Creates a file object for the file with the specified name on this NXT.</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_1iNXT.html#a1">destroyFile</a> (<a class="el" href="classnFANTOM100_1_1iFile.html">iFile</a> *filePtr)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys the specified file object.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="classnFANTOM100_1_1iFileIterator.html">iFileIterator</a> *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#a2">createFileIterator</a> (ViConstString fileNamePattern, <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 iterator to the files on this NXT.</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_1iNXT.html#a3">destroyFileIterator</a> (<a class="el" href="classnFANTOM100_1_1iFileIterator.html">iFileIterator</a> *fileIteratorPtr)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys the specified file iterator.</em> <a href="#a3">More...</a><em></em></font><br><br></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_1iNXT.html#a4">createModule</a> (ViConstString moduleName, ViUInt32 moduleID, ViUInt32 moduleSizeInBytes, ViUInt32 ioMapSizeInBytes, <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 with the specified name on this NXT.</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_1iNXT.html#a5">destroyModule</a> (<a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a> *modulePtr)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys the specified module object.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual <a class="el" href="classnFANTOM100_1_1iModuleIterator.html">iModuleIterator</a> *&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#a6">createModuleIterator</a> (ViConstString moduleNamePattern, <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 iterator to the modules on this NXT.</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_1iNXT.html#a7">destroyModuleIterator</a> (<a class="el" href="classnFANTOM100_1_1iModuleIterator.html">iModuleIterator</a> *moduleIteratorPtr)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys the specified module iterator.</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_1iNXT.html#a8">getFirmwareVersion</a> (ViUInt8 &amp;protocolVersionMajorRef, ViUInt8 &amp;protocolVersionMinorRef, ViUInt8 &amp;firmwareVersionMajorRef, ViUInt8 &amp;firmwareVersionMinorRef, <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 firmware version of this NXT.</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_1iNXT.html#a9">sendDirectCommand</a> (ViBoolean requireResponse, const ViByte commandBufferPtr[], ViUInt32 commandBufferSizeInBytes, ViPBuf responseBufferPtr, ViUInt32 responseBufferSizeInBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sends the specified direct command to this NXT.</em> <a href="#a9">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_1iNXT.html#a10">downloadFirmware</a> (const ViByte firmwareBufferPtr[], ViUInt32 firmwareBufferSizeInBytes, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Downloads firmware to this NXT.</em> <a href="#a10">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_1iNXT.html#a11">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, in a generic fashion, to this NXT.</em> <a href="#a11">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_1iNXT.html#a12">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, in a generic fashion, from this NXT.</em> <a href="#a12">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_1iNXT.html#a13">bootIntoFirmwareDownloadMode</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>Reboots this NXT into firmware-download mode.</em> <a href="#a13">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_1iNXT.html#a14">setName</a> (ViConstString newName, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the name of this NXT.</em> <a href="#a14">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_1iNXT.html#a15">getDeviceInfo</a> (ViChar name[], ViByte bluetoothAddress[], ViUInt8 signalStrength[], ViUInt32 &amp;availableFlash, <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 basic information about this NXT.</em> <a href="#a15">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_1iNXT.html#a16">eraseUserFlash</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>Erases all files from this NXT, leaving only the firmware.</em> <a href="#a16">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="nFANTOM100::iNXT::pollAvailableLength"></a>
virtual ViUInt32&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#a17">pollAvailableLength</a> (<a class="el" href="classnFANTOM100_1_1iNXT.html#s2">tBuffer</a> bufferSelector, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Polls the data buffer on this NXT for the number of bytes available to be read.</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_1iNXT.html#a18">readBufferData</a> (ViPBuf dataBuffer, <a class="el" href="classnFANTOM100_1_1iNXT.html#s2">tBuffer</a> bufferSelector, ViUInt32 numberOfBytesToRead, <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 data from the data buffer on this NXT.</em> <a href="#a18">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="nFANTOM100::iNXT::getResourceString"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#a19">getResourceString</a> (ViChar resourceString[], <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 resource string for this NXT's session.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a20" doxytag="nFANTOM100::iNXT::bluetoothFactoryReset"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#a20">bluetoothFactoryReset</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>Resets the Bluetooth module on this NXT to its factory settings.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport iNXT *_VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d0">createNXT</a> (ViConstString resourceString, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status, ViBoolean checkFirmwareVersion=true)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates an NXT object.</em> <a href="#d0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d1">destroyNXT</a> (iNXT *nxtPtr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys an NXT object.</em> <a href="#d1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">iNXTIterator</a> <br>
*_VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d2">createNXTIterator</a> (ViBoolean searchBluetooth, ViUInt32 bluetoothSearchTimeoutInSeconds, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates an NXT iterator.</em> <a href="#d2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="d3" doxytag="nFANTOM100::iNXT::destroyNXTIterator"></a>
nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d3">destroyNXTIterator</a> (<a class="el" href="classnFANTOM100_1_1iNXTIterator.html">iNXTIterator</a> *iterPtr)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destroys an NXT iterator object.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d4">pairBluetooth</a> (ViConstString resourceName, ViConstString passkey, ViChar pairedResourceName[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Pairs with an NXT via Bluetooth.</em> <a href="#d4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport void _VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d5">unpairBluetooth</a> (ViConstString resourceName, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Unpairs with an NXT via Bluetooth.</em> <a href="#d5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport ViBoolean <br>
_VI_FUNCC&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d6">isPaired</a> (ViConstString resourceName, <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Determines if the NXT associated with the specified resource string is paired.</em> <a href="#d6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>nFANTOM100_kExport void&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#d7">findDeviceInFirmwareDownloadMode</a> (ViChar resourceName[], <a class="el" href="classnFANTOM100_1_1tStatus.html">tStatus</a> &amp;status)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Finds the NXT that is currently in firmware-download mode.</em> <a href="#d7">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::iNXT::~iNXT"></a>
virtual&nbsp;</td><td valign=bottom><a class="el" href="classnFANTOM100_1_1iNXT.html#b0">~iNXT</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Destructor.</em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Interface to a LEGO MINDSTORMS NXT.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a13" doxytag="nFANTOM100::iNXT::bootIntoFirmwareDownloadMode"></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::iNXT::bootIntoFirmwareDownloadMode </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>
Reboots this NXT into firmware-download mode.
<p>
This is required before invoking the downloadFirmware method. The reboot does not occur is 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="a0" doxytag="nFANTOM100::iNXT::createFile"></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::iNXT::createFile </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&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>
Creates a file object for the file with the specified name on this NXT.
<p>
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 <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>fileName</em>&nbsp;</td><td>
Name of the file. The file name must conform to the 15.3 naming convention and be NULL-terminated. </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>
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::iNXT::createFileIterator"></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_1iFileIterator.html">iFileIterator</a>* nFANTOM100::iNXT::createFileIterator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>fileNamePattern</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>
Creates an iterator to the files on this NXT.
<p>
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 <a class="el" href="classnFANTOM100_1_1iNXT.html#a3">iNXT::destroyFileIterator</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fileNamePattern</em>&nbsp;</td><td>
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). </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>
A pointer to the <a class="el" href="classnFANTOM100_1_1iFileIterator.html">iFileIterator</a> object that was created. </dl> </td>
</tr>
</table>
<a name="a4" doxytag="nFANTOM100::iNXT::createModule"></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::iNXT::createModule </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>moduleName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>moduleID</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>moduleSizeInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>ioMapSizeInBytes</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>
Creates a module object for the module with the specified name on this NXT.
<p>
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 <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>moduleName</em>&nbsp;</td><td>
The name of the module. The module name must conform to the 15.3 naming convention and be NULL-terminated. </td></tr>
<tr><td valign=top><em>moduleID</em>&nbsp;</td><td>
The NXT-internal ID of the module. </td></tr>
<tr><td valign=top><em>moduleSizeInBytes</em>&nbsp;</td><td>
The number of bytes the module occupies. </td></tr>
<tr><td valign=top><em>ioMapSizeInBytes</em>&nbsp;</td><td>
The number of bytes the module's I/O map occupies. </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>
A pointer to the <a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a> object that was created. </dl> </td>
</tr>
</table>
<a name="a6" doxytag="nFANTOM100::iNXT::createModuleIterator"></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_1iModuleIterator.html">iModuleIterator</a>* nFANTOM100::iNXT::createModuleIterator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>moduleNamePattern</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>
Creates an iterator to the modules on this NXT.
<p>
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 <a class="el" href="classnFANTOM100_1_1iNXT.html#a7">iNXT::destroyModuleIterator</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>moduleNamePattern</em>&nbsp;</td><td>
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". </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>
A pointer to an <a class="el" href="classnFANTOM100_1_1iModuleIterator.html">iModuleIterator</a> object that was created. </dl> </td>
</tr>
</table>
<a name="d0" doxytag="nFANTOM100::iNXT::createNXT"></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_kExport iNXT* _VI_FUNCC nFANTOM100::iNXT::createNXT </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>resourceString</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></td>
<td class="md" nowrap>ViBoolean&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>checkFirmwareVersion</em> = true</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Creates an NXT object.
<p>
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 <a class="el" href="classnFANTOM100_1_1iNXT.html#d1">iNXT::destroyNXT</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>resourceString</em>&nbsp;</td><td>
A string identifying which resource should be opened. A list of possible strings can be obtained using an <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">iNXTIterator</a> (refer to the createNXTIterator method). </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
<tr><td valign=top><em>checkFirmwareVersion</em>&nbsp;</td><td>
A boolean flag that specifies whether version validation should occur (defaults to true). </td></tr>
</table>
</dl><dl compact><dt><b>
Returns: </b><dd>
A pointer to the <a class="el" href="classnFANTOM100_1_1iNXT.html">iNXT</a> object that was created. </dl> </td>
</tr>
</table>
<a name="d2" doxytag="nFANTOM100::iNXT::createNXTIterator"></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_kExport <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">iNXTIterator</a>* _VI_FUNCC nFANTOM100::iNXT::createNXTIterator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViBoolean&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>searchBluetooth</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bluetoothSearchTimeoutInSeconds</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> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Creates an NXT iterator.
<p>
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 <a class="el" href="classnFANTOM100_1_1iNXT.html#d3">iNXT::destroyNXTIterator</a> method.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>searchBluetooth</em>&nbsp;</td><td>
A boolean flag that specifies if the iterator should traverse NXTs via Bluetooth. </td></tr>
<tr><td valign=top><em>bluetoothSearchTimeoutInSeconds</em>&nbsp;</td><td>
The minimum number of seconds that should be spent waiting for Bluetooth devices to respond. </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>
A pointer to the <a class="el" href="classnFANTOM100_1_1iNXTIterator.html">iNXTIterator</a> object that was created. </dl> </td>
</tr>
</table>
<a name="a1" doxytag="nFANTOM100::iNXT::destroyFile"></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::iNXT::destroyFile </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1iFile.html">iFile</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>filePtr</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>
Destroys the specified file object.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>filePtr</em>&nbsp;</td><td>
Pointer to the file object to destroy. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a3" doxytag="nFANTOM100::iNXT::destroyFileIterator"></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::iNXT::destroyFileIterator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1iFileIterator.html">iFileIterator</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>fileIteratorPtr</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>
Destroys the specified file iterator.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fileIteratorPtr</em>&nbsp;</td><td>
A pointer to the file iterator to destroy. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a5" doxytag="nFANTOM100::iNXT::destroyModule"></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::iNXT::destroyModule </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1iModule.html">iModule</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>modulePtr</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>
Destroys the specified module object.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>modulePtr</em>&nbsp;</td><td>
Pointer to the module object to destroy. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a7" doxytag="nFANTOM100::iNXT::destroyModuleIterator"></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::iNXT::destroyModuleIterator </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classnFANTOM100_1_1iModuleIterator.html">iModuleIterator</a> *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>moduleIteratorPtr</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>
Destroys the specified module iterator.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>moduleIteratorPtr</em>&nbsp;</td><td>
A pointer to the module iterator object to destroy. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="d1" doxytag="nFANTOM100::iNXT::destroyNXT"></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_kExport void _VI_FUNCC nFANTOM100::iNXT::destroyNXT </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">iNXT *&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; <em>nxtPtr</em> </td>
<td class="md" valign="top">)&nbsp;</td>
<td class="md" nowrap><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Destroys an NXT object.
<p>
<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>nxtPtr</em>&nbsp;</td><td>
A pointer to the NXT object to destroy; may be NULL </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a10" doxytag="nFANTOM100::iNXT::downloadFirmware"></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::iNXT::downloadFirmware </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const ViByte&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>firmwareBufferPtr</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>firmwareBufferSizeInBytes</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>
Downloads firmware to this NXT.
<p>
The NXT must already be in firmware-download mode.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>firmwareBufferPtr</em>&nbsp;</td><td>
The buffer containing the new firmware binary image. </td></tr>
<tr><td valign=top><em>firmwareBufferSizeInBytes</em>&nbsp;</td><td>
The number of bytes in the new firmware image. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a16" doxytag="nFANTOM100::iNXT::eraseUserFlash"></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::iNXT::eraseUserFlash </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>
Erases all files from this NXT, leaving only the firmware.
<p>
All programs, sounds, and data logs are erased. The erasure does not occur if 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="d7" doxytag="nFANTOM100::iNXT::findDeviceInFirmwareDownloadMode"></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_kExport void nFANTOM100::iNXT::findDeviceInFirmwareDownloadMode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>resourceName</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> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Finds the NXT that is currently in firmware-download mode.
<p>
Note that only a single NXT may be in firmware-download mode at a time.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>resourceName</em>&nbsp;</td><td>
Populated with the resource string. The resource string must have a capacity of 256 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="a15" doxytag="nFANTOM100::iNXT::getDeviceInfo"></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::iNXT::getDeviceInfo </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViChar&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>name</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViByte&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bluetoothAddress</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt8&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>signalStrength</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>availableFlash</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 basic information about this NXT.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>name</em>&nbsp;</td><td>
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. </td></tr>
<tr><td valign=top><em>bluetoothAddress</em>&nbsp;</td><td>
Populated with this NXT's Bluetooth address. The bluetooth address array must have a capacity of six bytes. </td></tr>
<tr><td valign=top><em>signalStrength</em>&nbsp;</td><td>
Populated with strength of the signal for this NXT's four Bluetooth conenctions. The signal strength array must have a capacity of four bytes. </td></tr>
<tr><td valign=top><em>availableFlash</em>&nbsp;</td><td>
Populated with the amount of memory in bytes that is not occupied by firmware or user files. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a8" doxytag="nFANTOM100::iNXT::getFirmwareVersion"></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::iNXT::getFirmwareVersion </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViUInt8 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>protocolVersionMajorRef</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt8 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>protocolVersionMinorRef</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt8 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>firmwareVersionMajorRef</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt8 &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>firmwareVersionMinorRef</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 firmware version of this NXT.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>protocolVersionMajorRef</em>&nbsp;</td><td>
Reference to parameter that will be populated with the major protocol version. </td></tr>
<tr><td valign=top><em>protocolVersionMinorRef</em>&nbsp;</td><td>
Reference to parameter that will be populated with the minor protocol version. </td></tr>
<tr><td valign=top><em>firmwareVersionMajorRef</em>&nbsp;</td><td>
Reference to parameter that will be populated with the major firmware verison. </td></tr>
<tr><td valign=top><em>firmwareVersionMinorRef</em>&nbsp;</td><td>
Reference to parameter that will be populated with the minor firmware verison. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="d6" doxytag="nFANTOM100::iNXT::isPaired"></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_kExport ViBoolean _VI_FUNCC nFANTOM100::iNXT::isPaired </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>resourceName</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> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Determines if the NXT associated with the specified resource string is paired.
<p>
The determination is not done 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>resourceName</em>&nbsp;</td><td>
A resource string that specifies the NXT for which to check its pairing status. </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>
VI_TRUE if the NXT is paired with this computer (or if it is connected via USB); VI_FALSE otherwise. </dl> </td>
</tr>
</table>
<a name="d4" doxytag="nFANTOM100::iNXT::pairBluetooth"></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_kExport void _VI_FUNCC nFANTOM100::iNXT::pairBluetooth </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>resourceName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>passkey</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViChar&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>pairedResourceName</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> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Pairs with an NXT via Bluetooth.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>resourceName</em>&nbsp;</td><td>
The resource string that specifies the NXT with which to pair. </td></tr>
<tr><td valign=top><em>passkey</em>&nbsp;</td><td>
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. </td></tr>
<tr><td valign=top><em>pairedResourceName</em>&nbsp;</td><td>
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. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a12" doxytag="nFANTOM100::iNXT::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::iNXT::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, in a generic fashion, from this NXT.
<p>
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.<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 response. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
Number of bytes expected to be read from this NXT. </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 NXT. </dl> </td>
</tr>
</table>
<a name="a18" doxytag="nFANTOM100::iNXT::readBufferData"></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::iNXT::readBufferData </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViPBuf&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>dataBuffer</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="classnFANTOM100_1_1iNXT.html#s2">tBuffer</a>&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>bufferSelector</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>numberOfBytesToRead</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 data from the data buffer on this NXT.
<p>
Data is not read 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>dataBuffer</em>&nbsp;</td><td>
Populated with the data that is read from the specified buffer. </td></tr>
<tr><td valign=top><em>bufferSelector</em>&nbsp;</td><td>
The buffer from which to read. </td></tr>
<tr><td valign=top><em>numberOfBytesToRead</em>&nbsp;</td><td>
The number of bytes to read from the data buffer. </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 data buffer. </dl> </td>
</tr>
</table>
<a name="a9" doxytag="nFANTOM100::iNXT::sendDirectCommand"></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::iNXT::sendDirectCommand </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViBoolean&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>requireResponse</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>const ViByte&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>commandBufferPtr</em>[], </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>commandBufferSizeInBytes</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViPBuf&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>responseBufferPtr</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>ViUInt32&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>responseBufferSizeInBytes</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>
Sends the specified direct command to this NXT.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>requireResponse</em>&nbsp;</td><td>
Boolean flag indicating if a response is required. </td></tr>
<tr><td valign=top><em>commandBufferPtr</em>&nbsp;</td><td>
Buffer containing the direct command to send to the NXT. </td></tr>
<tr><td valign=top><em>commandBufferSizeInBytes</em>&nbsp;</td><td>
Number of bytes in the command buffer. </td></tr>
<tr><td valign=top><em>responseBufferPtr</em>&nbsp;</td><td>
Buffer that will be populated with the response to the direct command. </td></tr>
<tr><td valign=top><em>responseBufferSizeInBytes</em>&nbsp;</td><td>
Capacity of the response buffer in 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>
Number of bytes written to the response buffer. </dl> </td>
</tr>
</table>
<a name="a14" doxytag="nFANTOM100::iNXT::setName"></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::iNXT::setName </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>newName</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>
Sets the name of this NXT.
<p>
The specified name will be displayed on the NXT, show up during Bluetooth scans, and returned when the getDeviceInfo method is called.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newName</em>&nbsp;</td><td>
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. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="d5" doxytag="nFANTOM100::iNXT::unpairBluetooth"></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_kExport void _VI_FUNCC nFANTOM100::iNXT::unpairBluetooth </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">ViConstString&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>resourceName</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> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Unpairs with an NXT via Bluetooth.
<p>
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.<dl compact><dt><b>
Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>resourceName</em>&nbsp;</td><td>
The resource string that specifies the NXT with which to unpair. </td></tr>
<tr><td valign=top><em>status</em>&nbsp;</td><td>
Status chaining object. </td></tr>
</table>
</dl> </td>
</tr>
</table>
<a name="a11" doxytag="nFANTOM100::iNXT::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::iNXT::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, in a generic fashion, to this NXT.
<p>
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.<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 command that will be written. </td></tr>
<tr><td valign=top><em>numberOfBytes</em>&nbsp;</td><td>
Size of the buffer. </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 the NXT. </dl> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="iNXT_8h-source.html">iNXT.h</a></ul>
<p>
&copy; Copyright 2005-2006, National Instruments Corporation. All rights reserved.
</p>
</body></html>