Project

General

Profile

Revision 1371

Added by Rich Hong over 14 years ago

Remove some unused code in encoders

Also update binary and docs

View differences:

trunk/docs/libdragonfly/reset_8h.html
37 37
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>
38 38
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club, James Kong </dd></dl>
39 39
</div>
40
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
40
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
41 41
<a href="http://www.doxygen.org/index.html">
42 42
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
43 43
</body>
trunk/docs/libdragonfly/group__move.html
163 163
</div>
164 164
</div><p>
165 165
</div>
166
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
166
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
167 167
<a href="http://www.doxygen.org/index.html">
168 168
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
169 169
</body>
trunk/docs/libdragonfly/globals_0x6c.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
77 78
: <a class="el" href="group__lcd.html#g0150085af3123e80303a3445821acb40">lcd.c</a>
78 79
<li>lcd_puts()
79 80
: <a class="el" href="group__lcd.html#g58a42336a344165c54e8dd4a0d3f0e1c">lcd.c</a>
81
<li>LEFT
82
: <a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">encoders.h</a>
80 83
<li>LIME
81 84
: <a class="el" href="group__orbs.html#g46019a1f2c10603a54b6cbb19cbf3c21">lights.h</a>
82 85
</ul>
83 86
</div>
84
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
87
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
85 88
<a href="http://www.doxygen.org/index.html">
86 89
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
87 90
</body>
trunk/docs/libdragonfly/group__dio.html
552 552
</div>
553 553
</div><p>
554 554
</div>
555
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
555
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
556 556
<a href="http://www.doxygen.org/index.html">
557 557
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
558 558
</body>
trunk/docs/libdragonfly/globals_defs_0x6e.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
75 76
: <a class="el" href="group__move.html#gdfc67eeed7b52f97b8483af04e27a9ce">move.h</a>
76 77
</ul>
77 78
</div>
78
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
79
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
79 80
<a href="http://www.doxygen.org/index.html">
80 81
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
81 82
</body>
trunk/docs/libdragonfly/lcd_8c.html
86 86
Implementation of functions for using the LCD.<p>
87 87
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
88 88
</div>
89
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
89
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
90 90
<a href="http://www.doxygen.org/index.html">
91 91
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
92 92
</body>
trunk/docs/libdragonfly/globals_defs_0x71.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
67 68
: <a class="el" href="group__time.html#g0b2a348d9afca1f1182bc2bb2aa6a3d1">time.h</a>
68 69
</ul>
69 70
</div>
70
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
71
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
71 72
<a href="http://www.doxygen.org/index.html">
72 73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
73 74
</body>
trunk/docs/libdragonfly/globals_0x65.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
73 74
: <a class="el" href="group__time.html#g7bdae984203001070e9abeb3190f844a">time.h</a>
74 75
<li>ENCODER_DATA_NOT_READY
75 76
: <a class="el" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">encoders.h</a>
77
<li>ENCODER_DELAY
78
: <a class="el" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">encoders.h</a>
76 79
<li>encoder_get_dx()
77 80
: <a class="el" href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992">encoders.h</a>
78 81
<li>encoder_get_tc()
......
95 98
: <a class="el" href="group__analog.html#g3434ce39eaea22b46a0100b7fd3a6f47">analog.h</a>
96 99
</ul>
97 100
</div>
98
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
101
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
99 102
<a href="http://www.doxygen.org/index.html">
100 103
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
101 104
</body>
trunk/docs/libdragonfly/dragonfly__lib_8h-source.html
86 86
<a name="l00114"></a>00114 <span class="preprocessor">#endif</span>
87 87
<a name="l00115"></a>00115 <span class="preprocessor"></span>
88 88
</pre></div></div>
89
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
89
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
90 90
<a href="http://www.doxygen.org/index.html">
91 91
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
92 92
</body>
trunk/docs/libdragonfly/bom_8c.html
114 114
Contains functions for using the Bearing and Orientation Module (BOM)<p>
115 115
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
116 116
</div>
117
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
117
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
118 118
<a href="http://www.doxygen.org/index.html">
119 119
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
120 120
</body>
trunk/docs/libdragonfly/globals_0x77.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
71 72
: <a class="el" href="group__orbs.html#g87b537f5fa5c109d3c05c13d6b18f382">lights.h</a>
72 73
</ul>
73 74
</div>
74
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
75
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
75 76
<a href="http://www.doxygen.org/index.html">
76 77
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
77 78
</body>
trunk/docs/libdragonfly/globals_defs_0x67.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
71 72
: <a class="el" href="group__orbs.html#gcfbc006ea433ad708fdee3e82996e721">lights.h</a>
72 73
</ul>
73 74
</div>
74
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
75
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
75 76
<a href="http://www.doxygen.org/index.html">
76 77
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
77 78
</body>
trunk/docs/libdragonfly/globals_defs_0x79.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
67 68
: <a class="el" href="group__orbs.html#gbf681265909adf3d3e8116c93c0ba179">lights.h</a>
68 69
</ul>
69 70
</div>
70
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
71
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
71 72
<a href="http://www.doxygen.org/index.html">
72 73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
73 74
</body>
trunk/docs/libdragonfly/serial_8h-source.html
49 49
<a name="l00068"></a>00068 <span class="preprocessor">#ifndef _SERIAL_H</span>
50 50
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define _SERIAL_H</span>
51 51
<a name="l00070"></a>00070 <span class="preprocessor"></span>
52
<a name="l00080"></a>00080 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
53
<a name="l00081"></a>00081 <span class="preprocessor">#ifndef USB_BAUD</span>
54
<a name="l00082"></a>00082 <span class="preprocessor"></span>
55
<a name="l00083"></a><a class="code" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">00083</a> <span class="preprocessor">#define USB_BAUD 115200</span>
56
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
52
<a name="l00071"></a>00071 <span class="preprocessor">#include &lt;inttypes.h&gt;</span>
53
<a name="l00072"></a>00072 <span class="preprocessor">#include &lt;avr/pgmspace.h&gt;</span>
54
<a name="l00073"></a>00073 
55
<a name="l00083"></a>00083 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
56
<a name="l00084"></a>00084 <span class="preprocessor">#ifndef USB_BAUD</span>
57 57
<a name="l00085"></a>00085 <span class="preprocessor"></span>
58
<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>);
59
<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);
60
<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>);
61
<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);
62
<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);
63
<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);
64
<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);
65
<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);
66
<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);
67
<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); };
68
<a name="l00106"></a>00106 
69
<a name="l00107"></a>00107  <span class="comment">//end addtogroup</span>
70
<a name="l00109"></a>00109 
71
<a name="l00119"></a>00119 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
72
<a name="l00120"></a>00120 
73
<a name="l00121"></a>00121 <span class="comment">// if no baud rate is defined for xbee, default is set here</span>
74
<a name="l00122"></a>00122 <span class="preprocessor">#ifndef XBEE_BAUD</span>
75
<a name="l00123"></a>00123 <span class="preprocessor"></span>
76
<a name="l00124"></a><a class="code" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">00124</a> <span class="preprocessor">#define XBEE_BAUD 9600</span>
77
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
78
<a name="l00126"></a>00126 <span class="preprocessor"></span>
79
<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>);
80
<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);
81
<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>);
82
<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);
83
<a name="l00135"></a>00135 
84
<a name="l00136"></a>00136 
85
<a name="l00137"></a>00137  <span class="comment">//end addtogroup</span>
86
<a name="l00139"></a>00139 
87
<a name="l00140"></a>00140 <span class="preprocessor">#endif</span>
88
<a name="l00141"></a>00141 <span class="preprocessor"></span>
58
<a name="l00086"></a><a class="code" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">00086</a> <span class="preprocessor">#define USB_BAUD 115200</span>
59
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
60
<a name="l00088"></a>00088 <span class="preprocessor"></span>
61
<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>);
62
<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);
63
<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>);
64
<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);
65
<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);
66
<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);
67
<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);
68
<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);
69
<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);
70
<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);
71
<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); };
72
<a name="l00111"></a>00111 
73
<a name="l00112"></a>00112  <span class="comment">//end addtogroup</span>
74
<a name="l00114"></a>00114 
75
<a name="l00124"></a>00124 <span class="comment">// if no baud rate is defined for usb, default is set here</span>
76
<a name="l00125"></a>00125 
77
<a name="l00126"></a>00126 <span class="comment">// if no baud rate is defined for xbee, default is set here</span>
78
<a name="l00127"></a>00127 <span class="preprocessor">#ifndef XBEE_BAUD</span>
79
<a name="l00128"></a>00128 <span class="preprocessor"></span>
80
<a name="l00129"></a><a class="code" href="group__xbee.html#g7125fc8f3df24a2db8e074983206b054">00129</a> <span class="preprocessor">#define XBEE_BAUD 9600</span>
81
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
82
<a name="l00131"></a>00131 <span class="preprocessor"></span>
83
<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>);
84
<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);
85
<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>);
86
<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);
87
<a name="l00140"></a>00140 
88
<a name="l00141"></a>00141 
89
<a name="l00142"></a>00142  <span class="comment">//end addtogroup</span>
90
<a name="l00144"></a>00144 
91
<a name="l00145"></a>00145 <span class="preprocessor">#endif</span>
92
<a name="l00146"></a>00146 <span class="preprocessor"></span>
89 93
</pre></div></div>
90
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
94
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
91 95
<a href="http://www.doxygen.org/index.html">
92 96
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
93 97
</body>
trunk/docs/libdragonfly/i2c_8h.html
63 63
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>
64 64
<dl class="author" compact><dt><b>Author:</b></dt><dd>Kevin Woo and Suresh Nidhiry, Colony Project, CMU Robotics Club </dd></dl>
65 65
</div>
66
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
66
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
67 67
<a href="http://www.doxygen.org/index.html">
68 68
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
69 69
</body>
trunk/docs/libdragonfly/annotated.html
26 26
  <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>
27 27
</table>
28 28
</div>
29
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
29
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
30 30
<a href="http://www.doxygen.org/index.html">
31 31
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
32 32
</body>
trunk/docs/libdragonfly/buzzer_8h-source.html
57 57
<a name="l00087"></a>00087 <span class="preprocessor">#endif</span>
58 58
<a name="l00088"></a>00088 <span class="preprocessor"></span>
59 59
</pre></div></div>
60
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
60
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
61 61
<a href="http://www.doxygen.org/index.html">
62 62
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
63 63
</body>
trunk/docs/libdragonfly/reset_8h-source.html
25 25
<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
26 26
<a name="l00049"></a>00049 <span class="preprocessor"></span>
27 27
</pre></div></div>
28
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
28
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
29 29
<a href="http://www.doxygen.org/index.html">
30 30
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
31 31
</body>
trunk/docs/libdragonfly/group__util__atomic.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: &lt;util/atomic.h&gt; Atomically and Non-Atomically Executed Code Blocks</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
</div>
19
<div class="contents">
20
<h1>&lt;util/atomic.h&gt; Atomically and Non-Atomically Executed Code Blocks</h1><table border="0" cellpadding="0" cellspacing="0">
21
<tr><td></td></tr>
22
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
23
<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>
24

  
25
<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>
26

  
27
<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>
28

  
29
<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>
30

  
31
<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>
32

  
33
<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>
34

  
35
</table>
36
<hr><a name="_details"></a><h2>Detailed Description</h2>
37
<div class="fragment"><pre class="fragment"><span class="preprocessor">    #include &lt;util/atomic.h&gt;</span>
38
</pre></div><p>
39
<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>
40
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>
41
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>
42
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>
43
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;inttypes.h&gt;</span>
44
<span class="preprocessor">#include &lt;avr/interrupt.h&gt;</span>
45
<span class="preprocessor">#include &lt;avr/io.h&gt;</span>
46

  
47
<span class="keyword">volatile</span> uint16_t ctr;
48

  
49
ISR(TIMER1_OVF_vect)
50
{
51
  ctr--;
52
}
53

  
54
...
55
int
56
main(<span class="keywordtype">void</span>)
57
{
58
   ...
59
   ctr = 0x200;
60
   start_timer();
61
   <span class="keywordflow">while</span> (ctr != 0)
62
     <span class="comment">// wait</span>
63
       ;
64
   ...
65
}
66
</pre></div><p>
67
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>
68
Using the macros from this header file, the above code can be rewritten like:<p>
69
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include &lt;inttypes.h&gt;</span>
70
<span class="preprocessor">#include &lt;avr/interrupt.h&gt;</span>
71
<span class="preprocessor">#include &lt;avr/io.h&gt;</span>
72
<span class="preprocessor">#include &lt;util/atomic.h&gt;</span>
73

  
74
<span class="keyword">volatile</span> uint16_t ctr;
75

  
76
ISR(TIMER1_OVF_vect)
77
{
78
  ctr--;
79
}
80

  
81
...
82
int
83
main(<span class="keywordtype">void</span>)
84
{
85
   ...
86
   ctr = 0x200;
87
   start_timer();
88
   sei();
89
   uint16_t ctr_copy;
90
   <span class="keywordflow">do</span>
91
   {
92
     <a class="code" href="group__util__atomic.html#gaaea265b31dabcfb3098bec7685c39e4">ATOMIC_BLOCK</a>(<a class="code" href="group__util__atomic.html#g92b11103b4b3b000a3190f0d26ba7062">ATOMIC_FORCEON</a>)
93
     {
94
       ctr_copy = ctr;
95
     }
96
   }
97
   <span class="keywordflow">while</span> (ctr_copy != 0);
98
   ...
99
}
100
</pre></div><p>
101
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>
102
<a class="anchor" name="gaaea265b31dabcfb3098bec7685c39e4"></a><!-- doxytag: member="atomic.h::ATOMIC_BLOCK" ref="gaaea265b31dabcfb3098bec7685c39e4" args="(type)" -->
103
<div class="memitem">
104
<div class="memproto">
105
      <table class="memname">
106
        <tr>
107
          <td class="memname">#define ATOMIC_BLOCK          </td>
108
          <td>(</td>
109
          <td class="paramtype">type&nbsp;</td>
110
          <td class="paramname">          </td>
111
          <td>&nbsp;)&nbsp;</td>
112
          <td width="100%"></td>
113
        </tr>
114
      </table>
115
</div>
116
<div class="memdoc">
117

  
118
<p>
119
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> ( type, __ToDo = __iCliRetVal(); \
120
                               __ToDo ; __ToDo = 0 )
121
</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>
122
Two possible macro parameters are permitted, ATOMIC_RESTORESTATE and ATOMIC_FORCEON. 
123
</div>
124
</div><p>
125
<a class="anchor" name="g92b11103b4b3b000a3190f0d26ba7062"></a><!-- doxytag: member="atomic.h::ATOMIC_FORCEON" ref="g92b11103b4b3b000a3190f0d26ba7062" args="" -->
126
<div class="memitem">
127
<div class="memproto">
128
      <table class="memname">
129
        <tr>
130
          <td class="memname">#define ATOMIC_FORCEON          </td>
131
        </tr>
132
      </table>
133
</div>
134
<div class="memdoc">
135

  
136
<p>
137
<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
138
        __attribute__((__cleanup__(__iSeiParam))) = 0
139
</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>
140
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. 
141
</div>
142
</div><p>
143
<a class="anchor" name="g362c18b15a09703e42e1c246c47420ef"></a><!-- doxytag: member="atomic.h::ATOMIC_RESTORESTATE" ref="g362c18b15a09703e42e1c246c47420ef" args="" -->
144
<div class="memitem">
145
<div class="memproto">
146
      <table class="memname">
147
        <tr>
148
          <td class="memname">#define ATOMIC_RESTORESTATE          </td>
149
        </tr>
150
      </table>
151
</div>
152
<div class="memdoc">
153

  
154
<p>
155
<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
156
        __attribute__((__cleanup__(__iRestore))) = SREG
157
</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. 
158
</div>
159
</div><p>
160
<a class="anchor" name="g6e195ee2117559a25f77fbba9054674a"></a><!-- doxytag: member="atomic.h::NONATOMIC_BLOCK" ref="g6e195ee2117559a25f77fbba9054674a" args="(type)" -->
161
<div class="memitem">
162
<div class="memproto">
163
      <table class="memname">
164
        <tr>
165
          <td class="memname">#define NONATOMIC_BLOCK          </td>
166
          <td>(</td>
167
          <td class="paramtype">type&nbsp;</td>
168
          <td class="paramname">          </td>
169
          <td>&nbsp;)&nbsp;</td>
170
          <td width="100%"></td>
171
        </tr>
172
      </table>
173
</div>
174
<div class="memdoc">
175

  
176
<p>
177
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">for</span> ( type, __ToDo = __iSeiRetVal(); \
178
                                  __ToDo ;  __ToDo = 0 )
179
</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>
180
Two possible macro parameters are permitted, NONATOMIC_RESTORESTATE and NONATOMIC_FORCEOFF. 
181
</div>
182
</div><p>
183
<a class="anchor" name="gfb959d7d00d2d790b58d0e9880ea255a"></a><!-- doxytag: member="atomic.h::NONATOMIC_FORCEOFF" ref="gfb959d7d00d2d790b58d0e9880ea255a" args="" -->
184
<div class="memitem">
185
<div class="memproto">
186
      <table class="memname">
187
        <tr>
188
          <td class="memname">#define NONATOMIC_FORCEOFF          </td>
189
        </tr>
190
      </table>
191
</div>
192
<div class="memdoc">
193

  
194
<p>
195
<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
196
        __attribute__((__cleanup__(__iCliParam))) = 0
197
</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>
198
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. 
199
</div>
200
</div><p>
201
<a class="anchor" name="gb075653bf638fae9db049575741d3152"></a><!-- doxytag: member="atomic.h::NONATOMIC_RESTORESTATE" ref="gb075653bf638fae9db049575741d3152" args="" -->
202
<div class="memitem">
203
<div class="memproto">
204
      <table class="memname">
205
        <tr>
206
          <td class="memname">#define NONATOMIC_RESTORESTATE          </td>
207
        </tr>
208
      </table>
209
</div>
210
<div class="memdoc">
211

  
212
<p>
213
<b>Value:</b><div class="fragment"><pre class="fragment">uint8_t sreg_save \
214
        __attribute__((__cleanup__(__iRestore))) = SREG
215
</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. 
216
</div>
217
</div><p>
218
</div>
219
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
220
<a href="http://www.doxygen.org/index.html">
221
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
222
</body>
223
</html>
trunk/docs/libdragonfly/globals_type.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
44 45
: <a class="el" href="group__orbs.html#ge1444a97f794787d7ffaa5ec12e2a1e2">lights.h</a>
45 46
</ul>
46 47
</div>
47
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
48
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
48 49
<a href="http://www.doxygen.org/index.html">
49 50
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
50 51
</body>
trunk/docs/libdragonfly/eeprom_8h.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: eeprom.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
</div>
19
<div class="contents">
20
<h1>eeprom.h File Reference</h1>handles eeprom storage for persistent data <a href="#_details">More...</a>
21
<p>
22
<code>#include &lt;<a class="el" href="bom_8h-source.html">bom.h</a>&gt;</code><br>
23

  
24
<p>
25
<a href="eeprom_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
26
<tr><td></td></tr>
27
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
28
<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="" -->
29
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>EEPROM_ROBOT_ID_ADDR</b>&nbsp;&nbsp;&nbsp;0x10</td></tr>
30

  
31
<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="" -->
32
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>EEPROM_BOM_TYPE_ADDR</b>&nbsp;&nbsp;&nbsp;0x14</td></tr>
33

  
34
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
35
<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>
36

  
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">store a byte to eeproem  <a href="#4f56f25703c0e313fae3d0d327109082"></a><br></td></tr>
38
<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>
39

  
40
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">reads a byte from eeprom  <a href="#1235e4e69e3f0114160e69705f38bda1"></a><br></td></tr>
41
<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>
42

  
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stored robot ID  <a href="#bfc8e084d177435cbe1cc30cfedf4327"></a><br></td></tr>
44
<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>
45

  
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get stored robot ID  <a href="#de3f83da05149edf008cb5fa23fde7df"></a><br></td></tr>
47
</table>
48
<hr><a name="_details"></a><h2>Detailed Description</h2>
49
handles eeprom storage for persistent data 
50
<p>
51
Contains functions and definitions for reading and writing to eeprom<p>
52
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, Brad Neuman </dd></dl>
53
<hr><h2>Function Documentation</h2>
54
<a class="anchor" name="1235e4e69e3f0114160e69705f38bda1"></a><!-- doxytag: member="eeprom.h::eeprom_get_byte" ref="1235e4e69e3f0114160e69705f38bda1" args="(unsigned int addr, unsigned char *byte)" -->
55
<div class="memitem">
56
<div class="memproto">
57
      <table class="memname">
58
        <tr>
59
          <td class="memname">int eeprom_get_byte           </td>
60
          <td>(</td>
61
          <td class="paramtype">unsigned int&nbsp;</td>
62
          <td class="paramname"> <em>addr</em>, </td>
63
        </tr>
64
        <tr>
65
          <td class="paramkey"></td>
66
          <td></td>
67
          <td class="paramtype">unsigned char *&nbsp;</td>
68
          <td class="paramname"> <em>byte</em></td><td>&nbsp;</td>
69
        </tr>
70
        <tr>
71
          <td></td>
72
          <td>)</td>
73
          <td></td><td></td><td width="100%"></td>
74
        </tr>
75
      </table>
76
</div>
77
<div class="memdoc">
78

  
79
<p>
80
reads a byte from eeprom 
81
<p>
82
Pass it thge address and a pointer to a byte where the byte at the address will be stored<p>
83
<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>
84

  
85
</div>
86
</div><p>
87
<a class="anchor" name="4f56f25703c0e313fae3d0d327109082"></a><!-- doxytag: member="eeprom.h::eeprom_put_byte" ref="4f56f25703c0e313fae3d0d327109082" args="(unsigned int addr, unsigned char byte)" -->
88
<div class="memitem">
89
<div class="memproto">
90
      <table class="memname">
91
        <tr>
92
          <td class="memname">int eeprom_put_byte           </td>
93
          <td>(</td>
94
          <td class="paramtype">unsigned int&nbsp;</td>
95
          <td class="paramname"> <em>addr</em>, </td>
96
        </tr>
97
        <tr>
98
          <td class="paramkey"></td>
99
          <td></td>
100
          <td class="paramtype">unsigned char&nbsp;</td>
101
          <td class="paramname"> <em>byte</em></td><td>&nbsp;</td>
102
        </tr>
103
        <tr>
104
          <td></td>
105
          <td>)</td>
106
          <td></td><td></td><td width="100%"></td>
107
        </tr>
108
      </table>
109
</div>
110
<div class="memdoc">
111

  
112
<p>
113
store a byte to eeproem 
114
<p>
115
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if success, nonzero on failure </dd></dl>
116

  
117
</div>
118
</div><p>
119
<a class="anchor" name="de3f83da05149edf008cb5fa23fde7df"></a><!-- doxytag: member="eeprom.h::get_bom_type" ref="de3f83da05149edf008cb5fa23fde7df" args="(void)" -->
120
<div class="memitem">
121
<div class="memproto">
122
      <table class="memname">
123
        <tr>
124
          <td class="memname">unsigned char get_bom_type           </td>
125
          <td>(</td>
126
          <td class="paramtype">void&nbsp;</td>
127
          <td class="paramname">          </td>
128
          <td>&nbsp;)&nbsp;</td>
129
          <td width="100%"></td>
130
        </tr>
131
      </table>
132
</div>
133
<div class="memdoc">
134

  
135
<p>
136
get stored robot ID 
137
<p>
138
checks that EEPROM has been programed with an BOM type and returns it<p>
139
<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>
140

  
141
</div>
142
</div><p>
143
<a class="anchor" name="bfc8e084d177435cbe1cc30cfedf4327"></a><!-- doxytag: member="eeprom.h::get_robotid" ref="bfc8e084d177435cbe1cc30cfedf4327" args="(void)" -->
144
<div class="memitem">
145
<div class="memproto">
146
      <table class="memname">
147
        <tr>
148
          <td class="memname">unsigned char get_robotid           </td>
149
          <td>(</td>
150
          <td class="paramtype">void&nbsp;</td>
151
          <td class="paramname">          </td>
152
          <td>&nbsp;)&nbsp;</td>
153
          <td width="100%"></td>
154
        </tr>
155
      </table>
156
</div>
157
<div class="memdoc">
158

  
159
<p>
160
get stored robot ID 
161
<p>
162
checks that EEPROM has been programed with an ID and returns it<p>
163
<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>
164

  
165
</div>
166
</div><p>
167
</div>
168
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
169
<a href="http://www.doxygen.org/index.html">
170
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
171
</body>
172
</html>
trunk/docs/libdragonfly/group__reset.html
49 49
</div>
50 50
</div><p>
51 51
</div>
52
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
52
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
53 53
<a href="http://www.doxygen.org/index.html">
54 54
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
55 55
</body>
trunk/docs/libdragonfly/motor_8h-source.html
33 33
<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
34 34
<a name="l00064"></a>00064 <span class="preprocessor"></span>
35 35
</pre></div></div>
36
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
36
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
37 37
<a href="http://www.doxygen.org/index.html">
38 38
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
39 39
</body>
trunk/docs/libdragonfly/analog_8h-source.html
86 86
<a name="l00127"></a>00127 <span class="preprocessor">#endif</span>
87 87
<a name="l00128"></a>00128 <span class="preprocessor"></span>
88 88
</pre></div></div>
89
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
89
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
90 90
<a href="http://www.doxygen.org/index.html">
91 91
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
92 92
</body>
trunk/docs/libdragonfly/odometry_8h.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: odometry.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
</div>
19
<div class="contents">
20
<h1>odometry.h File Reference</h1>Code for estimating the robots pose. <a href="#_details">More...</a>
21
<p>
22

  
23
<p>
24
<a href="odometry_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
25
<tr><td></td></tr>
26
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
27
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gea4914268d0abe55b9caafac537bc263"></a><!-- doxytag: member="odometry.h::ODOMETRY_CLK" ref="gea4914268d0abe55b9caafac537bc263" args="" -->
28
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ODOMETRY_CLK</b>&nbsp;&nbsp;&nbsp;255u</td></tr>
29

  
30
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3104e6ab77c71296e6879fc57af26e8e"></a><!-- doxytag: member="odometry.h::TIME_SCALE" ref="g3104e6ab77c71296e6879fc57af26e8e" args="" -->
31
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>TIME_SCALE</b>&nbsp;&nbsp;&nbsp;64</td></tr>
32

  
33
<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="" -->
34
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ROBOT_WIDTH_UM</b>&nbsp;&nbsp;&nbsp;137000</td></tr>
35

  
36
<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="" -->
37
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>CLICK_DISTANCE_UM</b>&nbsp;&nbsp;&nbsp;204</td></tr>
38

  
39
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g30e5d468b11a21497a943586ed536d81"></a><!-- doxytag: member="odometry.h::DISTANCE_SCALE" ref="g30e5d468b11a21497a943586ed536d81" args="" -->
40
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>DISTANCE_SCALE</b>&nbsp;&nbsp;&nbsp;2.10526316</td></tr>
41

  
42
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7618f3a2fe3ffe816299501556cea637"></a><!-- doxytag: member="odometry.h::ANGLE_SCALE" ref="g7618f3a2fe3ffe816299501556cea637" args="" -->
43
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ANGLE_SCALE</b>&nbsp;&nbsp;&nbsp;1.12823207</td></tr>
44

  
45
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
46
<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>
47

  
48
<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>
49
<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>
50

  
51
<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>
52
<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>
53

  
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the robots estimated orientation.  <a href="group__odometry.html#g85a0a0b11d2adf53e2f88a836080d1f4"></a><br></td></tr>
55
<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>
56

  
57
<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>
58
<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>
59

  
60
<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>
61
<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)" -->
62
long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__odometry.html#gc958e4b80d89acf8b61a140b49353ff7">odometry_velocity</a> (void)</td></tr>
63

  
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Report estimated velocity [mm/s]. <br></td></tr>
65
</table>
66
<hr><a name="_details"></a><h2>Detailed Description</h2>
67
Code for estimating the robots pose. 
68
<p>
69
Offers simple position and orientation information.<p>
70
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
71
</div>
72
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
73
<a href="http://www.doxygen.org/index.html">
74
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
75
</body>
76
</html>
trunk/docs/libdragonfly/encoders_8h.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: encoders.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
</div>
19
<div class="contents">
20
<h1>encoders.h File Reference</h1>Contains functions for reading encoder values. <a href="#_details">More...</a>
21
<p>
22

  
23
<p>
24
<a href="encoders_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
25
<tr><td></td></tr>
26
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
27
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g437ef08681e7210d6678427030446a54"></a><!-- doxytag: member="encoders.h::LEFT" ref="g437ef08681e7210d6678427030446a54" args="" -->
28
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">LEFT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
29

  
30
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Left wheel. <br></td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g80fb826a684cf3f0d306b22aa100ddac"></a><!-- doxytag: member="encoders.h::RIGHT" ref="g80fb826a684cf3f0d306b22aa100ddac" args="" -->
32
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">RIGHT</a>&nbsp;&nbsp;&nbsp;1</td></tr>
33

  
34
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right wheel. <br></td></tr>
35
<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="" -->
36
#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>
37

  
38
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magnet misaligned - likely distance from encoder problem. <br></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g461113043ab113b6dc7d56619a1a15f4"></a><!-- doxytag: member="encoders.h::ENCODER_MISALIGNED" ref="g461113043ab113b6dc7d56619a1a15f4" args="" -->
40
#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>
41

  
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder misaligned - likely on XY plane. <br></td></tr>
43
<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="" -->
44
#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>
45

  
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not enough time has passed - encoders not initialized in hardware. <br></td></tr>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5ff35c79ce306ac5c3580b96dea4e653"></a><!-- doxytag: member="encoders.h::ENCODER_DELAY" ref="g5ff35c79ce306ac5c3580b96dea4e653" args="" -->
48
#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>
49

  
50
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delay_ms argument after a full read is complete <br></td></tr>
51
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9173b4a556a38fffd9336138830ebfa0"></a><!-- doxytag: member="encoders.h::OCF" ref="g9173b4a556a38fffd9336138830ebfa0" args="" -->
52
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>OCF</b>&nbsp;&nbsp;&nbsp;_BV(4)</td></tr>
53

  
54
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfb416b9855f4d6cc2153044a681509e"></a><!-- doxytag: member="encoders.h::COF" ref="gdfb416b9855f4d6cc2153044a681509e" args="" -->
55
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>COF</b>&nbsp;&nbsp;&nbsp;_BV(3)</td></tr>
56

  
57
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfbb57dfc13455b39716c3bb5c55eaa06"></a><!-- doxytag: member="encoders.h::LIN" ref="gfbb57dfc13455b39716c3bb5c55eaa06" args="" -->
58
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>LIN</b>&nbsp;&nbsp;&nbsp;_BV(2)</td></tr>
59

  
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc67b4ce01de99b63b3639f03c03a05b"></a><!-- doxytag: member="encoders.h::MagINCn" ref="gdc67b4ce01de99b63b3639f03c03a05b" args="" -->
61
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagINCn</b>&nbsp;&nbsp;&nbsp;_BV(1)</td></tr>
62

  
63
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc7fd147cd970830e275f0ed9ebff00a"></a><!-- doxytag: member="encoders.h::MagDECn" ref="gdc7fd147cd970830e275f0ed9ebff00a" args="" -->
64
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MagDECn</b>&nbsp;&nbsp;&nbsp;_BV(0)</td></tr>
65

  
66
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g6b20d41d6252e9871430c242cb1a56e7"></a><!-- doxytag: member="encoders.h::BUFFER_SIZE" ref="g6b20d41d6252e9871430c242cb1a56e7" args="" -->
67
#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>
68

  
69
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer size. <br></td></tr>
70
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
71
<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)" -->
72
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gf02e2149caeb6116f256783348031c86">encoders_init</a> (void)</td></tr>
73

  
74
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize encoders. <br></td></tr>
75
<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>
76

  
77
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read instantaneous encoder value.  <a href="group__encoders.html#g9abc8e86fe64bcf4c3862ed12d913530"></a><br></td></tr>
78
<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>
79

  
80
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total distance traveled.  <a href="group__encoders.html#gd73643bd46dbc459cc0dfa8dd90b4992"></a><br></td></tr>
81
<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>
82

  
83
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset distance counter.  <a href="group__encoders.html#g7bef9844241df2154df77d10e5bf47c4"></a><br></td></tr>
84
<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>
85

  
86
<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>
87
<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)" -->
88
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga410e62db3c6fdc317130a8d5a238655">encoder_rst_tc</a> (void)</td></tr>
89

  
90
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the time count. <br></td></tr>
91
<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>
92

  
93
<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>
94
</table>
95
<hr><a name="_details"></a><h2>Detailed Description</h2>
96
Contains functions for reading encoder values. 
97
<p>
98
Contains high and low level functions for reading encoders including reading out total distance covered, and eventually velocity.<p>
99
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
100
</div>
101
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
102
<a href="http://www.doxygen.org/index.html">
103
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
104
</body>
105
</html>
trunk/docs/libdragonfly/lcd_8h.html
54 54
Contains definitions and functions for dealing with the LCD screen.<p>
55 55
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
56 56
</div>
57
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
57
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
58 58
<a href="http://www.doxygen.org/index.html">
59 59
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
60 60
</body>
trunk/docs/libdragonfly/globals_0x62.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
115 116
: <a class="el" href="group__dio.html#g3a4cc5e218cef7de139625a519e29ff3">dio.h</a>
116 117
<li>BTN2
117 118
: <a class="el" href="group__dio.html#g9dc19cdd6944e087c077044296a1ad8e">dio.h</a>
119
<li>BUFFER_SIZE
120
: <a class="el" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">encoders.h</a>
118 121
<li>button1_click()
119
: <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.c</a>
120
, <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.h</a>
122
: <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.h</a>
123
, <a class="el" href="group__dio.html#g1f8648caa59384d58fc157d8933f4be5">dio.c</a>
121 124
<li>button1_read()
122 125
: <a class="el" href="group__dio.html#gedac5cd2a11710ab4294de2ae4efe989">dio.h</a>
123 126
, <a class="el" href="group__dio.html#gedac5cd2a11710ab4294de2ae4efe989">dio.c</a>
124 127
<li>button1_wait()
125
: <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.h</a>
126
, <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.c</a>
128
: <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.c</a>
129
, <a class="el" href="group__dio.html#g63755dc896b16e09d5223cada174d87b">dio.h</a>
127 130
<li>button2_click()
128 131
: <a class="el" href="group__dio.html#g4147c347b473bd41c0a0f02af4dd39f2">dio.h</a>
129 132
, <a class="el" href="group__dio.html#g4147c347b473bd41c0a0f02af4dd39f2">dio.c</a>
130 133
<li>button2_read()
131
: <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.c</a>
132
, <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.h</a>
134
: <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.h</a>
135
, <a class="el" href="group__dio.html#g65e4c13e999fdfa9da3394d0175f17aa">dio.c</a>
133 136
<li>button2_wait()
134 137
: <a class="el" href="group__dio.html#g4971f4473e759bcff2e2758e75bcdbe8">dio.h</a>
135 138
, <a class="el" href="group__dio.html#g4971f4473e759bcff2e2758e75bcdbe8">dio.c</a>
......
137 140
: <a class="el" href="group__dragonfly.html#g145103118f6d9d1129aa4509cf214a13">dragonfly_lib.h</a>
138 141
</ul>
139 142
</div>
140
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
143
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
141 144
<a href="http://www.doxygen.org/index.html">
142 145
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
143 146
</body>
trunk/docs/libdragonfly/globals_defs_0x64.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
69 70
: <a class="el" href="group__buzzer.html#g33eb0561dd16dd44c7c23519dd22540a">buzzer.h</a>
70 71
</ul>
71 72
</div>
72
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
73
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
73 74
<a href="http://www.doxygen.org/index.html">
74 75
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
75 76
</body>
trunk/docs/libdragonfly/globals_0x74.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
67 68
: <a class="el" href="group__time.html#g4c2dc0c899e1571596205f29fcc35cd6">time.h</a>
68 69
</ul>
69 70
</div>
70
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
71
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
71 72
<a href="http://www.doxygen.org/index.html">
72 73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
73 74
</body>
trunk/docs/libdragonfly/bom_8h.html
76 76
This file contains definitions for using the Bearing and Orientation Module (BOM).<p>
77 77
<dl class="author" compact><dt><b>Author:</b></dt><dd>Colony Project, CMU Robotics Club </dd></dl>
78 78
</div>
79
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
79
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
80 80
<a href="http://www.doxygen.org/index.html">
81 81
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
82 82
</body>
trunk/docs/libdragonfly/structadc__t.html
44 44
Struct to hold the value of a particular analog port. <hr>The documentation for this struct was generated from the following file:<ul>
45 45
<li><a class="el" href="analog_8h-source.html">analog.h</a></ul>
46 46
</div>
47
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
47
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
48 48
<a href="http://www.doxygen.org/index.html">
49 49
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
50 50
</body>
trunk/docs/libdragonfly/ring__buffer_8h-source.html
68 68
<a name="l00141"></a>00141 <span class="preprocessor">#endif </span><span class="comment">/* _RING_BUFFER_H */</span>
69 69
<a name="l00142"></a>00142 
70 70
</pre></div></div>
71
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
71
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
72 72
<a href="http://www.doxygen.org/index.html">
73 73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
74 74
</body>
trunk/docs/libdragonfly/globals_0x6e.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
75 76
: <a class="el" href="group__move.html#gdfc67eeed7b52f97b8483af04e27a9ce">move.h</a>
76 77
</ul>
77 78
</div>
78
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
79
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
79 80
<a href="http://www.doxygen.org/index.html">
80 81
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
81 82
</body>
trunk/docs/libdragonfly/lights_8h.html
146 146
Contains declarations for using the orbs and PWM.<p>
147 147
<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>
148 148
</div>
149
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
149
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
150 150
<a href="http://www.doxygen.org/index.html">
151 151
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
152 152
</body>
trunk/docs/libdragonfly/time_8h-source.html
45 45
<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
46 46
<a name="l00075"></a>00075 <span class="preprocessor"></span>
47 47
</pre></div></div>
48
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
48
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
49 49
<a href="http://www.doxygen.org/index.html">
50 50
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
51 51
</body>
trunk/docs/libdragonfly/pages.html
22 22

  
23 23
</ul>
24 24
</div>
25
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
25
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
26 26
<a href="http://www.doxygen.org/index.html">
27 27
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
28 28
</body>
trunk/docs/libdragonfly/lcd_8h-source.html
29 29
<a name="l00060"></a>00060 <span class="preprocessor">#endif</span>
30 30
<a name="l00061"></a>00061 <span class="preprocessor"></span>
31 31
</pre></div></div>
32
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
32
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
33 33
<a href="http://www.doxygen.org/index.html">
34 34
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
35 35
</body>
trunk/docs/libdragonfly/encoders_8h-source.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: encoders.h Source File</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
<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 
19
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef __ENCODERS_H__</span>
20
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define __ENCODERS_H__</span>
21
<a name="l00020"></a>00020 <span class="preprocessor"></span>
22
<a name="l00021"></a>00021 
23
<a name="l00022"></a>00022 <span class="preprocessor">#ifndef LEFT</span>
24
<a name="l00023"></a>00023 <span class="preprocessor"></span>
25
<a name="l00024"></a><a class="code" href="group__encoders.html#g437ef08681e7210d6678427030446a54">00024</a> <span class="preprocessor">        #define LEFT 0</span>
26
<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
27
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#ifndef RIGHT</span>
28
<a name="l00027"></a>00027 <span class="preprocessor"></span>
29
<a name="l00028"></a><a class="code" href="group__encoders.html#g80fb826a684cf3f0d306b22aa100ddac">00028</a> <span class="preprocessor">        #define RIGHT 1</span>
30
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
31
<a name="l00030"></a>00030 <span class="preprocessor"></span>
32
<a name="l00032"></a><a class="code" href="group__encoders.html#ga7c882763d1877f0000be3e73f93d08a">00032</a> <span class="preprocessor">#define ENCODER_MAGNET_FAILURE 1025</span>
33
<a name="l00033"></a>00033 <span class="preprocessor"></span>
34
<a name="l00034"></a><a class="code" href="group__encoders.html#g461113043ab113b6dc7d56619a1a15f4">00034</a> <span class="preprocessor">#define ENCODER_MISALIGNED 1027</span>
35
<a name="l00035"></a>00035 <span class="preprocessor"></span>
36
<a name="l00036"></a><a class="code" href="group__encoders.html#g0a5cb25278a57b19a46264d134033f7b">00036</a> <span class="preprocessor">#define ENCODER_DATA_NOT_READY 1026</span>
37
<a name="l00037"></a>00037 <span class="preprocessor"></span>
38
<a name="l00039"></a><a class="code" href="group__encoders.html#g5ff35c79ce306ac5c3580b96dea4e653">00039</a> <span class="preprocessor">#define ENCODER_DELAY 20</span>
39
<a name="l00040"></a>00040 <span class="preprocessor"></span>
40
<a name="l00041"></a>00041 <span class="comment">//Data invalid flags (hardware failure):</span>
41
<a name="l00042"></a>00042 <span class="preprocessor">#define OCF _BV(4)</span>
42
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define COF _BV(3)</span>
43
<a name="l00044"></a>00044 <span class="preprocessor"></span>
44
<a name="l00045"></a>00045 <span class="comment">//Data invalid alarm (May be invalid):</span>
45
<a name="l00046"></a>00046 <span class="preprocessor">#define LIN _BV(2)</span>
46
<a name="l00047"></a>00047 <span class="preprocessor"></span>
47
<a name="l00048"></a>00048 <span class="preprocessor">#define MagINCn _BV(1)</span>
48
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define MagDECn _BV(0)</span>
49
<a name="l00050"></a>00050 <span class="preprocessor"></span>
50
<a name="l00052"></a><a class="code" href="group__encoders.html#g6b20d41d6252e9871430c242cb1a56e7">00052</a> <span class="preprocessor">#define BUFFER_SIZE 23</span>
51
<a name="l00053"></a>00053 <span class="preprocessor"></span>
52
<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>);
53
<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);
54
<a name="l00058"></a>00058 
55
<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);
56
<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);
57
<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>);
58
<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>);
59
<a name="l00067"></a>00067 
60
<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 );
61
<a name="l00070"></a>00070  <span class="comment">//end group</span>
62
<a name="l00072"></a>00072 
63
<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
64
</pre></div></div>
65
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
66
<a href="http://www.doxygen.org/index.html">
67
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
68
</body>
69
</html>
trunk/docs/libdragonfly/odometry_8h-source.html
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: odometry.h Source File</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li class="current"><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
<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 
19
<a name="l00011"></a>00011 <span class="preprocessor">#ifndef __ODOMETRY_C__</span>
20
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#define __ODOMETRY_C__</span>
21
<a name="l00013"></a>00013 <span class="preprocessor"></span>
22
<a name="l00019"></a>00019 <span class="comment">//Odometry resolution, *64 microseconds.</span>
23
<a name="l00020"></a>00020 <span class="preprocessor">#define ODOMETRY_CLK 255u </span>
24
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define TIME_SCALE 64</span>
25
<a name="l00022"></a>00022 <span class="preprocessor"></span>
26
<a name="l00023"></a>00023 <span class="comment">//Wheel = 2.613 in.  </span>
27
<a name="l00024"></a>00024 <span class="comment">//Circumference = 208.508133 mm</span>
28
<a name="l00025"></a>00025 <span class="comment">//Distance per encoder click (circumference / 1024)  = 203.621224 um.</span>
29
<a name="l00026"></a>00026 <span class="comment">//Robot width = 5.3745 in. = 136.5123 mm</span>
30
<a name="l00027"></a>00027 
31
<a name="l00028"></a>00028 <span class="preprocessor">#define ROBOT_WIDTH_UM 137000  //um</span>
32
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define CLICK_DISTANCE_UM 204 //um</span>
33
<a name="l00030"></a>00030 <span class="preprocessor"></span>
34
<a name="l00031"></a>00031 <span class="preprocessor">#define DISTANCE_SCALE 2.10526316 //Magic constant.</span>
35
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define ANGLE_SCALE 1.12823207 //Magic constant.</span>
36
<a name="l00033"></a>00033 <span class="preprocessor"></span>
37
<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>);
38
<a name="l00036"></a>00036 
39
<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>);
40
<a name="l00039"></a>00039 
41
<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>);
42
<a name="l00042"></a>00042 
43
<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>);
44
<a name="l00046"></a>00046 
45
<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>);
46
<a name="l00050"></a>00050 
47
<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>);
48
<a name="l00053"></a>00053  <span class="comment">//end group</span>
49
<a name="l00055"></a>00055 
50
<a name="l00056"></a>00056 <span class="preprocessor">#endif</span>
51
</pre></div></div>
52
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
53
<a href="http://www.doxygen.org/index.html">
54
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
55
</body>
56
</html>
trunk/docs/libdragonfly/globals_0x71.html
25 25
    <ul>
26 26
      <li class="current"><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
67 68
: <a class="el" href="group__time.html#g0b2a348d9afca1f1182bc2bb2aa6a3d1">time.h</a>
68 69
</ul>
69 70
</div>
70
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
71
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
71 72
<a href="http://www.doxygen.org/index.html">
72 73
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
73 74
</body>
trunk/docs/libdragonfly/globals_defs_0x61.html
25 25
    <ul>
26 26
      <li><a href="globals.html"><span>All</span></a></li>
27 27
      <li><a href="globals_func.html"><span>Functions</span></a></li>
28
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
28 29
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
29 30
      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
30 31
    </ul>
......
111 112
: <a class="el" href="group__util__atomic.html#g362c18b15a09703e42e1c246c47420ef">atomic.h</a>
112 113
</ul>
113 114
</div>
114
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
115
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
115 116
<a href="http://www.doxygen.org/index.html">
116 117
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
117 118
</body>
trunk/docs/libdragonfly/move_8h-source.html
45 45
<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
46 46
<a name="l00075"></a>00075 <span class="preprocessor"></span>
47 47
</pre></div></div>
48
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Apr 16 18:33:23 2009 for libdragonfly by&nbsp;
48
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:08 2009 for libdragonfly by&nbsp;
49 49
<a href="http://www.doxygen.org/index.html">
50 50
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
51 51
</body>
trunk/docs/libdragonfly/group__usb.html
41 41
<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>
42 42

  
43 43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
44
<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>
45

  
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
44 47
<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>
45 48

  
46 49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an integer to USB.  <a href="#gcd371dedbff10f0c52dca4b3b7af9e3d"></a><br></td></tr>
......
85 88
</dl>
86 89
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the hexadecimal digit in ASCII code, or '?' if the input is invalid. </dd></dl>
87 90

  
88
<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>
91
<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>
89 92

  
90 93
</div>
91 94
</div><p>
......
112 115
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the first character in the usb buffer</dd></dl>
113 116
<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>
114 117

  
115
<p>Referenced by <a class="el" href="serial_8c-source.html#l00048">usb_init()</a>.</p>
118
<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>.</p>
116 119

  
117 120
</div>
118 121
</div><p>
......
166 169
Initialize the USB. 
167 170
<p>
168 171
Initializes communication over the USB serial port. This must be called before any other usb function may be used. 
169
<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>
172
<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>
170 173

  
171 174
<p>Referenced by <a class="el" href="dragonfly__lib_8c-source.html#l00068">dragonfly_init()</a>.</p>
172 175

  
......
199 202
</dl>
200 203
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
201 204

  
202
<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>
205
<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>
203 206

  
204 207
</div>
205 208
</div><p>
......
230 233
</dl>
231 234
<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>
232 235

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff