Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libdragonfly / group__analog.html @ 869

History | View | Annotate | Download (32.3 KB)

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: Analog</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.4 -->
8
<div class="tabs">
9
  <ul>
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11
    <li><a href="modules.html"><span>Modules</span></a></li>
12
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13
    <li><a href="files.html"><span>Files</span></a></li>
14
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
15
  </ul>
16
</div>
17
<h1>Analog</h1><table border="0" cellpadding="0" cellspacing="0">
18
<tr><td></td></tr>
19
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
20
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structadc__t.html">adc_t</a></td></tr>
21

    
22
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct to hold the value of a particular analog port.  <a href="structadc__t.html#_details">More...</a><br></td></tr>
23
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
24
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g099995994c74b5fff8f7de4ff3eac550"></a><!-- doxytag: member="analog::AN0" ref="g099995994c74b5fff8f7de4ff3eac550" args="" -->
25
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g099995994c74b5fff8f7de4ff3eac550">AN0</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
26

    
27
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 0. <br></td></tr>
28
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g4903de2a52966c8dc2c20faf565d451d"></a><!-- doxytag: member="analog::AN1" ref="g4903de2a52966c8dc2c20faf565d451d" args="" -->
29
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g4903de2a52966c8dc2c20faf565d451d">AN1</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
30

    
31
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 1. <br></td></tr>
32
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9b0754e893d69a1e69e856853f70da1f"></a><!-- doxytag: member="analog::AN2" ref="g9b0754e893d69a1e69e856853f70da1f" args="" -->
33
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g9b0754e893d69a1e69e856853f70da1f">AN2</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
34

    
35
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 2. <br></td></tr>
36
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g9f593faa38f1023698d74f03a457abe3"></a><!-- doxytag: member="analog::AN3" ref="g9f593faa38f1023698d74f03a457abe3" args="" -->
37
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g9f593faa38f1023698d74f03a457abe3">AN3</a>&nbsp;&nbsp;&nbsp;0x03</td></tr>
38

    
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 3. <br></td></tr>
40
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdc95f1e9cdc00268d7bca5885052171f"></a><!-- doxytag: member="analog::AN4" ref="gdc95f1e9cdc00268d7bca5885052171f" args="" -->
41
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gdc95f1e9cdc00268d7bca5885052171f">AN4</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
42

    
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 4. <br></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g99ed455a0d536be03f12eba18ccff71b"></a><!-- doxytag: member="analog::AN5" ref="g99ed455a0d536be03f12eba18ccff71b" args="" -->
45
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g99ed455a0d536be03f12eba18ccff71b">AN5</a>&nbsp;&nbsp;&nbsp;0x05</td></tr>
46

    
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 5. <br></td></tr>
48
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gd63d6861c3fa5e606de5c18ada3b4d10"></a><!-- doxytag: member="analog::AN6" ref="gd63d6861c3fa5e606de5c18ada3b4d10" args="" -->
49
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gd63d6861c3fa5e606de5c18ada3b4d10">AN6</a>&nbsp;&nbsp;&nbsp;0x06</td></tr>
50

    
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 6. <br></td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g277d706ee82bd70459b63e85489c7074"></a><!-- doxytag: member="analog::AN7" ref="g277d706ee82bd70459b63e85489c7074" args="" -->
53
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g277d706ee82bd70459b63e85489c7074">AN7</a>&nbsp;&nbsp;&nbsp;0x07</td></tr>
54

    
55
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 7. <br></td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g28b64348820dbb25c903d24f2e38a8a7"></a><!-- doxytag: member="analog::AN8" ref="g28b64348820dbb25c903d24f2e38a8a7" args="" -->
57
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g28b64348820dbb25c903d24f2e38a8a7">AN8</a>&nbsp;&nbsp;&nbsp;0x08</td></tr>
58

    
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 8. <br></td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g2fb7e4f4e0ea1f172eef79ed1f92e15f"></a><!-- doxytag: member="analog::AN9" ref="g2fb7e4f4e0ea1f172eef79ed1f92e15f" args="" -->
61
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g2fb7e4f4e0ea1f172eef79ed1f92e15f">AN9</a>&nbsp;&nbsp;&nbsp;0x09</td></tr>
62

    
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 9. <br></td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc63caaf5f7a06a02522cb7f90d6c1959"></a><!-- doxytag: member="analog::AN10" ref="gc63caaf5f7a06a02522cb7f90d6c1959" args="" -->
65
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gc63caaf5f7a06a02522cb7f90d6c1959">AN10</a>&nbsp;&nbsp;&nbsp;0x0A</td></tr>
66

    
67
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 10. <br></td></tr>
68
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gdfeb79b00aaef4734408a910838f7872"></a><!-- doxytag: member="analog::AN11" ref="gdfeb79b00aaef4734408a910838f7872" args="" -->
69
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gdfeb79b00aaef4734408a910838f7872">AN11</a>&nbsp;&nbsp;&nbsp;0x0B</td></tr>
70

    
71
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 11. <br></td></tr>
72
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7a50a07e69f38b6674b0494dfbc653f9"></a><!-- doxytag: member="analog::AN12" ref="g7a50a07e69f38b6674b0494dfbc653f9" args="" -->
73
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g7a50a07e69f38b6674b0494dfbc653f9">AN12</a>&nbsp;&nbsp;&nbsp;0x0C</td></tr>
74

    
75
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 12. <br></td></tr>
76
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbf80851ae45ddfe4bfdfc10541c255ad"></a><!-- doxytag: member="analog::AN13" ref="gbf80851ae45ddfe4bfdfc10541c255ad" args="" -->
77
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gbf80851ae45ddfe4bfdfc10541c255ad">AN13</a>&nbsp;&nbsp;&nbsp;0x0D</td></tr>
78

    
79
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 13. <br></td></tr>
80
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g817772a1db513b734dfe4475c3616061"></a><!-- doxytag: member="analog::AN14" ref="g817772a1db513b734dfe4475c3616061" args="" -->
81
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g817772a1db513b734dfe4475c3616061">AN14</a>&nbsp;&nbsp;&nbsp;0x0E</td></tr>
82

    
83
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 14. <br></td></tr>
84
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g797adbadae057ff7aa766d84b4f180f9"></a><!-- doxytag: member="analog::AN15" ref="g797adbadae057ff7aa766d84b4f180f9" args="" -->
85
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g797adbadae057ff7aa766d84b4f180f9">AN15</a>&nbsp;&nbsp;&nbsp;0x0F</td></tr>
86

    
87
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port 15. <br></td></tr>
88
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5e4dd5ac995c644e471ed80c706fa0b"></a><!-- doxytag: member="analog::BOM_PORT" ref="ga5e4dd5ac995c644e471ed80c706fa0b" args="" -->
89
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#ga5e4dd5ac995c644e471ed80c706fa0b">BOM_PORT</a>&nbsp;&nbsp;&nbsp;AN0</td></tr>
90

    
91
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BOM_PORT analog port for BOM. <br></td></tr>
92
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3434ce39eaea22b46a0100b7fd3a6f47"></a><!-- doxytag: member="analog::EXT_MUX" ref="g3434ce39eaea22b46a0100b7fd3a6f47" args="" -->
93
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g3434ce39eaea22b46a0100b7fd3a6f47">EXT_MUX</a>&nbsp;&nbsp;&nbsp;AN7</td></tr>
94

    
95
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">EXT_MUX analog port. <br></td></tr>
96
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6538d2deb002b8441891dc4e15cd104"></a><!-- doxytag: member="analog::WHEEL_PORT" ref="ga6538d2deb002b8441891dc4e15cd104" args="" -->
97
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#ga6538d2deb002b8441891dc4e15cd104">WHEEL_PORT</a>&nbsp;&nbsp;&nbsp;AN10</td></tr>
98

    
99
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port for the wheel. <br></td></tr>
100
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gadcd026a2c91fe96c8134619c87bb72a"></a><!-- doxytag: member="analog::BATT_PORT" ref="gadcd026a2c91fe96c8134619c87bb72a" args="" -->
101
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gadcd026a2c91fe96c8134619c87bb72a">BATT_PORT</a>&nbsp;&nbsp;&nbsp;AN11</td></tr>
102

    
103
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Analog port for the battery voltage detector. <br></td></tr>
104
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcc93f5a70b7081637be3d30cc04cb4dd"></a><!-- doxytag: member="analog::ADC_START" ref="gcc93f5a70b7081637be3d30cc04cb4dd" args="" -->
105
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ADC_START</b>&nbsp;&nbsp;&nbsp;1</td></tr>
106

    
107
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g23aeca8ff9a59fe5f63da36004038c86"></a><!-- doxytag: member="analog::ADC_STOP" ref="g23aeca8ff9a59fe5f63da36004038c86" args="" -->
108
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ADC_STOP</b>&nbsp;&nbsp;&nbsp;0</td></tr>
109

    
110
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga03e3669bcaf982e6861d3fcb71a9712"></a><!-- doxytag: member="analog::ADMUX_OPT" ref="ga03e3669bcaf982e6861d3fcb71a9712" args="" -->
111
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>ADMUX_OPT</b>&nbsp;&nbsp;&nbsp;0x60</td></tr>
112

    
113
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
114
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g4be2ba5e4db17e5be950af682f9ad522">analog_init</a> (int start_conversion)</td></tr>
115

    
116
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize analog ports. Will start running a loop if start_conversion is ADC_START.  <a href="#g4be2ba5e4db17e5be950af682f9ad522"></a><br></td></tr>
117
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gf1211040ce2c54f12f98df7d47a4eb27">analog8</a> (int which)</td></tr>
118

    
119
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an 8-bit analog value from the look up table. Use this instead of analog_get8.  <a href="#gf1211040ce2c54f12f98df7d47a4eb27"></a><br></td></tr>
120
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g875bf8cb165a3a288eb1aa2ac06be4f3">analog10</a> (int which)</td></tr>
121

    
122
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns an 10-bit analog value from the look up table. Use this instead of analog_get10.  <a href="#g875bf8cb165a3a288eb1aa2ac06be4f3"></a><br></td></tr>
123
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g715fe1182216a43efe6c1545a76037cc">analog_start_loop</a> (void)</td></tr>
124

    
125
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">starts the analog loop. Doesn't do anything if the loop is already running.  <a href="#g715fe1182216a43efe6c1545a76037cc"></a><br></td></tr>
126
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g7261449d6a0a02d5717d62e9015d38a6">analog_stop_loop</a> (void)</td></tr>
127

    
128
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops the analog loop. Doesn't do anything if the loop is already stopped.  <a href="#g7261449d6a0a02d5717d62e9015d38a6"></a><br></td></tr>
129
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g1593f0ee57fea252a5ef0146004d7fa9">analog_get8</a> (int which)</td></tr>
130

    
131
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read an 8-bit number from an analog port. Loop must be stopped for this to work.  <a href="#g1593f0ee57fea252a5ef0146004d7fa9"></a><br></td></tr>
132
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g97e97c6d960441518b2572c42c941719">analog_get10</a> (int which)</td></tr>
133

    
134
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a 10-bit number from an analog port. Loop must be stopped for this to work.  <a href="#g97e97c6d960441518b2572c42c941719"></a><br></td></tr>
135
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#g973e63eb508819a37efe3231b6a39550">wheel</a> (void)</td></tr>
136

    
137
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the position of the wheel.  <a href="#g973e63eb508819a37efe3231b6a39550"></a><br></td></tr>
138
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog.html#gbc63da8e5431c1d15bc9a61749628f35">set_adc_mux</a> (int which)</td></tr>
139

    
140
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
141
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g96a7975bf790d662c962edbcfbdec746"></a><!-- doxytag: member="analog::adc_loop_running" ref="g96a7975bf790d662c962edbcfbdec746" args="" -->
142
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>adc_loop_running</b> = 0</td></tr>
143

    
144
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g69c9650ecf07399e282fac6ef51baeb5"></a><!-- doxytag: member="analog::adc_current_port" ref="g69c9650ecf07399e282fac6ef51baeb5" args="" -->
145
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>adc_current_port</b> = 0</td></tr>
146

    
147
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g85793ec6742100576da3b4b034dae15f"></a><!-- doxytag: member="analog::an_val" ref="g85793ec6742100576da3b4b034dae15f" args="[11]" -->
148
<a class="el" href="structadc__t.html">adc_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>an_val</b> [11]</td></tr>
149

    
150
</table>
151
<hr><a name="_details"></a><h2>Detailed Description</h2>
152
Functions for manipulation the ADC on the dragonfly board. All definitions may be found in <a class="el" href="analog_8h.html" title="Contains functions and definitions for using the ADC.">analog.h</a>. <hr><h2>Function Documentation</h2>
153
<a class="anchor" name="g875bf8cb165a3a288eb1aa2ac06be4f3"></a><!-- doxytag: member="analog.c::analog10" ref="g875bf8cb165a3a288eb1aa2ac06be4f3" args="(int which)" -->
154
<div class="memitem">
155
<div class="memproto">
156
      <table class="memname">
157
        <tr>
158
          <td class="memname">unsigned int analog10           </td>
159
          <td>(</td>
160
          <td class="paramtype">int&nbsp;</td>
161
          <td class="paramname"> <em>which</em>          </td>
162
          <td>&nbsp;)&nbsp;</td>
163
          <td width="100%"></td>
164
        </tr>
165
      </table>
166
</div>
167
<div class="memdoc">
168

    
169
<p>
170
Returns an 10-bit analog value from the look up table. Use this instead of analog_get10. 
171
<p>
172
Returns the 10-bit analog conversion of which from the lookup table. If the requested port is the BOM_PORT you will get an automatic 0 since the BOM_PORT is not read in the loop and not stored. If you need that port you should use the functions in <a class="el" href="bom_8c.html" title="Implementation for using the BOM.">bom.c</a>. There is an analog_get10 function which for instant lookups but should be avoided unless you know what you are doing.<p>
173
<dl compact><dt><b>Parameters:</b></dt><dd>
174
  <table border="0" cellspacing="2" cellpadding="0">
175
    <tr><td valign="top"></td><td valign="top"><em>which</em>&nbsp;</td><td>the port that you want to read</td></tr>
176
  </table>
177
</dl>
178
<dl compact><dt><b><a class="el" href="bug.html#_bug000002">Bug:</a></b></dt><dd>may cause a seg fault if which is a larger value than exists in an_val table. Not sure if we should fix this or not since it would add overhead.</dd></dl>
179
<dl class="return" compact><dt><b>Returns:</b></dt><dd>10-bit analog value for the which port requested</dd></dl>
180
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#gf1211040ce2c54f12f98df7d47a4eb27" title="Returns an 8-bit analog value from the look up table. Use this instead of analog_get8...">analog8</a>, <a class="el" href="group__analog.html#g1593f0ee57fea252a5ef0146004d7fa9" title="Read an 8-bit number from an analog port. Loop must be stopped for this to work.">analog_get8</a>, <a class="el" href="group__analog.html#g97e97c6d960441518b2572c42c941719" title="Read a 10-bit number from an analog port. Loop must be stopped for this to work.">analog_get10</a> </dd></dl>
181

    
182
</div>
183
</div><p>
184
<a class="anchor" name="gf1211040ce2c54f12f98df7d47a4eb27"></a><!-- doxytag: member="analog.c::analog8" ref="gf1211040ce2c54f12f98df7d47a4eb27" args="(int which)" -->
185
<div class="memitem">
186
<div class="memproto">
187
      <table class="memname">
188
        <tr>
189
          <td class="memname">unsigned int analog8           </td>
190
          <td>(</td>
191
          <td class="paramtype">int&nbsp;</td>
192
          <td class="paramname"> <em>which</em>          </td>
193
          <td>&nbsp;)&nbsp;</td>
194
          <td width="100%"></td>
195
        </tr>
196
      </table>
197
</div>
198
<div class="memdoc">
199

    
200
<p>
201
Returns an 8-bit analog value from the look up table. Use this instead of analog_get8. 
202
<p>
203
Returns the 8-bit analog conversion of which from the lookup table. If the requested port is the BOM_PORT you will get an automatic 0 since the BOM_PORT is not read in the loop and not stored. If you need that port you should use the functions in <a class="el" href="bom_8c.html" title="Implementation for using the BOM.">bom.c</a>. There is an analog_get8 function which for instant lookups but should be avoided unless you know what you're doing.<p>
204
<dl compact><dt><b>Parameters:</b></dt><dd>
205
  <table border="0" cellspacing="2" cellpadding="0">
206
    <tr><td valign="top"></td><td valign="top"><em>which</em>&nbsp;</td><td>the port that you want to read</td></tr>
207
  </table>
208
</dl>
209
<dl compact><dt><b><a class="el" href="bug.html#_bug000001">Bug:</a></b></dt><dd>may cause a seg fault if which is a larger value than exists in an_val table. Not sure if we should fix this or not since it would add overhead.</dd></dl>
210
<dl class="return" compact><dt><b>Returns:</b></dt><dd>8-bit analog value for the which port requested</dd></dl>
211
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g875bf8cb165a3a288eb1aa2ac06be4f3" title="Returns an 10-bit analog value from the look up table. Use this instead of analog_get10...">analog10</a>, <a class="el" href="group__analog.html#g1593f0ee57fea252a5ef0146004d7fa9" title="Read an 8-bit number from an analog port. Loop must be stopped for this to work.">analog_get8</a>, <a class="el" href="group__analog.html#g97e97c6d960441518b2572c42c941719" title="Read a 10-bit number from an analog port. Loop must be stopped for this to work.">analog_get10</a> </dd></dl>
212

    
213
</div>
214
</div><p>
215
<a class="anchor" name="g97e97c6d960441518b2572c42c941719"></a><!-- doxytag: member="analog.c::analog_get10" ref="g97e97c6d960441518b2572c42c941719" args="(int which)" -->
216
<div class="memitem">
217
<div class="memproto">
218
      <table class="memname">
219
        <tr>
220
          <td class="memname">unsigned int analog_get10           </td>
221
          <td>(</td>
222
          <td class="paramtype">int&nbsp;</td>
223
          <td class="paramname"> <em>which</em>          </td>
224
          <td>&nbsp;)&nbsp;</td>
225
          <td width="100%"></td>
226
        </tr>
227
      </table>
228
</div>
229
<div class="memdoc">
230

    
231
<p>
232
Read a 10-bit number from an analog port. Loop must be stopped for this to work. 
233
<p>
234
Reads an 10-bit number from an analog port. analog_init must be called before using this function. The analog loop must also be stopped before using this function or you will mess up the lookup table. You must also reenabled the loop when you are done unless you are doing more instant reads. See analog_stop_loop and analog_start_loop for more information about the loop.<p>
235
<dl compact><dt><b>Parameters:</b></dt><dd>
236
  <table border="0" cellspacing="2" cellpadding="0">
237
    <tr><td valign="top"></td><td valign="top"><em>which</em>&nbsp;</td><td>the analog port to read from. Typically a constant, one of AN0 - AN7.</td></tr>
238
  </table>
239
</dl>
240
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the 10-bit number input to the specified port</dd></dl>
241
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g4be2ba5e4db17e5be950af682f9ad522" title="Initialize analog ports. Will start running a loop if start_conversion is ADC_START...">analog_init</a>, <a class="el" href="group__analog.html#g1593f0ee57fea252a5ef0146004d7fa9" title="Read an 8-bit number from an analog port. Loop must be stopped for this to work.">analog_get8</a>, <a class="el" href="group__analog.html#g875bf8cb165a3a288eb1aa2ac06be4f3" title="Returns an 10-bit analog value from the look up table. Use this instead of analog_get10...">analog10</a>, <a class="el" href="group__analog.html#g7261449d6a0a02d5717d62e9015d38a6" title="Stops the analog loop. Doesn&#39;t do anything if the loop is already stopped.">analog_stop_loop</a>, <a class="el" href="group__analog.html#g715fe1182216a43efe6c1545a76037cc" title="starts the analog loop. Doesn&#39;t do anything if the loop is already running.">analog_start_loop</a> </dd></dl>
242

    
243
</div>
244
</div><p>
245
<a class="anchor" name="g1593f0ee57fea252a5ef0146004d7fa9"></a><!-- doxytag: member="analog.c::analog_get8" ref="g1593f0ee57fea252a5ef0146004d7fa9" args="(int which)" -->
246
<div class="memitem">
247
<div class="memproto">
248
      <table class="memname">
249
        <tr>
250
          <td class="memname">unsigned int analog_get8           </td>
251
          <td>(</td>
252
          <td class="paramtype">int&nbsp;</td>
253
          <td class="paramname"> <em>which</em>          </td>
254
          <td>&nbsp;)&nbsp;</td>
255
          <td width="100%"></td>
256
        </tr>
257
      </table>
258
</div>
259
<div class="memdoc">
260

    
261
<p>
262
Read an 8-bit number from an analog port. Loop must be stopped for this to work. 
263
<p>
264
Reads an 8-bit number from an analog port. analog_init must be called before using this function. The analog loop must also be stopped before using this function or you will mess up the lookup table. You must also reenabled the loop when you are done unless you are doing more instant reads. See analog_stop_loop and analog_start_loop for more information about the loop.<p>
265
<dl compact><dt><b>Parameters:</b></dt><dd>
266
  <table border="0" cellspacing="2" cellpadding="0">
267
    <tr><td valign="top"></td><td valign="top"><em>which</em>&nbsp;</td><td>the analog port to read from. One of the constants AN0 - AN7.</td></tr>
268
  </table>
269
</dl>
270
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the 8-bit input to the specified port</dd></dl>
271
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g4be2ba5e4db17e5be950af682f9ad522" title="Initialize analog ports. Will start running a loop if start_conversion is ADC_START...">analog_init</a>, <a class="el" href="group__analog.html#g97e97c6d960441518b2572c42c941719" title="Read a 10-bit number from an analog port. Loop must be stopped for this to work.">analog_get10</a>, <a class="el" href="group__analog.html#gf1211040ce2c54f12f98df7d47a4eb27" title="Returns an 8-bit analog value from the look up table. Use this instead of analog_get8...">analog8</a>, <a class="el" href="group__analog.html#g7261449d6a0a02d5717d62e9015d38a6" title="Stops the analog loop. Doesn&#39;t do anything if the loop is already stopped.">analog_stop_loop</a>, <a class="el" href="group__analog.html#g715fe1182216a43efe6c1545a76037cc" title="starts the analog loop. Doesn&#39;t do anything if the loop is already running.">analog_start_loop</a> </dd></dl>
272

    
273
</div>
274
</div><p>
275
<a class="anchor" name="g4be2ba5e4db17e5be950af682f9ad522"></a><!-- doxytag: member="analog.c::analog_init" ref="g4be2ba5e4db17e5be950af682f9ad522" args="(int start_conversion)" -->
276
<div class="memitem">
277
<div class="memproto">
278
      <table class="memname">
279
        <tr>
280
          <td class="memname">void analog_init           </td>
281
          <td>(</td>
282
          <td class="paramtype">int&nbsp;</td>
283
          <td class="paramname"> <em>start_conversion</em>          </td>
284
          <td>&nbsp;)&nbsp;</td>
285
          <td width="100%"></td>
286
        </tr>
287
      </table>
288
</div>
289
<div class="memdoc">
290

    
291
<p>
292
Initialize analog ports. Will start running a loop if start_conversion is ADC_START. 
293
<p>
294
Initializes the ADC. Call analog_init before reading from the analog ports.<p>
295
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#gf1211040ce2c54f12f98df7d47a4eb27" title="Returns an 8-bit analog value from the look up table. Use this instead of analog_get8...">analog8</a>, <a class="el" href="group__analog.html#g875bf8cb165a3a288eb1aa2ac06be4f3" title="Returns an 10-bit analog value from the look up table. Use this instead of analog_get10...">analog10</a>, <a class="el" href="group__analog.html#g1593f0ee57fea252a5ef0146004d7fa9" title="Read an 8-bit number from an analog port. Loop must be stopped for this to work.">analog_get8</a>, <a class="el" href="group__analog.html#g97e97c6d960441518b2572c42c941719" title="Read a 10-bit number from an analog port. Loop must be stopped for this to work.">analog_get10</a> </dd></dl>
296

    
297
</div>
298
</div><p>
299
<a class="anchor" name="g715fe1182216a43efe6c1545a76037cc"></a><!-- doxytag: member="analog.c::analog_start_loop" ref="g715fe1182216a43efe6c1545a76037cc" args="(void)" -->
300
<div class="memitem">
301
<div class="memproto">
302
      <table class="memname">
303
        <tr>
304
          <td class="memname">void analog_start_loop           </td>
305
          <td>(</td>
306
          <td class="paramtype">void&nbsp;</td>
307
          <td class="paramname">          </td>
308
          <td>&nbsp;)&nbsp;</td>
309
          <td width="100%"></td>
310
        </tr>
311
      </table>
312
</div>
313
<div class="memdoc">
314

    
315
<p>
316
starts the analog loop. Doesn't do anything if the loop is already running. 
317
<p>
318
Starts the analog update loop. Will continue to run until analog_stop_loop is called.<p>
319
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g7261449d6a0a02d5717d62e9015d38a6" title="Stops the analog loop. Doesn&#39;t do anything if the loop is already stopped.">analog_stop_loop</a> </dd></dl>
320

    
321
</div>
322
</div><p>
323
<a class="anchor" name="g7261449d6a0a02d5717d62e9015d38a6"></a><!-- doxytag: member="analog.c::analog_stop_loop" ref="g7261449d6a0a02d5717d62e9015d38a6" args="(void)" -->
324
<div class="memitem">
325
<div class="memproto">
326
      <table class="memname">
327
        <tr>
328
          <td class="memname">void analog_stop_loop           </td>
329
          <td>(</td>
330
          <td class="paramtype">void&nbsp;</td>
331
          <td class="paramname">          </td>
332
          <td>&nbsp;)&nbsp;</td>
333
          <td width="100%"></td>
334
        </tr>
335
      </table>
336
</div>
337
<div class="memdoc">
338

    
339
<p>
340
Stops the analog loop. Doesn't do anything if the loop is already stopped. 
341
<p>
342
Stops the analog update loop. If there is a current read, it will finish up and be stored before the loop is interrupted. No further updates will be made until the loop is started again.<p>
343
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g715fe1182216a43efe6c1545a76037cc" title="starts the analog loop. Doesn&#39;t do anything if the loop is already running.">analog_start_loop</a> </dd></dl>
344

    
345
</div>
346
</div><p>
347
<a class="anchor" name="gbc63da8e5431c1d15bc9a61749628f35"></a><!-- doxytag: member="analog.c::set_adc_mux" ref="gbc63da8e5431c1d15bc9a61749628f35" args="(int which)" -->
348
<div class="memitem">
349
<div class="memproto">
350
      <table class="memname">
351
        <tr>
352
          <td class="memname">void set_adc_mux           </td>
353
          <td>(</td>
354
          <td class="paramtype">int&nbsp;</td>
355
          <td class="paramname"> <em>which</em>          </td>
356
          <td>&nbsp;)&nbsp;</td>
357
          <td width="100%"></td>
358
        </tr>
359
      </table>
360
</div>
361
<div class="memdoc">
362

    
363
<p>
364
Sets the value of the external analog mux. Values are read on AN7 physical port. (AN8 - AN15 are "virtual" ports).<p>
365
<dl compact><dt><b>Parameters:</b></dt><dd>
366
  <table border="0" cellspacing="2" cellpadding="0">
367
    <tr><td valign="top"></td><td valign="top"><em>which</em>&nbsp;</td><td>which analog mux port (0-7) which corresponds to AN8-AN15.</td></tr>
368
  </table>
369
</dl>
370
<dl compact><dt><b><a class="el" href="bug.html#_bug000003">Bug:</a></b></dt><dd>FIX THIS IN THE NEXT BOARD REVISION: ADDR2 ADDR1 ADDR0 G2.G4.G3 set mux to port 0-7 via vinary selection math would be much cleaner if it was G4.G3.G2</dd></dl>
371
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g4be2ba5e4db17e5be950af682f9ad522" title="Initialize analog ports. Will start running a loop if start_conversion is ADC_START...">analog_init</a> </dd></dl>
372

    
373
</div>
374
</div><p>
375
<a class="anchor" name="g973e63eb508819a37efe3231b6a39550"></a><!-- doxytag: member="analog.c::wheel" ref="g973e63eb508819a37efe3231b6a39550" args="(void)" -->
376
<div class="memitem">
377
<div class="memproto">
378
      <table class="memname">
379
        <tr>
380
          <td class="memname">int wheel           </td>
381
          <td>(</td>
382
          <td class="paramtype">void&nbsp;</td>
383
          <td class="paramname">          </td>
384
          <td>&nbsp;)&nbsp;</td>
385
          <td width="100%"></td>
386
        </tr>
387
      </table>
388
</div>
389
<div class="memdoc">
390

    
391
<p>
392
Read the position of the wheel. 
393
<p>
394
Returns the current position of the wheel, as an integer in the range 0 - 255. analog_init must be called before using this function.<p>
395
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the orientation of the wheel, as an integer in the range 0 - 255.</dd></dl>
396
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__analog.html#g4be2ba5e4db17e5be950af682f9ad522" title="Initialize analog ports. Will start running a loop if start_conversion is ADC_START...">analog_init</a> </dd></dl>
397

    
398
</div>
399
</div><p>
400
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 6 15:44:34 2008 for libdragonfly by&nbsp;
401
<a href="http://www.doxygen.org/index.html">
402
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
403
</body>
404
</html>