Index: trunk/docs/libdragonfly/reset_8h.html
===================================================================
--- trunk/docs/libdragonfly/reset_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/reset_8h.html	(revision 1371)
@@ -37,7 +37,7 @@
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club, James Kong </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__move.html
===================================================================
--- trunk/docs/libdragonfly/group__move.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__move.html	(revision 1371)
@@ -163,7 +163,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x6c.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x6c.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x6c.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -77,11 +78,13 @@
 : <a class="el" href="group__lcd.html#g0150085af3123e80303a3445821acb40">lcd.c</a>
 <li>lcd_puts()
 : <a class="el" href="group__lcd.html#g58a42336a344165c54e8dd4a0d3f0e1c">lcd.c</a>
+<li>LEFT
+: <a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">encoders.h</a>
 <li>LIME
 : <a class="el" href="group__orbs.html#g46019a1f2c10603a54b6cbb19cbf3c21">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__dio.html
===================================================================
--- trunk/docs/libdragonfly/group__dio.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__dio.html	(revision 1371)
@@ -552,7 +552,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x6e.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x6e.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x6e.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -75,7 +76,7 @@
 : <a class="el" href="group__move.html#gdfc67eeed7b52f97b8483af04e27a9ce">move.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/lcd_8c.html
===================================================================
--- trunk/docs/libdragonfly/lcd_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/lcd_8c.html	(revision 1371)
@@ -86,7 +86,7 @@
 Implementation of functions for using the LCD.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x71.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x71.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x71.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__time.html#g0b2a348d9afca1f1182bc2bb2aa6a3d1">time.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x65.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x65.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x65.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -73,6 +74,8 @@
 : <a class="el" href="group__time.html#g7bdae984203001070e9abeb3190f844a">time.h</a>
 <li>ENCODER_DATA_NOT_READY
 : <a class="el" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">encoders.h</a>
+<li>ENCODER_DELAY
+: <a class="el" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">encoders.h</a>
 <li>encoder_get_dx()
 : <a class="el" href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992">encoders.h</a>
 <li>encoder_get_tc()
@@ -95,7 +98,7 @@
 : <a class="el" href="group__analog.html#g3434ce39eaea22b46a0100b7fd3a6f47">analog.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dragonfly__lib_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/dragonfly__lib_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/dragonfly__lib_8h-source.html	(revision 1371)
@@ -86,7 +86,7 @@
 <a name="l00114"></a>00114 <span class="preprocessor">#endif</span>
 <a name="l00115"></a>00115 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/bom_8c.html
===================================================================
--- trunk/docs/libdragonfly/bom_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/bom_8c.html	(revision 1371)
@@ -114,7 +114,7 @@
 Contains functions for using the Bearing and Orientation Module (BOM)<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x77.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x77.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x77.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -71,7 +72,7 @@
 : <a class="el" href="group__orbs.html#g87b537f5fa5c109d3c05c13d6b18f382">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x67.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x67.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x67.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -71,7 +72,7 @@
 : <a class="el" href="group__orbs.html#gcfbc006ea433ad708fdee3e82996e721">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x79.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x79.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x79.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__orbs.html#gbf681265909adf3d3e8116c93c0ba179">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/serial_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/serial_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/serial_8h-source.html	(revision 1371)
@@ -49,45 +49,49 @@
 <a name="l00068"></a>00068 <span class="preprocessor">#ifndef _SERIAL_H</span>
 <a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define _SERIAL_H</span>
 <a name="l00070"></a>00070 <span class="preprocessor"></span>
-<a name="l00080"></a>00080 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
-<a name="l00081"></a>00081 <span class="preprocessor">#ifndef USB_BAUD</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span>
-<a name="l00083"></a><a class="code" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">00083</a> <span class="preprocessor">#define USB_BAUD 115200</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00071"></a>00071 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<a name="l00072"></a>00072 <span class="preprocessor">#include &lt;avr/pgmspace.h&gt;</span>
+<a name="l00073"></a>00073 
+<a name="l00083"></a>00083 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
+<a name="l00084"></a>00084 <span class="preprocessor">#ifndef USB_BAUD</span>
 <a name="l00085"></a>00085 <span class="preprocessor"></span>
-<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>(<span class="keywordtype">void</span>);
-<a name="l00089"></a>00089 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946" title="Print a character to USB.">usb_putc</a>(<span class="keywordtype">char</span> c);
-<a name="l00091"></a>00091 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae" title="Read a character from USB.">usb_getc</a>(<span class="keywordtype">void</span>);
-<a name="l00093"></a>00093 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c" title="Read a character from USB without blocking.">usb_getc_nb</a>(<span class="keywordtype">char</span> *c);
-<a name="l00095"></a>00095 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>(<span class="keywordtype">char</span> *s);
-<a name="l00097"></a>00097 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>(<span class="keywordtype">int</span> value);
-<a name="l00099"></a>00099 uint8_t <a class="code" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> (uint8_t value);
-<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a> (uint16_t value);
-<a name="l00103"></a>00103 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#g21462df541911e0611416e85be6ea34d" title="Print a fixed width hexadecimal representation to USB.">usb_puth8</a>(uint8_t value);
-<a name="l00105"></a>00105 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> usb_puth (uint16_t value) { <a class="code" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a> (value); };
-<a name="l00106"></a>00106 
-<a name="l00107"></a>00107  <span class="comment">//end addtogroup</span>
-<a name="l00109"></a>00109 
-<a name="l00119"></a>00119 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
-<a name="l00120"></a>00120 
-<a name="l00121"></a>00121 <span class="comment">// if no baud rate is defined for xbee, default is set here</span>
-<a name="l00122"></a>00122 <span class="preprocessor">#ifndef XBEE_BAUD</span>
-<a name="l00123"></a>00123 <span class="preprocessor"></span>
-<a name="l00124"></a><a class="code" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">00124</a> <span class="preprocessor">#define XBEE_BAUD 9600</span>
-<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00126"></a>00126 <span class="preprocessor"></span>
-<a name="l00128"></a>00128 <span class="keywordtype">void</span> <a class="code" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107" title="Initialize the XBee.">xbee_init</a>(<span class="keywordtype">void</span>);
-<a name="l00130"></a>00130 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#g70c6b231330312d4f69b9a8afb5af989" title="Print a character to the XBee.">xbee_putc</a>(<span class="keywordtype">char</span> c);
-<a name="l00132"></a>00132 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88" title="Read a character from the XBee.">xbee_getc</a>(<span class="keywordtype">void</span>);
-<a name="l00134"></a>00134 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#gfb7bd5dd535e8251bfff78854c6c15f2" title="Read a character from the XBee without blocking.">xbee_getc_nb</a>(<span class="keywordtype">char</span> *c);
-<a name="l00135"></a>00135 
-<a name="l00136"></a>00136 
-<a name="l00137"></a>00137  <span class="comment">//end addtogroup</span>
-<a name="l00139"></a>00139 
-<a name="l00140"></a>00140 <span class="preprocessor">#endif</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span>
+<a name="l00086"></a><a class="code" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">00086</a> <span class="preprocessor">#define USB_BAUD 115200</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00088"></a>00088 <span class="preprocessor"></span>
+<a name="l00090"></a>00090 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>(<span class="keywordtype">void</span>);
+<a name="l00092"></a>00092 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946" title="Print a character to USB.">usb_putc</a>(<span class="keywordtype">char</span> c);
+<a name="l00094"></a>00094 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae" title="Read a character from USB.">usb_getc</a>(<span class="keywordtype">void</span>);
+<a name="l00096"></a>00096 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c" title="Read a character from USB without blocking.">usb_getc_nb</a>(<span class="keywordtype">char</span> *c);
+<a name="l00098"></a>00098 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>(<span class="keywordtype">char</span> *s);
+<a name="l00100"></a>00100 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#g774d8b902cae279696c53502168ade07" title="Print a string from program space to USB.">usb_puts_P</a> (PGM_P s);
+<a name="l00102"></a>00102 <span class="keywordtype">int</span> <a class="code" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>(<span class="keywordtype">int</span> value);
+<a name="l00104"></a>00104 uint8_t <a class="code" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> (uint8_t value);
+<a name="l00106"></a>00106 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a> (uint16_t value);
+<a name="l00108"></a>00108 <span class="keywordtype">void</span> <a class="code" href="group__usb.html#g21462df541911e0611416e85be6ea34d" title="Print a fixed width hexadecimal representation to USB.">usb_puth8</a>(uint8_t value);
+<a name="l00110"></a>00110 <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> usb_puth (uint16_t value) { <a class="code" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a> (value); };
+<a name="l00111"></a>00111 
+<a name="l00112"></a>00112  <span class="comment">//end addtogroup</span>
+<a name="l00114"></a>00114 
+<a name="l00124"></a>00124 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
+<a name="l00125"></a>00125 
+<a name="l00126"></a>00126 <span class="comment">// if no baud rate is defined for xbee, default is set here</span>
+<a name="l00127"></a>00127 <span class="preprocessor">#ifndef XBEE_BAUD</span>
+<a name="l00128"></a>00128 <span class="preprocessor"></span>
+<a name="l00129"></a><a class="code" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">00129</a> <span class="preprocessor">#define XBEE_BAUD 9600</span>
+<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00131"></a>00131 <span class="preprocessor"></span>
+<a name="l00133"></a>00133 <span class="keywordtype">void</span> <a class="code" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107" title="Initialize the XBee.">xbee_init</a>(<span class="keywordtype">void</span>);
+<a name="l00135"></a>00135 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#g70c6b231330312d4f69b9a8afb5af989" title="Print a character to the XBee.">xbee_putc</a>(<span class="keywordtype">char</span> c);
+<a name="l00137"></a>00137 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88" title="Read a character from the XBee.">xbee_getc</a>(<span class="keywordtype">void</span>);
+<a name="l00139"></a>00139 <span class="keywordtype">int</span> <a class="code" href="group__xbee.html#gfb7bd5dd535e8251bfff78854c6c15f2" title="Read a character from the XBee without blocking.">xbee_getc_nb</a>(<span class="keywordtype">char</span> *c);
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142  <span class="comment">//end addtogroup</span>
+<a name="l00144"></a>00144 
+<a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
+<a name="l00146"></a>00146 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/i2c_8h.html
===================================================================
--- trunk/docs/libdragonfly/i2c_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/i2c_8h.html	(revision 1371)
@@ -63,7 +63,7 @@
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Contains functions for I2C.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Kevin Woo and Suresh Nidhiry, Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/annotated.html
===================================================================
--- trunk/docs/libdragonfly/annotated.html	(revision 1370)
+++ trunk/docs/libdragonfly/annotated.html	(revision 1371)
@@ -26,7 +26,7 @@
   <tr><td class="indexkey"><a class="el" href="structadc__t.html">adc_t</a></td><td class="indexvalue">Struct to hold the value of a particular analog port </td></tr>
 </table>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/buzzer_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/buzzer_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/buzzer_8h-source.html	(revision 1371)
@@ -57,7 +57,7 @@
 <a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
 <a name="l00088"></a>00088 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/reset_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/reset_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/reset_8h-source.html	(revision 1371)
@@ -25,7 +25,7 @@
 <a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
 <a name="l00049"></a>00049 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__util__atomic.html
===================================================================
--- trunk/docs/libdragonfly/group__util__atomic.html	(nonexistent)
+++ trunk/docs/libdragonfly/group__util__atomic.html	(revision 1371)
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: &lt;util/atomic.h&gt; Atomically and Non-Atomically Executed Code Blocks</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>&lt;util/atomic.h&gt; Atomically and Non-Atomically Executed Code Blocks</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gaaea265b31dabcfb3098bec7685c39e4">ATOMIC_BLOCK</a>(type)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g6e195ee2117559a25f77fbba9054674a">NONATOMIC_BLOCK</a>(type)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g92b11103b4b3b000a3190f0d26ba7062">ATOMIC_FORCEON</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gb075653bf638fae9db049575741d3152">NONATOMIC_RESTORESTATE</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gfb959d7d00d2d790b58d0e9880ea255a">NONATOMIC_FORCEOFF</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">    #include &lt;util/atomic.h&gt;</span>
+</pre></div><p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The macros in this header file require the ISO/IEC 9899:1999 ("ISO C99") feature of for loop variables that are declared inside the for loop itself. For that reason, this header file can only be used if the standard level of the compiler (option --std=) is set to either <code>c99</code> or <code>gnu99</code>.</dd></dl>
+The macros in this header file deal with code blocks that are guaranteed to be excuted Atomically or Non-Atmomically. The term "Atomic" in this context refers to the unability of the respective code to be interrupted.<p>
+These macros operate via automatic manipulation of the Global Interrupt Status (I) bit of the SREG register. Exit paths from both block types are all managed automatically without the need for special considerations, i. e. the interrupt status will be restored to the same value it has been when entering the respective block.<p>
+A typical example that requires atomic access is a 16 (or more) bit variable that is shared between the main execution path and an ISR. While declaring such a variable as volatile ensures that the compiler will not optimize accesses to it away, it does not guarantee atomic access to it. Assuming the following example:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<span class="preprocessor">#include &lt;avr/interrupt.h&gt;</span>
+<span class="preprocessor">#include &lt;avr/io.h&gt;</span>
+
+<span class="keyword">volatile</span> uint16_t ctr;
+
+ISR(TIMER1_OVF_vect)
+{
+  ctr--;
+}
+
+...
+int
+main(<span class="keywordtype">void</span>)
+{
+   ...
+   ctr = 0x200;
+   start_timer();
+   <span class="keywordflow">while</span> (ctr != 0)
+     <span class="comment">// wait</span>
+       ;
+   ...
+}
+</pre></div><p>
+There is a chance where the main context will exit its wait loop when the variable <code>ctr</code> just reached the value 0xFF. This happens because the compiler cannot natively access a 16-bit variable atomically in an 8-bit CPU. So the variable is for example at 0x100, the compiler then tests the low byte for 0, which succeeds. It then proceeds to test the high byte, but that moment the ISR triggers, and the main context is interrupted. The ISR will decrement the variable from 0x100 to 0xFF, and the main context proceeds. It now tests the high byte of the variable which is (now) also 0, so it concludes the variable has reached 0, and terminates the loop.<p>
+Using the macros from this header file, the above code can be rewritten like:<p>
+<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;inttypes.h&gt;</span>
+<span class="preprocessor">#include &lt;avr/interrupt.h&gt;</span>
+<span class="preprocessor">#include &lt;avr/io.h&gt;</span>
+<span class="preprocessor">#include &lt;util/atomic.h&gt;</span>
+
+<span class="keyword">volatile</span> uint16_t ctr;
+
+ISR(TIMER1_OVF_vect)
+{
+  ctr--;
+}
+
+...
+int
+main(<span class="keywordtype">void</span>)
+{
+   ...
+   ctr = 0x200;
+   start_timer();
+   sei();
+   uint16_t ctr_copy;
+   <span class="keywordflow">do</span>
+   {
+     <a class="code" href="group__util__atomic.html#gaaea265b31dabcfb3098bec7685c39e4">ATOMIC_BLOCK</a>(<a class="code" href="group__util__atomic.html#g92b11103b4b3b000a3190f0d26ba7062">ATOMIC_FORCEON</a>)
+     {
+       ctr_copy = ctr;
+     }
+   }
+   <span class="keywordflow">while</span> (ctr_copy != 0);
+   ...
+}
+</pre></div><p>
+This will install the appropriate interrupt protection before accessing variable <code>ctr</code>, so it is guaranteed to be consistently tested. If the global interrupt state were uncertain before entering the ATOMIC_BLOCK, it should be executed with the parameter ATOMIC_RESTORESTATE rather than ATOMIC_FORCEON. <hr><h2>Define Documentation</h2>
+<a class="anchor" name="gaaea265b31dabcfb3098bec7685c39e4"></a><!-- doxytag: member="atomic.h::ATOMIC_BLOCK" ref="gaaea265b31dabcfb3098bec7685c39e4" args="(type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ATOMIC_BLOCK          </td>
+          <td>(</td>
+          <td class="paramtype">type&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> ( type, __ToDo = __iCliRetVal(); \
+                               __ToDo ; __ToDo = 0 )
+</pre></div>Creates a block of code that is guaranteed to be executed atomically. Upon entering the block the Global Interrupt Status flag in SREG is disabled, and re-enabled upon exiting the block from any exit path.<p>
+Two possible macro parameters are permitted, ATOMIC_RESTORESTATE and ATOMIC_FORCEON. 
+</div>
+</div><p>
+<a class="anchor" name="g92b11103b4b3b000a3190f0d26ba7062"></a><!-- doxytag: member="atomic.h::ATOMIC_FORCEON" ref="g92b11103b4b3b000a3190f0d26ba7062" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ATOMIC_FORCEON          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
+        __attribute__((__cleanup__(__iSeiParam))) = 0
+</pre></div>This is a possible parameter for ATOMIC_BLOCK. When used, it will cause the ATOMIC_BLOCK to force the state of the SREG register on exit, enabling the Global Interrupt Status flag bit. This saves on flash space as the previous value of the SREG register does not need to be saved at the start of the block.<p>
+Care should be taken that ATOMIC_FORCEON is only used when it is known that interrupts are enabled before the block's execution or when the side effects of enabling global interrupts at the block's completion are known and understood. 
+</div>
+</div><p>
+<a class="anchor" name="g362c18b15a09703e42e1c246c47420ef"></a><!-- doxytag: member="atomic.h::ATOMIC_RESTORESTATE" ref="g362c18b15a09703e42e1c246c47420ef" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ATOMIC_RESTORESTATE          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
+        __attribute__((__cleanup__(__iRestore))) = SREG
+</pre></div>This is a possible parameter for ATOMIC_BLOCK. When used, it will cause the ATOMIC_BLOCK to restore the previous state of the SREG register, saved before the Global Interrupt Status flag bit was disabled. The net effect of this is to make the ATOMIC_BLOCK's contents guaranteed atomic, without changing the state of the Global Interrupt Status flag when execution of the block completes. 
+</div>
+</div><p>
+<a class="anchor" name="g6e195ee2117559a25f77fbba9054674a"></a><!-- doxytag: member="atomic.h::NONATOMIC_BLOCK" ref="g6e195ee2117559a25f77fbba9054674a" args="(type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define NONATOMIC_BLOCK          </td>
+          <td>(</td>
+          <td class="paramtype">type&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> ( type, __ToDo = __iSeiRetVal(); \
+                                  __ToDo ;  __ToDo = 0 )
+</pre></div>Creates a block of code that is executed non-atomically. Upon entering the block the Global Interrupt Status flag in SREG is enabled, and disabled upon exiting the block from any exit path. This is useful when nested inside ATOMIC_BLOCK sections, allowing for non-atomic execution of small blocks of code while maintaining the atomic access of the other sections of the parent ATOMIC_BLOCK.<p>
+Two possible macro parameters are permitted, NONATOMIC_RESTORESTATE and NONATOMIC_FORCEOFF. 
+</div>
+</div><p>
+<a class="anchor" name="gfb959d7d00d2d790b58d0e9880ea255a"></a><!-- doxytag: member="atomic.h::NONATOMIC_FORCEOFF" ref="gfb959d7d00d2d790b58d0e9880ea255a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define NONATOMIC_FORCEOFF          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
+        __attribute__((__cleanup__(__iCliParam))) = 0
+</pre></div>This is a possible parameter for NONATOMIC_BLOCK. When used, it will cause the NONATOMIC_BLOCK to force the state of the SREG register on exit, disabling the Global Interrupt Status flag bit. This saves on flash space as the previous value of the SREG register does not need to be saved at the start of the block.<p>
+Care should be taken that NONATOMIC_FORCEOFF is only used when it is known that interrupts are disabled before the block's execution or when the side effects of disabling global interrupts at the block's completion are known and understood. 
+</div>
+</div><p>
+<a class="anchor" name="gb075653bf638fae9db049575741d3152"></a><!-- doxytag: member="atomic.h::NONATOMIC_RESTORESTATE" ref="gb075653bf638fae9db049575741d3152" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define NONATOMIC_RESTORESTATE          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
+        __attribute__((__cleanup__(__iRestore))) = SREG
+</pre></div>This is a possible parameter for NONATOMIC_BLOCK. When used, it will cause the NONATOMIC_BLOCK to restore the previous state of the SREG register, saved before the Global Interrupt Status flag bit was enabled. The net effect of this is to make the NONATOMIC_BLOCK's contents guaranteed non-atomic, without changing the state of the Global Interrupt Status flag when execution of the block completes. 
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/globals_type.html
===================================================================
--- trunk/docs/libdragonfly/globals_type.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_type.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -44,7 +45,7 @@
 : <a class="el" href="group__orbs.html#ge1444a97f794787d7ffaa5ec12e2a1e2">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/eeprom_8h.html
===================================================================
--- trunk/docs/libdragonfly/eeprom_8h.html	(nonexistent)
+++ trunk/docs/libdragonfly/eeprom_8h.html	(revision 1371)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: eeprom.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>eeprom.h File Reference</h1>handles eeprom storage for persistent data <a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="bom_8h-source.html">bom.h</a>&gt;</code><br>
+
+<p>
+<a href="eeprom_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="44e05e0de5d78546c63718c7d8773a9a"></a><!-- doxytag: member="eeprom.h::EEPROM_ROBOT_ID_ADDR" ref="44e05e0de5d78546c63718c7d8773a9a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>EEPROM_ROBOT_ID_ADDR</b>&nbsp;&nbsp;&nbsp;0x10</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea8a316eb9414e62e8b2c1434ab57661"></a><!-- doxytag: member="eeprom.h::EEPROM_BOM_TYPE_ADDR" ref="ea8a316eb9414e62e8b2c1434ab57661" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>EEPROM_BOM_TYPE_ADDR</b>&nbsp;&nbsp;&nbsp;0x14</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eeprom_8h.html#4f56f25703c0e313fae3d0d327109082">eeprom_put_byte</a> (unsigned int addr, unsigned char byte)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">store a byte to eeproem  <a href="#4f56f25703c0e313fae3d0d327109082"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eeprom_8h.html#1235e4e69e3f0114160e69705f38bda1">eeprom_get_byte</a> (unsigned int addr, unsigned char *byte)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">reads a byte from eeprom  <a href="#1235e4e69e3f0114160e69705f38bda1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eeprom_8h.html#bfc8e084d177435cbe1cc30cfedf4327">get_robotid</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stored robot ID  <a href="#bfc8e084d177435cbe1cc30cfedf4327"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eeprom_8h.html#de3f83da05149edf008cb5fa23fde7df">get_bom_type</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stored robot ID  <a href="#de3f83da05149edf008cb5fa23fde7df"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+handles eeprom storage for persistent data 
+<p>
+Contains functions and definitions for reading and writing to eeprom<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, Brad Neuman </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="1235e4e69e3f0114160e69705f38bda1"></a><!-- doxytag: member="eeprom.h::eeprom_get_byte" ref="1235e4e69e3f0114160e69705f38bda1" args="(unsigned int addr, unsigned char *byte)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int eeprom_get_byte           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>addr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned char *&nbsp;</td>
+          <td class="paramname"> <em>byte</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+reads a byte from eeprom 
+<p>
+Pass it thge address and a pointer to a byte where the byte at the address will be stored<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful (byte is set to the eeprom value at addr), nonzero if there was a problem </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4f56f25703c0e313fae3d0d327109082"></a><!-- doxytag: member="eeprom.h::eeprom_put_byte" ref="4f56f25703c0e313fae3d0d327109082" args="(unsigned int addr, unsigned char byte)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int eeprom_put_byte           </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>addr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned char&nbsp;</td>
+          <td class="paramname"> <em>byte</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+store a byte to eeproem 
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if success, nonzero on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="de3f83da05149edf008cb5fa23fde7df"></a><!-- doxytag: member="eeprom.h::get_bom_type" ref="de3f83da05149edf008cb5fa23fde7df" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char get_bom_type           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+get stored robot ID 
+<p>
+checks that EEPROM has been programed with an BOM type and returns it<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the robot bom type as defined in <a class="el" href="bom_8h.html" title="Definitions for using the BOM.">bom.h</a>, if it is stored. If it returns 0xFF it is probably invalid </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bfc8e084d177435cbe1cc30cfedf4327"></a><!-- doxytag: member="eeprom.h::get_robotid" ref="bfc8e084d177435cbe1cc30cfedf4327" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned char get_robotid           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+get stored robot ID 
+<p>
+checks that EEPROM has been programed with an ID and returns it<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the robot id, if it is stored. If it returns 0xFF it is probably invalid </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/group__reset.html
===================================================================
--- trunk/docs/libdragonfly/group__reset.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__reset.html	(revision 1371)
@@ -49,7 +49,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/motor_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/motor_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/motor_8h-source.html	(revision 1371)
@@ -33,7 +33,7 @@
 <a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
 <a name="l00064"></a>00064 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/analog_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/analog_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/analog_8h-source.html	(revision 1371)
@@ -86,7 +86,7 @@
 <a name="l00127"></a>00127 <span class="preprocessor">#endif</span>
 <a name="l00128"></a>00128 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/odometry_8h.html
===================================================================
--- trunk/docs/libdragonfly/odometry_8h.html	(nonexistent)
+++ trunk/docs/libdragonfly/odometry_8h.html	(revision 1371)
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: odometry.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>odometry.h File Reference</h1>Code for estimating the robots pose. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="odometry_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gea4914268d0abe55b9caafac537bc263"></a><!-- doxytag: member="odometry.h::ODOMETRY_CLK" ref="gea4914268d0abe55b9caafac537bc263" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ODOMETRY_CLK</b>&nbsp;&nbsp;&nbsp;255u</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3104e6ab77c71296e6879fc57af26e8e"></a><!-- doxytag: member="odometry.h::TIME_SCALE" ref="g3104e6ab77c71296e6879fc57af26e8e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIME_SCALE</b>&nbsp;&nbsp;&nbsp;64</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc7a3a8ed9add07ef101e2265dc954b63"></a><!-- doxytag: member="odometry.h::ROBOT_WIDTH_UM" ref="gc7a3a8ed9add07ef101e2265dc954b63" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ROBOT_WIDTH_UM</b>&nbsp;&nbsp;&nbsp;137000</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcf7c58b37a2d5cb3793a4f94c2fd1ab0"></a><!-- doxytag: member="odometry.h::CLICK_DISTANCE_UM" ref="gcf7c58b37a2d5cb3793a4f94c2fd1ab0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CLICK_DISTANCE_UM</b>&nbsp;&nbsp;&nbsp;204</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30e5d468b11a21497a943586ed536d81"></a><!-- doxytag: member="odometry.h::DISTANCE_SCALE" ref="g30e5d468b11a21497a943586ed536d81" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>DISTANCE_SCALE</b>&nbsp;&nbsp;&nbsp;2.10526316</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7618f3a2fe3ffe816299501556cea637"></a><!-- doxytag: member="odometry.h::ANGLE_SCALE" ref="g7618f3a2fe3ffe816299501556cea637" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ANGLE_SCALE</b>&nbsp;&nbsp;&nbsp;1.12823207</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g31c085285b8a8c5049123640e228741a">odometry_dx</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated x position.  <a href="group__odometry.html#g31c085285b8a8c5049123640e228741a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g52bee31a0838e0a782758c90e4fa35df">odometry_dy</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated y position.  <a href="group__odometry.html#g52bee31a0838e0a782758c90e4fa35df"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g85a0a0b11d2adf53e2f88a836080d1f4">odometry_angle</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated orientation.  <a href="group__odometry.html#g85a0a0b11d2adf53e2f88a836080d1f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g9ccb8b57330f6769afa0f68be3a6d564">odometry_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize odometry. MUST be called before the other functions work.  <a href="group__odometry.html#g9ccb8b57330f6769afa0f68be3a6d564"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g778f4744dfbdb1923b51cc43f0e9ff37">odometry_reset</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset position and orientation to the origin facing the x axis.  <a href="group__odometry.html#g778f4744dfbdb1923b51cc43f0e9ff37"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc958e4b80d89acf8b61a140b49353ff7"></a><!-- doxytag: member="odometry.h::odometry_velocity" ref="gc958e4b80d89acf8b61a140b49353ff7" args="(void)" -->
+long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#gc958e4b80d89acf8b61a140b49353ff7">odometry_velocity</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Report estimated velocity [mm/s]. <br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Code for estimating the robots pose. 
+<p>
+Offers simple position and orientation information.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/encoders_8h.html
===================================================================
--- trunk/docs/libdragonfly/encoders_8h.html	(nonexistent)
+++ trunk/docs/libdragonfly/encoders_8h.html	(revision 1371)
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: encoders.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>encoders.h File Reference</h1>Contains functions for reading encoder values. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="encoders_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g437ef08681e7210d6678427030446a54"></a><!-- doxytag: member="encoders.h::LEFT" ref="g437ef08681e7210d6678427030446a54" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">LEFT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left wheel. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g80fb826a684cf3f0d306b22aa100ddac"></a><!-- doxytag: member="encoders.h::RIGHT" ref="g80fb826a684cf3f0d306b22aa100ddac" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">RIGHT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right wheel. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7c882763d1877f0000be3e73f93d08a"></a><!-- doxytag: member="encoders.h::ENCODER_MAGNET_FAILURE" ref="ga7c882763d1877f0000be3e73f93d08a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga7c882763d1877f0000be3e73f93d08a">ENCODER_MAGNET_FAILURE</a>&nbsp;&nbsp;&nbsp;1025</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magnet misaligned - likely distance from encoder problem. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g461113043ab113b6dc7d56619a1a15f4"></a><!-- doxytag: member="encoders.h::ENCODER_MISALIGNED" ref="g461113043ab113b6dc7d56619a1a15f4" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g461113043ab113b6dc7d56619a1a15f4">ENCODER_MISALIGNED</a>&nbsp;&nbsp;&nbsp;1027</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder misaligned - likely on XY plane. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0a5cb25278a57b19a46264d134033f7b"></a><!-- doxytag: member="encoders.h::ENCODER_DATA_NOT_READY" ref="g0a5cb25278a57b19a46264d134033f7b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">ENCODER_DATA_NOT_READY</a>&nbsp;&nbsp;&nbsp;1026</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not enough time has passed - encoders not initialized in hardware. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5ff35c79ce306ac5c3580b96dea4e653"></a><!-- doxytag: member="encoders.h::ENCODER_DELAY" ref="g5ff35c79ce306ac5c3580b96dea4e653" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">ENCODER_DELAY</a>&nbsp;&nbsp;&nbsp;20</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delay_ms argument after a full read is complete <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9173b4a556a38fffd9336138830ebfa0"></a><!-- doxytag: member="encoders.h::OCF" ref="g9173b4a556a38fffd9336138830ebfa0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OCF</b>&nbsp;&nbsp;&nbsp;_BV(4)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfb416b9855f4d6cc2153044a681509e"></a><!-- doxytag: member="encoders.h::COF" ref="gdfb416b9855f4d6cc2153044a681509e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>COF</b>&nbsp;&nbsp;&nbsp;_BV(3)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfbb57dfc13455b39716c3bb5c55eaa06"></a><!-- doxytag: member="encoders.h::LIN" ref="gfbb57dfc13455b39716c3bb5c55eaa06" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIN</b>&nbsp;&nbsp;&nbsp;_BV(2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc67b4ce01de99b63b3639f03c03a05b"></a><!-- doxytag: member="encoders.h::MagINCn" ref="gdc67b4ce01de99b63b3639f03c03a05b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagINCn</b>&nbsp;&nbsp;&nbsp;_BV(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc7fd147cd970830e275f0ed9ebff00a"></a><!-- doxytag: member="encoders.h::MagDECn" ref="gdc7fd147cd970830e275f0ed9ebff00a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagDECn</b>&nbsp;&nbsp;&nbsp;_BV(0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6b20d41d6252e9871430c242cb1a56e7"></a><!-- doxytag: member="encoders.h::BUFFER_SIZE" ref="g6b20d41d6252e9871430c242cb1a56e7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">BUFFER_SIZE</a>&nbsp;&nbsp;&nbsp;23</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer size. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf02e2149caeb6116f256783348031c86"></a><!-- doxytag: member="encoders.h::encoders_init" ref="gf02e2149caeb6116f256783348031c86" args="(void)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gf02e2149caeb6116f256783348031c86">encoders_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize encoders. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g9abc8e86fe64bcf4c3862ed12d913530">encoder_read</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read instantaneous encoder value.  <a href="group__encoders.html#g9abc8e86fe64bcf4c3862ed12d913530"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992">encoder_get_dx</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total distance traveled.  <a href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g7bef9844241df2154df77d10e5bf47c4">encoder_rst_dx</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset distance counter.  <a href="group__encoders.html#g7bef9844241df2154df77d10e5bf47c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g8ad080c3e41790edd7e7ccbc91060fec">encoder_get_tc</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get time count: The number of encoder reads that have occurred.  <a href="group__encoders.html#g8ad080c3e41790edd7e7ccbc91060fec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga410e62db3c6fdc317130a8d5a238655"></a><!-- doxytag: member="encoders.h::encoder_rst_tc" ref="ga410e62db3c6fdc317130a8d5a238655" args="(void)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga410e62db3c6fdc317130a8d5a238655">encoder_rst_tc</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the time count. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gd89387a19e48bee58885735099eabeed">encoder_wait</a> (int nReadings)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for the next n encoder reading, then returns.  <a href="group__encoders.html#gd89387a19e48bee58885735099eabeed"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Contains functions for reading encoder values. 
+<p>
+Contains high and low level functions for reading encoders including reading out total distance covered, and eventually velocity.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/lcd_8h.html
===================================================================
--- trunk/docs/libdragonfly/lcd_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/lcd_8h.html	(revision 1371)
@@ -54,7 +54,7 @@
 Contains definitions and functions for dealing with the LCD screen.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x62.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x62.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x62.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -115,21 +116,23 @@
 : <a class="el" href="group__dio.html#g3a4cc5e218cef7de139625a519e29ff3">dio.h</a>
 <li>BTN2
 : <a class="el" href="group__dio.html#g9dc19cdd6944e087c077044296a1ad8e">dio.h</a>
+<li>BUFFER_SIZE
+: <a class="el" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">encoders.h</a>
 <li>button1_click()
-: <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.c</a>
-, <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.h</a>
+: <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.h</a>
+, <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.c</a>
 <li>button1_read()
 : <a class="el" href="group__dio.html#gedac5cd2a11710ab4294de2ae4efe989">dio.h</a>
 , <a class="el" href="group__dio.html#gedac5cd2a11710ab4294de2ae4efe989">dio.c</a>
 <li>button1_wait()
-: <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.h</a>
-, <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.c</a>
+: <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.c</a>
+, <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.h</a>
 <li>button2_click()
 : <a class="el" href="group__dio.html#g4147c347b473bd41c0a0f02af4dd39f2">dio.h</a>
 , <a class="el" href="group__dio.html#g4147c347b473bd41c0a0f02af4dd39f2">dio.c</a>
 <li>button2_read()
-: <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.c</a>
-, <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.h</a>
+: <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.h</a>
+, <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.c</a>
 <li>button2_wait()
 : <a class="el" href="group__dio.html#g4971f4473e759bcff2e2758e75bcdbe8">dio.h</a>
 , <a class="el" href="group__dio.html#g4971f4473e759bcff2e2758e75bcdbe8">dio.c</a>
@@ -137,7 +140,7 @@
 : <a class="el" href="group__dragonfly.html#g145103118f6d9d1129aa4509cf214a13">dragonfly_lib.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x64.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x64.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x64.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,7 +70,7 @@
 : <a class="el" href="group__buzzer.html#g33eb0561dd16dd44c7c23519dd22540a">buzzer.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x74.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x74.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x74.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__time.html#g4c2dc0c899e1571596205f29fcc35cd6">time.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/bom_8h.html
===================================================================
--- trunk/docs/libdragonfly/bom_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/bom_8h.html	(revision 1371)
@@ -76,7 +76,7 @@
 This file contains definitions for using the Bearing and Orientation Module (BOM).<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/structadc__t.html
===================================================================
--- trunk/docs/libdragonfly/structadc__t.html	(revision 1370)
+++ trunk/docs/libdragonfly/structadc__t.html	(revision 1371)
@@ -44,7 +44,7 @@
 Struct to hold the value of a particular analog port. <hr>The documentation for this struct was generated from the following file:<ul>
 <li><a class="el" href="analog_8h-source.html">analog.h</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/ring__buffer_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/ring__buffer_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/ring__buffer_8h-source.html	(revision 1371)
@@ -68,7 +68,7 @@
 <a name="l00141"></a>00141 <span class="preprocessor">#endif </span><span class="comment">/* _RING_BUFFER_H */</span>
 <a name="l00142"></a>00142 
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x6e.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x6e.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x6e.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -75,7 +76,7 @@
 : <a class="el" href="group__move.html#gdfc67eeed7b52f97b8483af04e27a9ce">move.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/lights_8h.html
===================================================================
--- trunk/docs/libdragonfly/lights_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/lights_8h.html	(revision 1371)
@@ -146,7 +146,7 @@
 Contains declarations for using the orbs and PWM.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Based on Firefly Library, by Tom Lauwers and Steven Shamlian </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/time_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/time_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/time_8h-source.html	(revision 1371)
@@ -45,7 +45,7 @@
 <a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
 <a name="l00075"></a>00075 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/pages.html
===================================================================
--- trunk/docs/libdragonfly/pages.html	(revision 1370)
+++ trunk/docs/libdragonfly/pages.html	(revision 1371)
@@ -22,7 +22,7 @@
 
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/lcd_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/lcd_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/lcd_8h-source.html	(revision 1371)
@@ -29,7 +29,7 @@
 <a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
 <a name="l00061"></a>00061 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/encoders_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/encoders_8h-source.html	(nonexistent)
+++ trunk/docs/libdragonfly/encoders_8h-source.html	(revision 1371)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: encoders.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<h1>encoders.h</h1><a href="encoders_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00018"></a>00018 <span class="preprocessor">#ifndef __ENCODERS_H__</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define __ENCODERS_H__</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LEFT</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span>
+<a name="l00024"></a><a class="code" href="group__encoders.html#g437ef08681e7210d6678427030446a54">00024</a> <span class="preprocessor">        #define LEFT 0</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#ifndef RIGHT</span>
+<a name="l00027"></a>00027 <span class="preprocessor"></span>
+<a name="l00028"></a><a class="code" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">00028</a> <span class="preprocessor">        #define RIGHT 1</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00032"></a><a class="code" href="group__encoders.html#ga7c882763d1877f0000be3e73f93d08a">00032</a> <span class="preprocessor">#define ENCODER_MAGNET_FAILURE 1025</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span>
+<a name="l00034"></a><a class="code" href="group__encoders.html#g461113043ab113b6dc7d56619a1a15f4">00034</a> <span class="preprocessor">#define ENCODER_MISALIGNED 1027</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a><a class="code" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">00036</a> <span class="preprocessor">#define ENCODER_DATA_NOT_READY 1026</span>
+<a name="l00037"></a>00037 <span class="preprocessor"></span>
+<a name="l00039"></a><a class="code" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">00039</a> <span class="preprocessor">#define ENCODER_DELAY 20</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span>
+<a name="l00041"></a>00041 <span class="comment">//Data invalid flags (hardware failure):</span>
+<a name="l00042"></a>00042 <span class="preprocessor">#define OCF _BV(4)</span>
+<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define COF _BV(3)</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>
+<a name="l00045"></a>00045 <span class="comment">//Data invalid alarm (May be invalid):</span>
+<a name="l00046"></a>00046 <span class="preprocessor">#define LIN _BV(2)</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span>
+<a name="l00048"></a>00048 <span class="preprocessor">#define MagINCn _BV(1)</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define MagDECn _BV(0)</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span>
+<a name="l00052"></a><a class="code" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">00052</a> <span class="preprocessor">#define BUFFER_SIZE 23</span>
+<a name="l00053"></a>00053 <span class="preprocessor"></span>
+<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="group__encoders.html#gf02e2149caeb6116f256783348031c86" title="Initializes encoder variables and the hardware interface.">encoders_init</a>(<span class="keywordtype">void</span>);
+<a name="l00057"></a>00057 <span class="keywordtype">int</span> <a class="code" href="group__encoders.html#g9abc8e86fe64bcf4c3862ed12d913530" title="Returns the specified encoders value.">encoder_read</a>(<span class="keywordtype">char</span> encoder);
+<a name="l00058"></a>00058 
+<a name="l00060"></a>00060 <span class="keywordtype">int</span> <a class="code" href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992" title="Get total distance traveled.">encoder_get_dx</a>(<span class="keywordtype">char</span> encoder);
+<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="group__encoders.html#g7bef9844241df2154df77d10e5bf47c4" title="Reset distance counter.">encoder_rst_dx</a>(<span class="keywordtype">char</span> encoder);
+<a name="l00064"></a>00064 <span class="keywordtype">int</span> <a class="code" href="group__encoders.html#g8ad080c3e41790edd7e7ccbc91060fec" title="Returns the number of encoder reads that have occurred.">encoder_get_tc</a>(<span class="keywordtype">void</span>);
+<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="group__encoders.html#ga410e62db3c6fdc317130a8d5a238655" title="Resets the encoder read counter.">encoder_rst_tc</a>(<span class="keywordtype">void</span>);
+<a name="l00067"></a>00067 
+<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="group__encoders.html#gd89387a19e48bee58885735099eabeed" title="Waits until n encoder reads have occurred. Counter is reset on functions exit.">encoder_wait</a>( <span class="keywordtype">int</span> nReadings );
+<a name="l00070"></a>00070  <span class="comment">//end group</span>
+<a name="l00072"></a>00072 
+<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/odometry_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/odometry_8h-source.html	(nonexistent)
+++ trunk/docs/libdragonfly/odometry_8h-source.html	(revision 1371)
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: odometry.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<h1>odometry.h</h1><a href="odometry_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00011"></a>00011 <span class="preprocessor">#ifndef __ODOMETRY_C__</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define __ODOMETRY_C__</span>
+<a name="l00013"></a>00013 <span class="preprocessor"></span>
+<a name="l00019"></a>00019 <span class="comment">//Odometry resolution, *64 microseconds.</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#define ODOMETRY_CLK 255u </span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define TIME_SCALE 64</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span>
+<a name="l00023"></a>00023 <span class="comment">//Wheel = 2.613 in.  </span>
+<a name="l00024"></a>00024 <span class="comment">//Circumference = 208.508133 mm</span>
+<a name="l00025"></a>00025 <span class="comment">//Distance per encoder click (circumference / 1024)  = 203.621224 um.</span>
+<a name="l00026"></a>00026 <span class="comment">//Robot width = 5.3745 in. = 136.5123 mm</span>
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 <span class="preprocessor">#define ROBOT_WIDTH_UM 137000  //um</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define CLICK_DISTANCE_UM 204 //um</span>
+<a name="l00030"></a>00030 <span class="preprocessor"></span>
+<a name="l00031"></a>00031 <span class="preprocessor">#define DISTANCE_SCALE 2.10526316 //Magic constant.</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define ANGLE_SCALE 1.12823207 //Magic constant.</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="keywordtype">long</span> <a class="code" href="group__odometry.html#g31c085285b8a8c5049123640e228741a" title="Retrieve the robots estimated x position.">odometry_dx</a>(<span class="keywordtype">void</span>);
+<a name="l00036"></a>00036 
+<a name="l00038"></a>00038 <span class="keywordtype">long</span> <a class="code" href="group__odometry.html#g52bee31a0838e0a782758c90e4fa35df" title="Retrieve the robots estimated y position.">odometry_dy</a>(<span class="keywordtype">void</span>);
+<a name="l00039"></a>00039 
+<a name="l00041"></a>00041 <span class="keywordtype">double</span> <a class="code" href="group__odometry.html#g85a0a0b11d2adf53e2f88a836080d1f4" title="Retrieve the robots estimated orientation.">odometry_angle</a>(<span class="keywordtype">void</span>);
+<a name="l00042"></a>00042 
+<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="group__odometry.html#g9ccb8b57330f6769afa0f68be3a6d564" title="Initialize odometry. MUST be called before the other functions work.">odometry_init</a>(<span class="keywordtype">void</span>);
+<a name="l00046"></a>00046 
+<a name="l00049"></a>00049 <span class="keywordtype">void</span> <a class="code" href="group__odometry.html#g778f4744dfbdb1923b51cc43f0e9ff37" title="Reset position and orientation to the origin facing the x axis.">odometry_reset</a>(<span class="keywordtype">void</span>);
+<a name="l00050"></a>00050 
+<a name="l00052"></a>00052 <span class="keywordtype">long</span> <a class="code" href="group__odometry.html#gc958e4b80d89acf8b61a140b49353ff7" title="Report estimated velocity [mm/s].">odometry_velocity</a>(<span class="keywordtype">void</span>);
+<a name="l00053"></a>00053  <span class="comment">//end group</span>
+<a name="l00055"></a>00055 
+<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/globals_0x71.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x71.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x71.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__time.html#g0b2a348d9afca1f1182bc2bb2aa6a3d1">time.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x61.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x61.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x61.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -111,7 +112,7 @@
 : <a class="el" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">atomic.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/move_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/move_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/move_8h-source.html	(revision 1371)
@@ -45,7 +45,7 @@
 <a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
 <a name="l00075"></a>00075 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__usb.html
===================================================================
--- trunk/docs/libdragonfly/group__usb.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__usb.html	(revision 1371)
@@ -41,6 +41,9 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">usb_puts</a> (char *s)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">usb_puts_P</a> (PGM_P s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">usb_puti</a> (int value)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an integer to USB.  <a href="#gcd371dedbff10f0c52dca4b3b7af9e3d"></a><br></td></tr>
@@ -85,7 +88,7 @@
 </dl>
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>the hexadecimal digit in ASCII code, or '?' if the input is invalid. </dd></dl>
 
-<p>Referenced by <a class="el" href="serial_8c-source.html#l00305">usb_puth16()</a>, and <a class="el" href="serial_8c-source.html#l00323">usb_puth8()</a>.</p>
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00328">usb_puth16()</a>, and <a class="el" href="serial_8c-source.html#l00345">usb_puth8()</a>.</p>
 
 </div>
 </div><p>
@@ -112,7 +115,7 @@
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>the first character in the usb buffer</dd></dl>
 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c" title="Read a character from USB without blocking.">usb_getc_nb</a> </dd></dl>
 
-<p>Referenced by <a class="el" href="serial_8c-source.html#l00048">usb_init()</a>.</p>
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>.</p>
 
 </div>
 </div><p>
@@ -166,7 +169,7 @@
 Initialize the USB. 
 <p>
 Initializes communication over the USB serial port. This must be called before any other usb function may be used. 
-<p>References <a class="el" href="serial_8c-source.html#l00165">usb_getc()</a>, and <a class="el" href="serial_8c-source.html#l00117">usb_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00043">usb_fd</a>, <a class="el" href="serial_8c-source.html#l00188">usb_getc()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
 
 <p>Referenced by <a class="el" href="dragonfly__lib_8c-source.html#l00068">dragonfly_init()</a>.</p>
 
@@ -199,7 +202,7 @@
 </dl>
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
 
-<p>Referenced by <a class="el" href="serial_8c-source.html#l00048">usb_init()</a>, <a class="el" href="serial_8c-source.html#l00305">usb_puth16()</a>, <a class="el" href="serial_8c-source.html#l00323">usb_puth8()</a>, <a class="el" href="serial_8c-source.html#l00256">usb_puti()</a>, and <a class="el" href="serial_8c-source.html#l00147">usb_puts()</a>.</p>
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>, <a class="el" href="serial_8c-source.html#l00328">usb_puth16()</a>, <a class="el" href="serial_8c-source.html#l00345">usb_puth8()</a>, <a class="el" href="serial_8c-source.html#l00279">usb_puti()</a>, <a class="el" href="serial_8c-source.html#l00154">usb_puts()</a>, and <a class="el" href="serial_8c-source.html#l00168">usb_puts_P()</a>.</p>
 
 </div>
 </div><p>
@@ -230,7 +233,7 @@
 </dl>
 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>, <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d" title="Print a fixed width hexadecimal representation to USB.">usb_puth8</a>, <a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> </dd></dl>
 
-<p>References <a class="el" href="serial_8c-source.html#l00288">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00117">usb_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00311">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
 
 </div>
 </div><p>
@@ -261,7 +264,7 @@
 </dl>
 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>, <a class="el" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a>, <a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> </dd></dl>
 
-<p>References <a class="el" href="serial_8c-source.html#l00288">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00117">usb_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00311">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
 
 </div>
 </div><p>
@@ -293,7 +296,7 @@
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful, nonzero otherwise</dd></dl>
 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946" title="Print a character to USB.">usb_putc</a> </dd></dl>
 
-<p>References <a class="el" href="serial_8c-source.html#l00117">usb_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
 
 </div>
 </div><p>
@@ -324,12 +327,42 @@
 </dl>
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
 
-<p>References <a class="el" href="serial_8c-source.html#l00117">usb_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
 
 </div>
 </div><p>
+<a class="anchor" name="g774d8b902cae279696c53502168ade07"></a><!-- doxytag: member="serial.h::usb_puts_P" ref="g774d8b902cae279696c53502168ade07" args="(PGM_P s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void usb_puts_P           </td>
+          <td>(</td>
+          <td class="paramtype">PGM_P&nbsp;</td>
+          <td class="paramname"> <em>s</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<div class="memdoc">
+
+<p>
+Print a string from program space to USB. 
+<p>
+Sends a sequence of characters from program space over USB.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the string to send </td></tr>
+  </table>
+</dl>
+
+<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x73.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x73.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x73.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -77,7 +78,7 @@
 : <a class="el" href="dragonfly__lib_8h.html#9ac82e856c7683e23553431e5224d5f4">dragonfly_lib.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x67.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x67.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x67.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -77,7 +78,7 @@
 : <a class="el" href="group__orbs.html#gcfbc006ea433ad708fdee3e82996e721">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x79.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x79.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x79.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__orbs.html#gbf681265909adf3d3e8116c93c0ba179">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x69.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x69.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x69.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -79,7 +80,7 @@
 : <a class="el" href="group__rangefinder.html#g23554754d5334bdc35df623e1e012ede">rangefinder.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_vars.html
===================================================================
--- trunk/docs/libdragonfly/globals_vars.html	(nonexistent)
+++ trunk/docs/libdragonfly/globals_vars.html	(revision 1371)
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: Data Fields</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li class="current"><a href="globals.html"><span>Globals</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>usb_fd
+: <a class="el" href="serial_8c.html#35b077273a23b9b3db50d2b7917b2e2f">serial.c</a>
+<li>xbee_fd
+: <a class="el" href="serial_8c.html#8602b10219aef4996ecffdb348b73a10">serial.c</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/group__orbs.html
===================================================================
--- trunk/docs/libdragonfly/group__orbs.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__orbs.html	(revision 1371)
@@ -749,7 +749,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x6d.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x6d.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x6d.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,7 +70,7 @@
 : <a class="el" href="group__dragonfly.html#g9bb31bba359fbb679910df0a6efde5a3">dragonfly_lib.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/lights_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/lights_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/lights_8h-source.html	(revision 1371)
@@ -108,7 +108,7 @@
 <a name="l00221"></a>00221 
 <a name="l00222"></a>00222 <span class="preprocessor">#endif</span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__i2c.html
===================================================================
--- trunk/docs/libdragonfly/group__i2c.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__i2c.html	(revision 1371)
@@ -182,7 +182,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__rangefinder.html
===================================================================
--- trunk/docs/libdragonfly/group__rangefinder.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__rangefinder.html	(revision 1371)
@@ -116,7 +116,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/files.html
===================================================================
--- trunk/docs/libdragonfly/files.html	(revision 1370)
+++ trunk/docs/libdragonfly/files.html	(revision 1371)
@@ -60,7 +60,7 @@
   <tr><td class="indexkey"><a class="el" href="time_8h.html">time.h</a> <a href="time_8h-source.html">[code]</a></td><td class="indexvalue">Contains time-related functions and definitions </td></tr>
 </table>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x70.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x70.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x70.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -173,7 +174,7 @@
 : <a class="el" href="group__orbs.html#g0bb0b009e7a7390473ace4d98bd843c0">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x64.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x64.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x64.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -82,7 +83,7 @@
 : <a class="el" href="group__dragonfly.html#g8124e2c32bf25208586d500e45ba5fe3">dragonfly_lib.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x66.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x66.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x66.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -81,7 +82,7 @@
 : <a class="el" href="group__move.html#ga02f16883c5ce325e2dbb8c3835aa9a1">move.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/serial_8c.html
===================================================================
--- trunk/docs/libdragonfly/serial_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/serial_8c.html	(revision 1371)
@@ -40,6 +40,9 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">usb_puts</a> (char *s)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">usb_puts_P</a> (PGM_P s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="group__usb.html#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">usb_getc</a> (void)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a character from USB.  <a href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae"></a><br></td></tr>
@@ -65,11 +68,9 @@
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a fixed width hexadecimal representation to USB.  <a href="group__usb.html#g21462df541911e0611416e85be6ea34d"></a><br></td></tr>
 <tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35b077273a23b9b3db50d2b7917b2e2f"></a><!-- doxytag: member="serial.c::usb_fd" ref="35b077273a23b9b3db50d2b7917b2e2f" args="" -->
-FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><b>usb_fd</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serial_8c.html#35b077273a23b9b3db50d2b7917b2e2f">usb_fd</a></td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8602b10219aef4996ecffdb348b73a10"></a><!-- doxytag: member="serial.c::xbee_fd" ref="8602b10219aef4996ecffdb348b73a10" args="" -->
-FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><b>xbee_fd</b></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="serial_8c.html#8602b10219aef4996ecffdb348b73a10">xbee_fd</a></td></tr>
 
 </table>
 <hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -81,8 +82,43 @@
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<p>
 Implementation of functions for serial input and output.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="35b077273a23b9b3db50d2b7917b2e2f"></a><!-- doxytag: member="serial.c::usb_fd" ref="35b077273a23b9b3db50d2b7917b2e2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">FILE* <a class="el" href="serial_8c.html#35b077273a23b9b3db50d2b7917b2e2f">usb_fd</a>          </td>
+        </tr>
+      </table>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<div class="memdoc">
+
+<p>
+For use with fprintf() and related stdio functions 
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="8602b10219aef4996ecffdb348b73a10"></a><!-- doxytag: member="serial.c::xbee_fd" ref="8602b10219aef4996ecffdb348b73a10" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">FILE* <a class="el" href="serial_8c.html#8602b10219aef4996ecffdb348b73a10">xbee_fd</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+For use with fprintf() and related stdio functions 
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00089">xbee_init()</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x78.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x78.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x78.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">serial.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__odometry.html
===================================================================
--- trunk/docs/libdragonfly/group__odometry.html	(nonexistent)
+++ trunk/docs/libdragonfly/group__odometry.html	(revision 1371)
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: Odometry</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Odometry</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gea4914268d0abe55b9caafac537bc263"></a><!-- doxytag: member="odometry::ODOMETRY_CLK" ref="gea4914268d0abe55b9caafac537bc263" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ODOMETRY_CLK</b>&nbsp;&nbsp;&nbsp;255u</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3104e6ab77c71296e6879fc57af26e8e"></a><!-- doxytag: member="odometry::TIME_SCALE" ref="g3104e6ab77c71296e6879fc57af26e8e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIME_SCALE</b>&nbsp;&nbsp;&nbsp;64</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc7a3a8ed9add07ef101e2265dc954b63"></a><!-- doxytag: member="odometry::ROBOT_WIDTH_UM" ref="gc7a3a8ed9add07ef101e2265dc954b63" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ROBOT_WIDTH_UM</b>&nbsp;&nbsp;&nbsp;137000</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcf7c58b37a2d5cb3793a4f94c2fd1ab0"></a><!-- doxytag: member="odometry::CLICK_DISTANCE_UM" ref="gcf7c58b37a2d5cb3793a4f94c2fd1ab0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CLICK_DISTANCE_UM</b>&nbsp;&nbsp;&nbsp;204</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30e5d468b11a21497a943586ed536d81"></a><!-- doxytag: member="odometry::DISTANCE_SCALE" ref="g30e5d468b11a21497a943586ed536d81" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>DISTANCE_SCALE</b>&nbsp;&nbsp;&nbsp;2.10526316</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7618f3a2fe3ffe816299501556cea637"></a><!-- doxytag: member="odometry::ANGLE_SCALE" ref="g7618f3a2fe3ffe816299501556cea637" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ANGLE_SCALE</b>&nbsp;&nbsp;&nbsp;1.12823207</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g31c085285b8a8c5049123640e228741a">odometry_dx</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated x position.  <a href="#g31c085285b8a8c5049123640e228741a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g52bee31a0838e0a782758c90e4fa35df">odometry_dy</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated y position.  <a href="#g52bee31a0838e0a782758c90e4fa35df"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g85a0a0b11d2adf53e2f88a836080d1f4">odometry_angle</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated orientation.  <a href="#g85a0a0b11d2adf53e2f88a836080d1f4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g9ccb8b57330f6769afa0f68be3a6d564">odometry_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize odometry. MUST be called before the other functions work.  <a href="#g9ccb8b57330f6769afa0f68be3a6d564"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#g778f4744dfbdb1923b51cc43f0e9ff37">odometry_reset</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset position and orientation to the origin facing the x axis.  <a href="#g778f4744dfbdb1923b51cc43f0e9ff37"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc958e4b80d89acf8b61a140b49353ff7"></a><!-- doxytag: member="odometry::odometry_velocity" ref="gc958e4b80d89acf8b61a140b49353ff7" args="(void)" -->
+long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#gc958e4b80d89acf8b61a140b49353ff7">odometry_velocity</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Report estimated velocity [mm/s]. <br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g85a0a0b11d2adf53e2f88a836080d1f4"></a><!-- doxytag: member="odometry.h::odometry_angle" ref="g85a0a0b11d2adf53e2f88a836080d1f4" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">double odometry_angle           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the robots estimated orientation. 
+<p>
+Retrieve the estimated angle [radians] 
+</div>
+</div><p>
+<a class="anchor" name="g31c085285b8a8c5049123640e228741a"></a><!-- doxytag: member="odometry.h::odometry_dx" ref="g31c085285b8a8c5049123640e228741a" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">long odometry_dx           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the robots estimated x position. 
+<p>
+Retrieve the estimated x position. [millimeters] 
+</div>
+</div><p>
+<a class="anchor" name="g52bee31a0838e0a782758c90e4fa35df"></a><!-- doxytag: member="odometry.h::odometry_dy" ref="g52bee31a0838e0a782758c90e4fa35df" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">long odometry_dy           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Retrieve the robots estimated y position. 
+<p>
+Retrieve the estimated y position. [millimeters] 
+</div>
+</div><p>
+<a class="anchor" name="g9ccb8b57330f6769afa0f68be3a6d564"></a><!-- doxytag: member="odometry.h::odometry_init" ref="g9ccb8b57330f6769afa0f68be3a6d564" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void odometry_init           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize odometry. MUST be called before the other functions work. 
+<p>
+Initializes odometry to run on timer 2. Also resets all values so that the center of the robot is considered to be at the origin facing the x direction. 
+<p>References <a class="el" href="time_8c-source.html#l00104">delay_ms()</a>, <a class="el" href="encoders_8c-source.html#l00048">encoders_init()</a>, and <a class="el" href="odometry_8c-source.html#l00069">odometry_reset()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g778f4744dfbdb1923b51cc43f0e9ff37"></a><!-- doxytag: member="odometry.h::odometry_reset" ref="g778f4744dfbdb1923b51cc43f0e9ff37" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void odometry_reset           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Reset position and orientation to the origin facing the x axis. 
+<p>
+Resets all values so that the center of the robot is considered to be at the origin facing the x direction. 
+<p>References <a class="el" href="encoders_8c-source.html#l00080">encoder_read()</a>, <a class="el" href="encoders_8h-source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h-source.html#l00028">RIGHT</a>.</p>
+
+<p>Referenced by <a class="el" href="odometry_8c-source.html#l00048">odometry_init()</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/group__encoders.html
===================================================================
--- trunk/docs/libdragonfly/group__encoders.html	(nonexistent)
+++ trunk/docs/libdragonfly/group__encoders.html	(revision 1371)
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: Encoders</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Encoders</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g437ef08681e7210d6678427030446a54"></a><!-- doxytag: member="encoders::LEFT" ref="g437ef08681e7210d6678427030446a54" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">LEFT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left wheel. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g80fb826a684cf3f0d306b22aa100ddac"></a><!-- doxytag: member="encoders::RIGHT" ref="g80fb826a684cf3f0d306b22aa100ddac" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">RIGHT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right wheel. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7c882763d1877f0000be3e73f93d08a"></a><!-- doxytag: member="encoders::ENCODER_MAGNET_FAILURE" ref="ga7c882763d1877f0000be3e73f93d08a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga7c882763d1877f0000be3e73f93d08a">ENCODER_MAGNET_FAILURE</a>&nbsp;&nbsp;&nbsp;1025</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magnet misaligned - likely distance from encoder problem. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g461113043ab113b6dc7d56619a1a15f4"></a><!-- doxytag: member="encoders::ENCODER_MISALIGNED" ref="g461113043ab113b6dc7d56619a1a15f4" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g461113043ab113b6dc7d56619a1a15f4">ENCODER_MISALIGNED</a>&nbsp;&nbsp;&nbsp;1027</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder misaligned - likely on XY plane. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0a5cb25278a57b19a46264d134033f7b"></a><!-- doxytag: member="encoders::ENCODER_DATA_NOT_READY" ref="g0a5cb25278a57b19a46264d134033f7b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">ENCODER_DATA_NOT_READY</a>&nbsp;&nbsp;&nbsp;1026</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not enough time has passed - encoders not initialized in hardware. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5ff35c79ce306ac5c3580b96dea4e653"></a><!-- doxytag: member="encoders::ENCODER_DELAY" ref="g5ff35c79ce306ac5c3580b96dea4e653" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">ENCODER_DELAY</a>&nbsp;&nbsp;&nbsp;20</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delay_ms argument after a full read is complete <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9173b4a556a38fffd9336138830ebfa0"></a><!-- doxytag: member="encoders::OCF" ref="g9173b4a556a38fffd9336138830ebfa0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OCF</b>&nbsp;&nbsp;&nbsp;_BV(4)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfb416b9855f4d6cc2153044a681509e"></a><!-- doxytag: member="encoders::COF" ref="gdfb416b9855f4d6cc2153044a681509e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>COF</b>&nbsp;&nbsp;&nbsp;_BV(3)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfbb57dfc13455b39716c3bb5c55eaa06"></a><!-- doxytag: member="encoders::LIN" ref="gfbb57dfc13455b39716c3bb5c55eaa06" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIN</b>&nbsp;&nbsp;&nbsp;_BV(2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc67b4ce01de99b63b3639f03c03a05b"></a><!-- doxytag: member="encoders::MagINCn" ref="gdc67b4ce01de99b63b3639f03c03a05b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagINCn</b>&nbsp;&nbsp;&nbsp;_BV(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc7fd147cd970830e275f0ed9ebff00a"></a><!-- doxytag: member="encoders::MagDECn" ref="gdc7fd147cd970830e275f0ed9ebff00a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagDECn</b>&nbsp;&nbsp;&nbsp;_BV(0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6b20d41d6252e9871430c242cb1a56e7"></a><!-- doxytag: member="encoders::BUFFER_SIZE" ref="g6b20d41d6252e9871430c242cb1a56e7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">BUFFER_SIZE</a>&nbsp;&nbsp;&nbsp;23</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer size. <br></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf02e2149caeb6116f256783348031c86"></a><!-- doxytag: member="encoders::encoders_init" ref="gf02e2149caeb6116f256783348031c86" args="(void)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gf02e2149caeb6116f256783348031c86">encoders_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize encoders. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g9abc8e86fe64bcf4c3862ed12d913530">encoder_read</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read instantaneous encoder value.  <a href="#g9abc8e86fe64bcf4c3862ed12d913530"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992">encoder_get_dx</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total distance traveled.  <a href="#gd73643bd46dbc459cc0dfa8dd90b4992"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g7bef9844241df2154df77d10e5bf47c4">encoder_rst_dx</a> (char encoder)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset distance counter.  <a href="#g7bef9844241df2154df77d10e5bf47c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g8ad080c3e41790edd7e7ccbc91060fec">encoder_get_tc</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get time count: The number of encoder reads that have occurred.  <a href="#g8ad080c3e41790edd7e7ccbc91060fec"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga410e62db3c6fdc317130a8d5a238655"></a><!-- doxytag: member="encoders::encoder_rst_tc" ref="ga410e62db3c6fdc317130a8d5a238655" args="(void)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga410e62db3c6fdc317130a8d5a238655">encoder_rst_tc</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the time count. <br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gd89387a19e48bee58885735099eabeed">encoder_wait</a> (int nReadings)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for the next n encoder reading, then returns.  <a href="#gd89387a19e48bee58885735099eabeed"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="gd73643bd46dbc459cc0dfa8dd90b4992"></a><!-- doxytag: member="encoders.h::encoder_get_dx" ref="gd73643bd46dbc459cc0dfa8dd90b4992" args="(char encoder)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int encoder_get_dx           </td>
+          <td>(</td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>encoder</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get total distance traveled. 
+<p>
+Gets the total distance covered by the specified encoder (in encoder clicks)<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>the encoder that you want to read, use LEFT or RIGHT</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The distance covered by the specified encoder. </dd></dl>
+
+<p>References <a class="el" href="encoders_8h-source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h-source.html#l00028">RIGHT</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g8ad080c3e41790edd7e7ccbc91060fec"></a><!-- doxytag: member="encoders.h::encoder_get_tc" ref="g8ad080c3e41790edd7e7ccbc91060fec" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int encoder_get_tc           </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get time count: The number of encoder reads that have occurred. 
+<p>
+Get time count: The number of encoder reads that have occurred.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The time count. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="g9abc8e86fe64bcf4c3862ed12d913530"></a><!-- doxytag: member="encoders.h::encoder_read" ref="g9abc8e86fe64bcf4c3862ed12d913530" args="(char encoder)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int encoder_read           </td>
+          <td>(</td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>encoder</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Read instantaneous encoder value. 
+<p>
+Read instantaneous encoder value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>this is the encoder that you want to read. Valid arguments are LEFT and RIGHT</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the value of the specified encoder </dd></dl>
+
+<p>References <a class="el" href="encoders_8h-source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h-source.html#l00028">RIGHT</a>.</p>
+
+<p>Referenced by <a class="el" href="odometry_8c-source.html#l00069">odometry_reset()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g7bef9844241df2154df77d10e5bf47c4"></a><!-- doxytag: member="encoders.h::encoder_rst_dx" ref="g7bef9844241df2154df77d10e5bf47c4" args="(char encoder)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encoder_rst_dx           </td>
+          <td>(</td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>encoder</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Reset distance counter. 
+<p>
+Resets the distance accumulator for the specified encoder.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>the encoder that you want to reset distance for </td></tr>
+  </table>
+</dl>
+
+<p>References <a class="el" href="encoders_8h-source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h-source.html#l00028">RIGHT</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="gd89387a19e48bee58885735099eabeed"></a><!-- doxytag: member="encoders.h::encoder_wait" ref="gd89387a19e48bee58885735099eabeed" args="(int nReadings)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encoder_wait           </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>n</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Waits for the next n encoder reading, then returns. 
+<p>
+Waits for the next n encoder reading, then returns.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td></td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/spi_8c.html
===================================================================
--- trunk/docs/libdragonfly/spi_8c.html	(nonexistent)
+++ trunk/docs/libdragonfly/spi_8c.html	(revision 1371)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: spi.c File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>spi.c File Reference</h1>Basic SPI module to handle encoders. <a href="#_details">More...</a>
+<p>
+<code>#include &lt;avr/interrupt.h&gt;</code><br>
+<code>#include &lt;<a class="el" href="dragonfly__lib_8h-source.html">dragonfly_lib.h</a>&gt;</code><br>
+<code>#include &quot;<a class="el" href="spi_8h-source.html">spi.h</a>&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf">spi_init</a> (spi_fun_recv_t recv_func, spi_fun_recv_complete_t recv_complete_func)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize SPI hardware for communication.  <a href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54">spi_transfer</a> (char bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transfer a given byte to slave and receive a byte.  <a href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e35ed76280b37d21463ecbd768125e5"></a><!-- doxytag: member="spi.c::ISR" ref="9e35ed76280b37d21463ecbd768125e5" args="(SIG_SPI)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>ISR</b> (SIG_SPI)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Basic SPI module to handle encoders. 
+<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Need to move <a class="el" href="spi_8h.html" title="Definitions for SPI.">spi.h</a> include into <a class="el" href="dragonfly__lib_8h.html" title="Contains other include files.">dragonfly_lib.h</a> when stable </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/group__bom.html
===================================================================
--- trunk/docs/libdragonfly/group__bom.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__bom.html	(revision 1371)
@@ -297,7 +297,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/time_8c.html
===================================================================
--- trunk/docs/libdragonfly/time_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/time_8c.html	(revision 1371)
@@ -56,7 +56,7 @@
 Implementation of functions for timers.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__motors.html
===================================================================
--- trunk/docs/libdragonfly/group__motors.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__motors.html	(revision 1371)
@@ -180,7 +180,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__dragonfly.html
===================================================================
--- trunk/docs/libdragonfly/group__dragonfly.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__dragonfly.html	(revision 1371)
@@ -108,7 +108,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/move_8c.html
===================================================================
--- trunk/docs/libdragonfly/move_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/move_8c.html	(revision 1371)
@@ -61,7 +61,7 @@
 Implementation of functions for moving the robot.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x61.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x61.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x61.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -125,7 +126,7 @@
 : <a class="el" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">atomic.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x63.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x63.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x63.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -75,7 +76,7 @@
 : <a class="el" href="group__orbs.html#gd243f93c16bc4c1d3e0a13b84421d760">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x73.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x73.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x73.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -85,7 +86,7 @@
 : <a class="el" href="dragonfly__lib_8h.html#9ac82e856c7683e23553431e5224d5f4">dragonfly_lib.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/battery_8c.html
===================================================================
--- trunk/docs/libdragonfly/battery_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/battery_8c.html	(revision 1371)
@@ -58,7 +58,7 @@
 Contains functions for reading the battery level.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x75.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x75.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x75.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,7 +70,7 @@
 : <a class="el" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">serial.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x69.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x69.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x69.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -90,7 +91,7 @@
 : <a class="el" href="i2c_8c.html#474f42eedbdc093683fdb4b88be3c48f">i2c.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/atomic_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/atomic_8h-source.html	(nonexistent)
+++ trunk/docs/libdragonfly/atomic_8h-source.html	(revision 1371)
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: atomic.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<h1>atomic.h</h1><a href="atomic_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* This file is in the dragonfly library directory because it seems to be</span>
+<a name="l00002"></a>00002 <span class="comment">   missing from the AVR libc distribution */</span>
+<a name="l00003"></a>00003    
+<a name="l00004"></a>00004 <span class="comment">/* Copyright (c) 2007 Dean Camera</span>
+<a name="l00005"></a>00005 <span class="comment">   All rights reserved.</span>
+<a name="l00006"></a>00006 <span class="comment"></span>
+<a name="l00007"></a>00007 <span class="comment">   Redistribution and use in source and binary forms, with or without</span>
+<a name="l00008"></a>00008 <span class="comment">   modification, are permitted provided that the following conditions are met:</span>
+<a name="l00009"></a>00009 <span class="comment"></span>
+<a name="l00010"></a>00010 <span class="comment">   * Redistributions of source code must retain the above copyright</span>
+<a name="l00011"></a>00011 <span class="comment">     notice, this list of conditions and the following disclaimer.</span>
+<a name="l00012"></a>00012 <span class="comment"></span>
+<a name="l00013"></a>00013 <span class="comment">   * Redistributions in binary form must reproduce the above copyright</span>
+<a name="l00014"></a>00014 <span class="comment">     notice, this list of conditions and the following disclaimer in</span>
+<a name="l00015"></a>00015 <span class="comment">     the documentation and/or other materials provided with the</span>
+<a name="l00016"></a>00016 <span class="comment">     distribution.</span>
+<a name="l00017"></a>00017 <span class="comment"></span>
+<a name="l00018"></a>00018 <span class="comment">   * Neither the name of the copyright holders nor the names of</span>
+<a name="l00019"></a>00019 <span class="comment">     contributors may be used to endorse or promote products derived</span>
+<a name="l00020"></a>00020 <span class="comment">     from this software without specific prior written permission.</span>
+<a name="l00021"></a>00021 <span class="comment"></span>
+<a name="l00022"></a>00022 <span class="comment">  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span>
+<a name="l00023"></a>00023 <span class="comment">  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
+<a name="l00024"></a>00024 <span class="comment">  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
+<a name="l00025"></a>00025 <span class="comment">  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE</span>
+<a name="l00026"></a>00026 <span class="comment">  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span>
+<a name="l00027"></a>00027 <span class="comment">  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span>
+<a name="l00028"></a>00028 <span class="comment">  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span>
+<a name="l00029"></a>00029 <span class="comment">  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span>
+<a name="l00030"></a>00030 <span class="comment">  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span>
+<a name="l00031"></a>00031 <span class="comment">  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span>
+<a name="l00032"></a>00032 <span class="comment">  POSSIBILITY OF SUCH DAMAGE.</span>
+<a name="l00033"></a>00033 <span class="comment">*/</span>
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 <span class="comment">/* $Id: atomic.h,v 1.3 2007/12/20 14:17:56 joerg_wunsch Exp $ */</span>
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _UTIL_ATOMIC_H_</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _UTIL_ATOMIC_H_ 1</span>
+<a name="l00039"></a>00039 <span class="preprocessor"></span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;avr/io.h&gt;</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;avr/interrupt.h&gt;</span>
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043 <span class="preprocessor">#if !defined(__DOXYGEN__)</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="comment">/* Internal helper functions. */</span>
+<a name="l00045"></a>00045 <span class="keyword">static</span> __inline__ uint8_t __iSeiRetVal(<span class="keywordtype">void</span>)
+<a name="l00046"></a>00046 {
+<a name="l00047"></a>00047     sei();
+<a name="l00048"></a>00048     <span class="keywordflow">return</span> 1;
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 
+<a name="l00051"></a>00051 <span class="keyword">static</span> __inline__ uint8_t __iCliRetVal(<span class="keywordtype">void</span>)
+<a name="l00052"></a>00052 {
+<a name="l00053"></a>00053     cli();
+<a name="l00054"></a>00054     <span class="keywordflow">return</span> 1;
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 
+<a name="l00057"></a>00057 <span class="keyword">static</span> __inline__ <span class="keywordtype">void</span> __iSeiParam(<span class="keyword">const</span> uint8_t *__s)
+<a name="l00058"></a>00058 {
+<a name="l00059"></a>00059     sei();
+<a name="l00060"></a>00060     __asm__ <span class="keyword">volatile</span> (<span class="stringliteral">""</span> ::: <span class="stringliteral">"memory"</span>);
+<a name="l00061"></a>00061     (void)__s;
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064 <span class="keyword">static</span> __inline__ <span class="keywordtype">void</span> __iCliParam(<span class="keyword">const</span> uint8_t *__s)
+<a name="l00065"></a>00065 {
+<a name="l00066"></a>00066     cli();
+<a name="l00067"></a>00067     __asm__ <span class="keyword">volatile</span> (<span class="stringliteral">""</span> ::: <span class="stringliteral">"memory"</span>);
+<a name="l00068"></a>00068     (void)__s;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 
+<a name="l00071"></a>00071 <span class="keyword">static</span> __inline__ <span class="keywordtype">void</span> __iRestore(<span class="keyword">const</span>  uint8_t *__s)
+<a name="l00072"></a>00072 {
+<a name="l00073"></a>00073     SREG = *__s;
+<a name="l00074"></a>00074     __asm__ <span class="keyword">volatile</span> (<span class="stringliteral">""</span> ::: <span class="stringliteral">"memory"</span>);
+<a name="l00075"></a>00075 }
+<a name="l00076"></a>00076 <span class="preprocessor">#endif  </span><span class="comment">/* !__DOXYGEN__ */</span>
+<a name="l00077"></a>00077 
+<a name="l00203"></a>00203 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00204"></a>00204 <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_BLOCK(type)</span>
+<a name="l00205"></a>00205 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00206"></a><a class="code" href="group__util__atomic.html#gaaea265b31dabcfb3098bec7685c39e4">00206</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_BLOCK(type) for ( type, __ToDo = __iCliRetVal(); \</span>
+<a name="l00207"></a>00207 <span class="preprocessor">                               __ToDo ; __ToDo = 0 )</span>
+<a name="l00208"></a>00208 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00209"></a>00209 
+<a name="l00224"></a>00224 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00225"></a>00225 <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_BLOCK(type)</span>
+<a name="l00226"></a>00226 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00227"></a><a class="code" href="group__util__atomic.html#g6e195ee2117559a25f77fbba9054674a">00227</a> <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_BLOCK(type) for ( type, __ToDo = __iSeiRetVal(); \</span>
+<a name="l00228"></a>00228 <span class="preprocessor">                                  __ToDo ;  __ToDo = 0 )</span>
+<a name="l00229"></a>00229 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00230"></a>00230 
+<a name="l00242"></a>00242 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_RESTORESTATE</span>
+<a name="l00244"></a>00244 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00245"></a><a class="code" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">00245</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_RESTORESTATE uint8_t sreg_save \</span>
+<a name="l00246"></a>00246 <span class="preprocessor">        __attribute__((__cleanup__(__iRestore))) = SREG</span>
+<a name="l00247"></a>00247 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00248"></a>00248 
+<a name="l00263"></a>00263 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00264"></a>00264 <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_FORCEON</span>
+<a name="l00265"></a>00265 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00266"></a><a class="code" href="group__util__atomic.html#g92b11103b4b3b000a3190f0d26ba7062">00266</a> <span class="preprocessor"></span><span class="preprocessor">#define ATOMIC_FORCEON uint8_t sreg_save \</span>
+<a name="l00267"></a>00267 <span class="preprocessor">        __attribute__((__cleanup__(__iSeiParam))) = 0</span>
+<a name="l00268"></a>00268 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00269"></a>00269 
+<a name="l00281"></a>00281 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_RESTORESTATE</span>
+<a name="l00283"></a>00283 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00284"></a><a class="code" href="group__util__atomic.html#gb075653bf638fae9db049575741d3152">00284</a> <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_RESTORESTATE uint8_t sreg_save \</span>
+<a name="l00285"></a>00285 <span class="preprocessor">        __attribute__((__cleanup__(__iRestore))) = SREG</span>
+<a name="l00286"></a>00286 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00287"></a>00287 
+<a name="l00302"></a>00302 <span class="preprocessor">#if defined(__DOXYGEN__)</span>
+<a name="l00303"></a>00303 <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_FORCEOFF</span>
+<a name="l00304"></a>00304 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00305"></a><a class="code" href="group__util__atomic.html#gfb959d7d00d2d790b58d0e9880ea255a">00305</a> <span class="preprocessor"></span><span class="preprocessor">#define NONATOMIC_FORCEOFF uint8_t sreg_save \</span>
+<a name="l00306"></a>00306 <span class="preprocessor">        __attribute__((__cleanup__(__iCliParam))) = 0</span>
+<a name="l00307"></a>00307 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* __DOXYGEN__ */</span>
+<a name="l00308"></a>00308 
+<a name="l00309"></a>00309 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/bug.html
===================================================================
--- trunk/docs/libdragonfly/bug.html	(revision 1370)
+++ trunk/docs/libdragonfly/bug.html	(revision 1371)
@@ -40,7 +40,7 @@
 </dd>
 </dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__lcd.html
===================================================================
--- trunk/docs/libdragonfly/group__lcd.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__lcd.html	(revision 1371)
@@ -203,7 +203,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/rangefinder_8c.html
===================================================================
--- trunk/docs/libdragonfly/rangefinder_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/rangefinder_8c.html	(revision 1371)
@@ -51,7 +51,7 @@
 Implementation of functions for rangefinder use.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/serial_8h.html
===================================================================
--- trunk/docs/libdragonfly/serial_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/serial_8h.html	(revision 1371)
@@ -19,6 +19,8 @@
 <div class="contents">
 <h1>serial.h File Reference</h1>Contains declarations for serial input and output. <a href="#_details">More...</a>
 <p>
+<code>#include &lt;inttypes.h&gt;</code><br>
+<code>#include &lt;avr/pgmspace.h&gt;</code><br>
 
 <p>
 <a href="serial_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
@@ -48,6 +50,9 @@
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">usb_puts</a> (char *s)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">usb_puts_P</a> (PGM_P s)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="group__usb.html#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">usb_puti</a> (int value)</td></tr>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an integer to USB.  <a href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d"></a><br></td></tr>
@@ -83,7 +88,7 @@
 Contains definitions for serial input and output.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Based on Tom Lauwer's Firefly Library </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/rangefinder_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/rangefinder_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/rangefinder_8h-source.html	(revision 1371)
@@ -36,7 +36,7 @@
 <a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
 <a name="l00064"></a>00064 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals.html
===================================================================
--- trunk/docs/libdragonfly/globals.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -195,7 +196,7 @@
 : <a class="el" href="dio_8h.html#7c0f589b48ebb00d7a998ac3daaac11a">dio.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x6d.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x6d.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x6d.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -81,7 +82,7 @@
 : <a class="el" href="group__move.html#g8e79749d6af4a0aa12aceee41ad62ebd">move.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/eeprom_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/eeprom_8h-source.html	(nonexistent)
+++ trunk/docs/libdragonfly/eeprom_8h-source.html	(revision 1371)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: eeprom.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<h1>eeprom.h</h1><a href="eeprom_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00010"></a>00010 <span class="preprocessor"> #ifndef _EEPROM_H_</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor"> #define _EEPROM_H_</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span> 
+<a name="l00013"></a>00013 <span class="preprocessor"> #include &lt;<a class="code" href="bom_8h.html" title="Definitions for using the BOM.">bom.h</a>&gt;</span>
+<a name="l00014"></a>00014  
+<a name="l00015"></a>00015 <span class="preprocessor"> #define EEPROM_ROBOT_ID_ADDR 0x10</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor"> #define EEPROM_BOM_TYPE_ADDR 0x14</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span> 
+<a name="l00021"></a>00021  <span class="keywordtype">int</span> eeprom_put_byte(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> byte);
+<a name="l00022"></a>00022  
+<a name="l00031"></a>00031  <span class="keywordtype">int</span> eeprom_get_byte(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> addr, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *byte);
+<a name="l00032"></a>00032  
+<a name="l00039"></a>00039  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> get_robotid(<span class="keywordtype">void</span>);
+<a name="l00040"></a>00040   
+<a name="l00047"></a>00047  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> get_bom_type(<span class="keywordtype">void</span>);
+<a name="l00048"></a>00048  
+<a name="l00049"></a>00049 <span class="preprocessor"> #endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/group__battery.html
===================================================================
--- trunk/docs/libdragonfly/group__battery.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__battery.html	(revision 1371)
@@ -167,7 +167,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x6f.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x6f.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x6f.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -75,7 +76,7 @@
 : <a class="el" href="group__orbs.html#gcf2f6da92d895ef5e594223f1e39e4b1">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/spi_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/spi_8h-source.html	(nonexistent)
+++ trunk/docs/libdragonfly/spi_8h-source.html	(revision 1371)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: spi.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<h1>spi.h</h1><a href="spi_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
+<a name="l00012"></a>00012 <span class="preprocessor">#ifndef __SPI_H__</span>
+<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#define __SPI_H__</span>
+<a name="l00014"></a>00014 <span class="preprocessor"></span>
+<a name="l00015"></a>00015 <span class="preprocessor">#define DOUBLE_SCK 1</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define SPR0_BIT 1</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00018"></a>00018 <span class="preprocessor">#define MASTER 1</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define SLAVE 0</span>
+<a name="l00020"></a>00020 <span class="preprocessor"></span>
+<a name="l00021"></a>00021 <span class="preprocessor">#define MOSI _BV(PB2)</span>
+<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define MISO _BV(PB3)</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define SS   _BV(PB0)</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define SCLK _BV(PB1)</span>
+<a name="l00025"></a>00025 <span class="preprocessor"></span>
+<a name="l00026"></a>00026 <span class="keyword">typedef</span> void (*spi_fun_recv_t)(char);
+<a name="l00027"></a>00027 <span class="keyword">typedef</span> void (*spi_fun_recv_complete_t)(void);
+<a name="l00028"></a>00028 
+<a name="l00035"></a>00035 <span class="keywordtype">void</span> <a class="code" href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf" title="Initialize SPI hardware for communication.">spi_init</a> (spi_fun_recv_t, spi_fun_recv_complete_t);
+<a name="l00036"></a>00036 
+<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54" title="Transfer a given byte to slave and receive a byte.">spi_transfer</a> (<span class="keywordtype">char</span>);
+<a name="l00043"></a>00043  <span class="comment">//end group</span>
+<a name="l00045"></a>00045 
+<a name="l00046"></a>00046 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/spi_8h.html
===================================================================
--- trunk/docs/libdragonfly/spi_8h.html	(nonexistent)
+++ trunk/docs/libdragonfly/spi_8h.html	(revision 1371)
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: spi.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>spi.h File Reference</h1>Definitions for SPI. <a href="#_details">More...</a>
+<p>
+
+<p>
+<a href="spi_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9ec59021db2f662198a0d215153a8006"></a><!-- doxytag: member="spi.h::DOUBLE_SCK" ref="g9ec59021db2f662198a0d215153a8006" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>DOUBLE_SCK</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6ac0756a27d9e5e85f078f63d69a8809"></a><!-- doxytag: member="spi.h::SPR0_BIT" ref="g6ac0756a27d9e5e85f078f63d69a8809" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPR0_BIT</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3fa2d3bf1901157f734a584d47b25d8b"></a><!-- doxytag: member="spi.h::MASTER" ref="g3fa2d3bf1901157f734a584d47b25d8b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MASTER</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge342da5a4630c191c1c983958808edd8"></a><!-- doxytag: member="spi.h::SLAVE" ref="ge342da5a4630c191c1c983958808edd8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SLAVE</b>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5d3f11f2fdf8a7e27b975291e0c2c8cc"></a><!-- doxytag: member="spi.h::MOSI" ref="g5d3f11f2fdf8a7e27b975291e0c2c8cc" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MOSI</b>&nbsp;&nbsp;&nbsp;_BV(PB2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7334c540878c8c4d801fd75ed9fd8063"></a><!-- doxytag: member="spi.h::MISO" ref="g7334c540878c8c4d801fd75ed9fd8063" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MISO</b>&nbsp;&nbsp;&nbsp;_BV(PB3)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g88f7782e210e61586baf33b93240d905"></a><!-- doxytag: member="spi.h::SS" ref="g88f7782e210e61586baf33b93240d905" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SS</b>&nbsp;&nbsp;&nbsp;_BV(PB0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1b39f68c76d4942d903c0a16f1882728"></a><!-- doxytag: member="spi.h::SCLK" ref="g1b39f68c76d4942d903c0a16f1882728" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SCLK</b>&nbsp;&nbsp;&nbsp;_BV(PB1)</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20347e3e581f26a4aa299405a1f3995b"></a><!-- doxytag: member="spi.h::spi_fun_recv_t" ref="g20347e3e581f26a4aa299405a1f3995b" args=")(char)" -->
+typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>spi_fun_recv_t</b> )(char)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g601ffbbc8c0fa67bfdd097d9ccc7bfa3"></a><!-- doxytag: member="spi.h::spi_fun_recv_complete_t" ref="g601ffbbc8c0fa67bfdd097d9ccc7bfa3" args=")(void)" -->
+typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>spi_fun_recv_complete_t</b> )(void)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf">spi_init</a> (spi_fun_recv_t, spi_fun_recv_complete_t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize SPI.  <a href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54">spi_transfer</a> (char)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize SPI transfer.  <a href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Definitions for SPI. 
+<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/motor_8c.html
===================================================================
--- trunk/docs/libdragonfly/motor_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/motor_8c.html	(revision 1371)
@@ -46,7 +46,7 @@
 Implementation of functions for controlling the motors.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Much of this is taken from FWR's library, author: Tom Lauwers </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/time_8h.html
===================================================================
--- trunk/docs/libdragonfly/time_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/time_8h.html	(revision 1371)
@@ -76,7 +76,7 @@
 Contains functions and definitions for dealing with time, namely delay_ms and the realtime clock.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x70.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x70.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x70.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -173,7 +174,7 @@
 : <a class="el" href="group__orbs.html#g0bb0b009e7a7390473ace4d98bd843c0">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x72.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x72.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x72.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -73,6 +74,8 @@
 : <a class="el" href="dragonfly__lib_8h.html#c25d1a234d2aa700c3d5cce7ecff803a">dragonfly_lib.h</a>
 <li>REQUIRE_LOCK_OR_RETURN
 : <a class="el" href="dragonfly__lib_8h.html#63040a270fd14fe3286e2b67e5927eb9">dragonfly_lib.h</a>
+<li>RIGHT
+: <a class="el" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">encoders.h</a>
 <li>RING_BUFFER_ADD
 : <a class="el" href="ring__buffer_8h.html#7708daab49219e2fd35534bc9cd15245">ring_buffer.h</a>
 <li>RING_BUFFER_CLEAR
@@ -91,7 +94,7 @@
 : <a class="el" href="ring__buffer_8h.html#4a0f9de5ac14f60d678cda392921a629">ring_buffer.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/move_8h.html
===================================================================
--- trunk/docs/libdragonfly/move_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/move_8h.html	(revision 1371)
@@ -82,7 +82,7 @@
 This file offers higher-level functions for robot motion.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__spi.html
===================================================================
--- trunk/docs/libdragonfly/group__spi.html	(nonexistent)
+++ trunk/docs/libdragonfly/group__spi.html	(revision 1371)
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: Spi</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>Spi</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9ec59021db2f662198a0d215153a8006"></a><!-- doxytag: member="spi::DOUBLE_SCK" ref="g9ec59021db2f662198a0d215153a8006" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>DOUBLE_SCK</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6ac0756a27d9e5e85f078f63d69a8809"></a><!-- doxytag: member="spi::SPR0_BIT" ref="g6ac0756a27d9e5e85f078f63d69a8809" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPR0_BIT</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3fa2d3bf1901157f734a584d47b25d8b"></a><!-- doxytag: member="spi::MASTER" ref="g3fa2d3bf1901157f734a584d47b25d8b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MASTER</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge342da5a4630c191c1c983958808edd8"></a><!-- doxytag: member="spi::SLAVE" ref="ge342da5a4630c191c1c983958808edd8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SLAVE</b>&nbsp;&nbsp;&nbsp;0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5d3f11f2fdf8a7e27b975291e0c2c8cc"></a><!-- doxytag: member="spi::MOSI" ref="g5d3f11f2fdf8a7e27b975291e0c2c8cc" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MOSI</b>&nbsp;&nbsp;&nbsp;_BV(PB2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7334c540878c8c4d801fd75ed9fd8063"></a><!-- doxytag: member="spi::MISO" ref="g7334c540878c8c4d801fd75ed9fd8063" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MISO</b>&nbsp;&nbsp;&nbsp;_BV(PB3)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g88f7782e210e61586baf33b93240d905"></a><!-- doxytag: member="spi::SS" ref="g88f7782e210e61586baf33b93240d905" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SS</b>&nbsp;&nbsp;&nbsp;_BV(PB0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1b39f68c76d4942d903c0a16f1882728"></a><!-- doxytag: member="spi::SCLK" ref="g1b39f68c76d4942d903c0a16f1882728" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SCLK</b>&nbsp;&nbsp;&nbsp;_BV(PB1)</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g20347e3e581f26a4aa299405a1f3995b"></a><!-- doxytag: member="spi::spi_fun_recv_t" ref="g20347e3e581f26a4aa299405a1f3995b" args=")(char)" -->
+typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>spi_fun_recv_t</b> )(char)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g601ffbbc8c0fa67bfdd097d9ccc7bfa3"></a><!-- doxytag: member="spi::spi_fun_recv_complete_t" ref="g601ffbbc8c0fa67bfdd097d9ccc7bfa3" args=")(void)" -->
+typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>spi_fun_recv_complete_t</b> )(void)</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g3c6e10adc9421c1f15c8abd2a41867bf">spi_init</a> (spi_fun_recv_t, spi_fun_recv_complete_t)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize SPI.  <a href="#g3c6e10adc9421c1f15c8abd2a41867bf"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spi.html#g2c2ccf462042c16ecfee9b57c4438d54">spi_transfer</a> (char)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize SPI transfer.  <a href="#g2c2ccf462042c16ecfee9b57c4438d54"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="g3c6e10adc9421c1f15c8abd2a41867bf"></a><!-- doxytag: member="spi.h::spi_init" ref="g3c6e10adc9421c1f15c8abd2a41867bf" args="(spi_fun_recv_t, spi_fun_recv_complete_t)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void spi_init           </td>
+          <td>(</td>
+          <td class="paramtype">spi_fun_recv_t&nbsp;</td>
+          <td class="paramname"> <em>recv_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">spi_fun_recv_complete_t&nbsp;</td>
+          <td class="paramname"> <em>recv_complete_func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize SPI. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>spi_fun_recv_t</em>&nbsp;</td><td>The function that handles SPI data, byte for byte. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>spi_fun_recv_complete_t</em>&nbsp;</td><td>Called on a completed transmission - typically for cleaning up.</td></tr>
+  </table>
+</dl>
+Initialize SPI.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>recv_func</em>&nbsp;</td><td>The function to be called for each byte of data received. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>recv_complete_func</em>&nbsp;</td><td>The function to be called at the end of a complete transmission. </td></tr>
+  </table>
+</dl>
+
+<p>Referenced by <a class="el" href="encoders_8c-source.html#l00048">encoders_init()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="g2c2ccf462042c16ecfee9b57c4438d54"></a><!-- doxytag: member="spi.h::spi_transfer" ref="g2c2ccf462042c16ecfee9b57c4438d54" args="(char)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void spi_transfer           </td>
+          <td>(</td>
+          <td class="paramtype">char&nbsp;</td>
+          <td class="paramname"> <em>bytes</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Initialize SPI transfer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>char</em>&nbsp;</td><td>The number of bytes to transfer.</td></tr>
+  </table>
+</dl>
+Initialize SPI transfer.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>The number of bytes to be transferred. </td></tr>
+  </table>
+</dl>
+
+<p>Referenced by <a class="el" href="encoders_8c-source.html#l00048">encoders_init()</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/globals_0x66.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x66.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x66.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -89,7 +90,7 @@
 : <a class="el" href="group__move.html#ga02f16883c5ce325e2dbb8c3835aa9a1">move.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/modules.html
===================================================================
--- trunk/docs/libdragonfly/modules.html	(revision 1370)
+++ trunk/docs/libdragonfly/modules.html	(revision 1371)
@@ -40,7 +40,7 @@
 <li><a class="el" href="group__spi.html">Spi</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x68.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x68.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x68.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,7 +70,7 @@
 : <a class="el" href="group__move.html#ga0dd7c6a61a43fb8a3698988c414a9bf">move.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x78.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x78.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x78.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -65,21 +66,23 @@
 <h3><a class="anchor" name="index_x">- x -</a></h3><ul>
 <li>XBEE_BAUD
 : <a class="el" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">serial.h</a>
+<li>xbee_fd
+: <a class="el" href="serial_8c.html#8602b10219aef4996ecffdb348b73a10">serial.c</a>
 <li>xbee_getc()
-: <a class="el" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88">serial.c</a>
-, <a class="el" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88">serial.h</a>
+: <a class="el" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88">serial.h</a>
+, <a class="el" href="group__xbee.html#g1f468ae159ba5d97bdfb3f4855d15d88">serial.c</a>
 <li>xbee_getc_nb()
 : <a class="el" href="group__xbee.html#gfb7bd5dd535e8251bfff78854c6c15f2">serial.c</a>
 , <a class="el" href="group__xbee.html#gfb7bd5dd535e8251bfff78854c6c15f2">serial.h</a>
 <li>xbee_init()
-: <a class="el" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107">serial.h</a>
-, <a class="el" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107">serial.c</a>
+: <a class="el" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107">serial.c</a>
+, <a class="el" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107">serial.h</a>
 <li>xbee_putc()
 : <a class="el" href="group__xbee.html#g70c6b231330312d4f69b9a8afb5af989">serial.h</a>
 , <a class="el" href="group__xbee.html#g70c6b231330312d4f69b9a8afb5af989">serial.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/battery_8h.html
===================================================================
--- trunk/docs/libdragonfly/battery_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/battery_8h.html	(revision 1371)
@@ -60,7 +60,7 @@
 Contains definitions for checking the voltage of the battery.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/atomic_8h.html
===================================================================
--- trunk/docs/libdragonfly/atomic_8h.html	(nonexistent)
+++ trunk/docs/libdragonfly/atomic_8h.html	(revision 1371)
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>libdragonfly: atomic.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.5 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>atomic.h File Reference</h1><code>#include &lt;avr/io.h&gt;</code><br>
+<code>#include &lt;avr/interrupt.h&gt;</code><br>
+
+<p>
+<a href="atomic_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9328e8dfc4d40b118f6d03a0d0752d57"></a><!-- doxytag: member="atomic.h::_UTIL_ATOMIC_H_" ref="9328e8dfc4d40b118f6d03a0d0752d57" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_UTIL_ATOMIC_H_</b>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gaaea265b31dabcfb3098bec7685c39e4">ATOMIC_BLOCK</a>(type)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g6e195ee2117559a25f77fbba9054674a">NONATOMIC_BLOCK</a>(type)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">ATOMIC_RESTORESTATE</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#g92b11103b4b3b000a3190f0d26ba7062">ATOMIC_FORCEON</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gb075653bf638fae9db049575741d3152">NONATOMIC_RESTORESTATE</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__atomic.html#gfb959d7d00d2d790b58d0e9880ea255a">NONATOMIC_FORCEOFF</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
+</body>
+</html>
Index: trunk/docs/libdragonfly/rangefinder_8h.html
===================================================================
--- trunk/docs/libdragonfly/rangefinder_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/rangefinder_8h.html	(revision 1371)
@@ -62,7 +62,7 @@
 Contains functions and definitions for the use of IR rangefinders.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x6c.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x6c.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x6c.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -65,11 +66,13 @@
 <h3><a class="anchor" name="index_l">- l -</a></h3><ul>
 <li>LCD
 : <a class="el" href="group__dragonfly.html#gbf2d80992dcfabfd1668184c3dff2733">dragonfly_lib.h</a>
+<li>LEFT
+: <a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">encoders.h</a>
 <li>LIME
 : <a class="el" href="group__orbs.html#g46019a1f2c10603a54b6cbb19cbf3c21">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -195,7 +196,7 @@
 : <a class="el" href="dio_8h.html#7c0f589b48ebb00d7a998ac3daaac11a">dio.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/ring__buffer_8h.html
===================================================================
--- trunk/docs/libdragonfly/ring__buffer_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/ring__buffer_8h.html	(revision 1371)
@@ -340,7 +340,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/analog_8c.html
===================================================================
--- trunk/docs/libdragonfly/analog_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/analog_8c.html	(revision 1371)
@@ -76,7 +76,7 @@
 Contains functions for manipulating the ADC on the Dragonfly board.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club code mostly taken from fwr analog file (author: Tom Lauwers) </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__buzzer.html
===================================================================
--- trunk/docs/libdragonfly/group__buzzer.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__buzzer.html	(revision 1371)
@@ -249,7 +249,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_func.html
===================================================================
--- trunk/docs/libdragonfly/globals_func.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_func.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -297,8 +298,11 @@
 : <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.c</a>
 , <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.h</a>
 <li>usb_puts()
-: <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.c</a>
-, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.h</a>
+: <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.h</a>
+, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.c</a>
+<li>usb_puts_P()
+: <a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">serial.h</a>
+, <a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">serial.c</a>
 </ul>
 <h3><a class="anchor" name="index_w">- w -</a></h3><ul>
 <li>wheel()
@@ -319,7 +323,7 @@
 , <a class="el" href="group__xbee.html#g70c6b231330312d4f69b9a8afb5af989">serial.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__xbee.html
===================================================================
--- trunk/docs/libdragonfly/group__xbee.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__xbee.html	(revision 1371)
@@ -66,7 +66,7 @@
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>the first character in the xbee buffer</dd></dl>
 <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee.html#g964a1e8461e9c1187e5d69f521e5e107" title="Initialize the XBee.">xbee_init</a>, <a class="el" href="group__xbee.html#gfb7bd5dd535e8251bfff78854c6c15f2" title="Read a character from the XBee without blocking.">xbee_getc_nb</a> </dd></dl>
 
-<p>Referenced by <a class="el" href="serial_8c-source.html#l00082">xbee_init()</a>.</p>
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00089">xbee_init()</a>.</p>
 
 </div>
 </div><p>
@@ -120,7 +120,7 @@
 Initialize the XBee. 
 <p>
 Initializes communication over the XBee. This must be called before any other xbee function may be used. 
-<p>References <a class="el" href="serial_8c-source.html#l00183">xbee_getc()</a>, and <a class="el" href="serial_8c-source.html#l00132">xbee_putc()</a>.</p>
+<p>References <a class="el" href="serial_8c-source.html#l00048">xbee_fd</a>, <a class="el" href="serial_8c-source.html#l00206">xbee_getc()</a>, and <a class="el" href="serial_8c-source.html#l00139">xbee_putc()</a>.</p>
 
 <p>Referenced by <a class="el" href="dragonfly__lib_8c-source.html#l00068">dragonfly_init()</a>.</p>
 
@@ -153,12 +153,12 @@
 </dl>
 <dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
 
-<p>Referenced by <a class="el" href="serial_8c-source.html#l00082">xbee_init()</a>.</p>
+<p>Referenced by <a class="el" href="serial_8c-source.html#l00089">xbee_init()</a>.</p>
 
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/motor_8h.html
===================================================================
--- trunk/docs/libdragonfly/motor_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/motor_8h.html	(revision 1371)
@@ -57,7 +57,7 @@
 Contains definitions and functions for controlling the motors.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Based on Tom Lauwer's Firefly Library </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x63.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x63.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x63.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -75,7 +76,7 @@
 : <a class="el" href="group__orbs.html#gd243f93c16bc4c1d3e0a13b84421d760">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dragonfly__lib_8c.html
===================================================================
--- trunk/docs/libdragonfly/dragonfly__lib_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/dragonfly__lib_8c.html	(revision 1371)
@@ -40,7 +40,7 @@
 Contains implementation of dragonfly_init.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dio_8c.html
===================================================================
--- trunk/docs/libdragonfly/dio_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/dio_8c.html	(revision 1371)
@@ -64,7 +64,7 @@
 Implementation of functions for digital input and output.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x65.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x65.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x65.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,6 +70,8 @@
 : <a class="el" href="group__time.html#g7bdae984203001070e9abeb3190f844a">time.h</a>
 <li>ENCODER_DATA_NOT_READY
 : <a class="el" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">encoders.h</a>
+<li>ENCODER_DELAY
+: <a class="el" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">encoders.h</a>
 <li>ENCODER_MAGNET_FAILURE
 : <a class="el" href="group__encoders.html#ga7c882763d1877f0000be3e73f93d08a">encoders.h</a>
 <li>ENCODER_MISALIGNED
@@ -77,7 +80,7 @@
 : <a class="el" href="group__analog.html#g3434ce39eaea22b46a0100b7fd3a6f47">analog.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x75.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x75.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x75.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,15 +68,17 @@
 : <a class="el" href="group__dragonfly.html#g779bf099075a999d1074357fccbd466b">dragonfly_lib.h</a>
 <li>USB_BAUD
 : <a class="el" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">serial.h</a>
+<li>usb_fd
+: <a class="el" href="serial_8c.html#35b077273a23b9b3db50d2b7917b2e2f">serial.c</a>
 <li>usb_getc()
-: <a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">serial.h</a>
-, <a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">serial.c</a>
+: <a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">serial.c</a>
+, <a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">serial.h</a>
 <li>usb_getc_nb()
 : <a class="el" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c">serial.c</a>
 , <a class="el" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c">serial.h</a>
 <li>usb_init()
-: <a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d">serial.h</a>
-, <a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d">serial.c</a>
+: <a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d">serial.c</a>
+, <a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d">serial.h</a>
 <li>usb_putc()
 : <a class="el" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946">serial.c</a>
 , <a class="el" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946">serial.h</a>
@@ -83,17 +86,20 @@
 : <a class="el" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b">serial.c</a>
 , <a class="el" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b">serial.h</a>
 <li>usb_puth8()
-: <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d">serial.c</a>
-, <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d">serial.h</a>
+: <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d">serial.h</a>
+, <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d">serial.c</a>
 <li>usb_puti()
-: <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.h</a>
-, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.c</a>
+: <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.c</a>
+, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">serial.h</a>
 <li>usb_puts()
-: <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.h</a>
-, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.c</a>
+: <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.c</a>
+, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">serial.h</a>
+<li>usb_puts_P()
+: <a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">serial.h</a>
+, <a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">serial.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/battery_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/battery_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/battery_8h-source.html	(revision 1371)
@@ -34,7 +34,7 @@
 <a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
 <a name="l00064"></a>00064 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x77.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x77.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x77.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -69,7 +70,7 @@
 : <a class="el" href="group__orbs.html#g87b537f5fa5c109d3c05c13d6b18f382">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/i2c_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/i2c_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/i2c_8h-source.html	(revision 1371)
@@ -36,7 +36,7 @@
 <a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
 <a name="l00057"></a>00057 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__analog.html
===================================================================
--- trunk/docs/libdragonfly/group__analog.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__analog.html	(revision 1371)
@@ -425,7 +425,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/buzzer_8h.html
===================================================================
--- trunk/docs/libdragonfly/buzzer_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/buzzer_8h.html	(revision 1371)
@@ -103,7 +103,7 @@
 Contains definitions for using the buzzer built into the colony robots.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x6f.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x6f.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x6f.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -121,7 +122,7 @@
 : <a class="el" href="group__orbs.html#g39224c46d5ed891d16e08239c959a8a8">lights.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/analog_8h.html
===================================================================
--- trunk/docs/libdragonfly/analog_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/analog_8h.html	(revision 1371)
@@ -155,7 +155,7 @@
 The pins labeled E6 and E7 are external interrupt pins and are not related to analog.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club, based on firefly code by Tom Lauwers </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x72.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x72.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x72.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -77,6 +78,8 @@
 : <a class="el" href="dragonfly__lib_8h.html#c25d1a234d2aa700c3d5cce7ecff803a">dragonfly_lib.h</a>
 <li>REQUIRE_LOCK_OR_RETURN
 : <a class="el" href="dragonfly__lib_8h.html#63040a270fd14fe3286e2b67e5927eb9">dragonfly_lib.h</a>
+<li>RIGHT
+: <a class="el" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">encoders.h</a>
 <li>RING_BUFFER_ADD
 : <a class="el" href="ring__buffer_8h.html#7708daab49219e2fd35534bc9cd15245">ring_buffer.h</a>
 <li>RING_BUFFER_CLEAR
@@ -101,7 +104,7 @@
 : <a class="el" href="group__time.html#g83ae542199d1c0e964aff89537d686a3">time.c</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x62.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x62.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x62.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -93,11 +94,13 @@
 : <a class="el" href="group__dio.html#g3a4cc5e218cef7de139625a519e29ff3">dio.h</a>
 <li>BTN2
 : <a class="el" href="group__dio.html#g9dc19cdd6944e087c077044296a1ad8e">dio.h</a>
+<li>BUFFER_SIZE
+: <a class="el" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">encoders.h</a>
 <li>BUZZER
 : <a class="el" href="group__dragonfly.html#g145103118f6d9d1129aa4509cf214a13">dragonfly_lib.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_defs_0x74.html
===================================================================
--- trunk/docs/libdragonfly/globals_defs_0x74.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_defs_0x74.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -67,7 +68,7 @@
 : <a class="el" href="group__time.html#g4c2dc0c899e1571596205f29fcc35cd6">time.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/index.html
===================================================================
--- trunk/docs/libdragonfly/index.html	(revision 1370)
+++ trunk/docs/libdragonfly/index.html	(revision 1371)
@@ -20,7 +20,7 @@
 <h1>libdragonfly Documentation</h1>
 <p>
 <h3 align="center">1.0 </h3></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/i2c_8c.html
===================================================================
--- trunk/docs/libdragonfly/i2c_8c.html	(revision 1370)
+++ trunk/docs/libdragonfly/i2c_8c.html	(revision 1371)
@@ -85,7 +85,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/globals_0x68.html
===================================================================
--- trunk/docs/libdragonfly/globals_0x68.html	(revision 1370)
+++ trunk/docs/libdragonfly/globals_0x68.html	(revision 1371)
@@ -25,6 +25,7 @@
     <ul>
       <li class="current"><a href="globals.html"><span>All</span></a></li>
       <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_vars.html"><span>Variables</span></a></li>
       <li><a href="globals_type.html"><span>Typedefs</span></a></li>
       <li><a href="globals_defs.html"><span>Defines</span></a></li>
     </ul>
@@ -72,7 +73,7 @@
 , <a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb">serial.h</a>
 </ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dio_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/dio_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/dio_8h-source.html	(revision 1371)
@@ -296,7 +296,7 @@
 <a name="l00347"></a>00347 <span class="preprocessor">#endif</span>
 <a name="l00348"></a>00348 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/group__time.html
===================================================================
--- trunk/docs/libdragonfly/group__time.html	(revision 1370)
+++ trunk/docs/libdragonfly/group__time.html	(revision 1371)
@@ -188,7 +188,7 @@
 </div>
 </div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dragonfly__lib_8h.html
===================================================================
--- trunk/docs/libdragonfly/dragonfly__lib_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/dragonfly__lib_8h.html	(revision 1371)
@@ -123,7 +123,7 @@
 Include this file for all the functionality of libdragonfly.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/bom_8h-source.html
===================================================================
--- trunk/docs/libdragonfly/bom_8h-source.html	(revision 1370)
+++ trunk/docs/libdragonfly/bom_8h-source.html	(revision 1371)
@@ -47,7 +47,7 @@
 <a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
 <a name="l00086"></a>00086 <span class="preprocessor"></span>
 </pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/docs/libdragonfly/dio_8h.html
===================================================================
--- trunk/docs/libdragonfly/dio_8h.html	(revision 1370)
+++ trunk/docs/libdragonfly/dio_8h.html	(revision 1371)
@@ -539,7 +539,7 @@
 This file contains definitions and functions for dealing with digital input and output.<p>
 <dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club Based on Tom Lauwer's Firefly Library </dd></dl>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
 <a href="http://www.doxygen.org/index.html">
 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
 </body>
Index: trunk/code/lib/include/libdragonfly/encoders.h
===================================================================
--- trunk/code/lib/include/libdragonfly/encoders.h	(revision 1370)
+++ trunk/code/lib/include/libdragonfly/encoders.h	(revision 1371)
@@ -20,9 +20,11 @@
 
 
 #ifndef LEFT
+	/** @brief Left wheel **/
 	#define LEFT 0
 #endif
 #ifndef RIGHT
+	/** @brief Right wheel **/
 	#define RIGHT 1
 #endif
 
@@ -33,12 +35,9 @@
 /** @brief Not enough time has passed - encoders not initialized in hardware. **/
 #define ENCODER_DATA_NOT_READY 1026
 
-//delay_ms argument after a full read is complete
+/** @brief delay_ms argument after a full read is complete **/
 #define ENCODER_DELAY 20
 
-#define MIN_V (-100)
-#define MAX_V 100
-
 //Data invalid flags (hardware failure):
 #define OCF _BV(4)
 #define COF _BV(3)
@@ -49,6 +48,7 @@
 #define MagINCn _BV(1)
 #define MagDECn _BV(0)
 
+/** @brief Buffer size **/
 #define BUFFER_SIZE 23
 
 /** @brief Initialize encoders. **/
Index: trunk/code/lib/bin/libdragonfly.a
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: trunk/code/projects/libdragonfly/encoders.c
===================================================================
--- trunk/code/projects/libdragonfly/encoders.c	(revision 1370)
+++ trunk/code/projects/libdragonfly/encoders.c	(revision 1371)
@@ -19,10 +19,6 @@
 int right_dx;
 long int timecount;
 
-int left_v;
-int right_v;
-
-
 volatile short int data_ready;
 
 void encoder_recv(char data);
@@ -61,10 +57,6 @@
 	left_data = -1;
 	right_data = -1;
 	
-	
-	left_v=0;
-	right_v=0;
-	
 	//RING_BUFFER_INIT(enc_buffer,BUFFER_SIZE);
 	left_data_idx = 0;
 	right_data_idx = 0;
@@ -203,17 +195,11 @@
 			//Adjust left accumulator
 			dx = left_data - left_data_array_prev();
 			
-			//Adjust velocity: save last dx
-			left_v = left_dx;
-			
 			if(left_data_array_prev()==0)  dx=0;
 
 			if(dx > 512) left_dx += dx - 1023; //Underflow
 			else if(dx < -512) left_dx += dx + 1023; //Overflow
 			else left_dx += dx;
-			
-			//Adjust velocity: update
-			left_v = left_dx - left_v;
 		}
 
 		/*Above 1023 is invalid data*/	
Index: trunk/code/projects/libdragonfly/encoders.h
===================================================================
--- trunk/code/projects/libdragonfly/encoders.h	(revision 1370)
+++ trunk/code/projects/libdragonfly/encoders.h	(revision 1371)
@@ -20,9 +20,11 @@
 
 
 #ifndef LEFT
+	/** @brief Left wheel **/
 	#define LEFT 0
 #endif
 #ifndef RIGHT
+	/** @brief Right wheel **/
 	#define RIGHT 1
 #endif
 
@@ -33,12 +35,9 @@
 /** @brief Not enough time has passed - encoders not initialized in hardware. **/
 #define ENCODER_DATA_NOT_READY 1026
 
-//delay_ms argument after a full read is complete
+/** @brief delay_ms argument after a full read is complete **/
 #define ENCODER_DELAY 20
 
-#define MIN_V (-100)
-#define MAX_V 100
-
 //Data invalid flags (hardware failure):
 #define OCF _BV(4)
 #define COF _BV(3)
@@ -49,6 +48,7 @@
 #define MagINCn _BV(1)
 #define MagDECn _BV(0)
 
+/** @brief Buffer size **/
 #define BUFFER_SIZE 23
 
 /** @brief Initialize encoders. **/
