Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libdragonfly / group__encoders.html @ 1398

History | View | Annotate | Download (14.5 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: Encoders</title>
4
<link href="tabs.css" rel="stylesheet" type="text/css">
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.9 -->
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>Encoders</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"><a class="anchor" name="g437ef08681e7210d6678427030446a54"></a><!-- doxytag: member="encoders::LEFT" ref="g437ef08681e7210d6678427030446a54" args="" -->
24
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#g437ef08681e7210d6678427030446a54">LEFT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
25

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

    
30
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Right wheel. <br></td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7c882763d1877f0000be3e73f93d08a"></a><!-- doxytag: member="encoders::ENCODER_MAGNET_FAILURE" ref="ga7c882763d1877f0000be3e73f93d08a" args="" -->
32
#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>
33

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

    
38
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encoder misaligned - likely on XY plane. <br></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g0a5cb25278a57b19a46264d134033f7b"></a><!-- doxytag: member="encoders::ENCODER_DATA_NOT_READY" ref="g0a5cb25278a57b19a46264d134033f7b" args="" -->
40
#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>
41

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

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

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

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

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

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

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

    
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Buffer size. <br></td></tr>
66
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
67
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf02e2149caeb6116f256783348031c86"></a><!-- doxytag: member="encoders::encoders_init" ref="gf02e2149caeb6116f256783348031c86" args="(void)" -->
68
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#gf02e2149caeb6116f256783348031c86">encoders_init</a> (void)</td></tr>
69

    
70
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize encoders. <br></td></tr>
71
<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>
72

    
73
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read instantaneous encoder value.  <a href="#g9abc8e86fe64bcf4c3862ed12d913530"></a><br></td></tr>
74
<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>
75

    
76
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get total distance traveled.  <a href="#gd73643bd46dbc459cc0dfa8dd90b4992"></a><br></td></tr>
77
<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>
78

    
79
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset distance counter.  <a href="#g7bef9844241df2154df77d10e5bf47c4"></a><br></td></tr>
80
<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>
81

    
82
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get time count: The number of encoder reads that have occurred.  <a href="#g8ad080c3e41790edd7e7ccbc91060fec"></a><br></td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga410e62db3c6fdc317130a8d5a238655"></a><!-- doxytag: member="encoders::encoder_rst_tc" ref="ga410e62db3c6fdc317130a8d5a238655" args="(void)" -->
84
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoders.html#ga410e62db3c6fdc317130a8d5a238655">encoder_rst_tc</a> (void)</td></tr>
85

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

    
89
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for the next n encoder reading, then returns.  <a href="#gd89387a19e48bee58885735099eabeed"></a><br></td></tr>
90
</table>
91
<hr><h2>Function Documentation</h2>
92
<a class="anchor" name="gd73643bd46dbc459cc0dfa8dd90b4992"></a><!-- doxytag: member="encoders.h::encoder_get_dx" ref="gd73643bd46dbc459cc0dfa8dd90b4992" args="(char encoder)" -->
93
<div class="memitem">
94
<div class="memproto">
95
      <table class="memname">
96
        <tr>
97
          <td class="memname">int encoder_get_dx           </td>
98
          <td>(</td>
99
          <td class="paramtype">char&nbsp;</td>
100
          <td class="paramname"> <em>encoder</em>          </td>
101
          <td>&nbsp;)&nbsp;</td>
102
          <td></td>
103
        </tr>
104
      </table>
105
</div>
106
<div class="memdoc">
107

    
108
<p>
109
Get total distance traveled. 
110
<p>
111
Gets the total distance covered by the specified encoder (in encoder clicks)<p>
112
<dl compact><dt><b>Parameters:</b></dt><dd>
113
  <table border="0" cellspacing="2" cellpadding="0">
114
    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>the encoder that you want to read, use LEFT or RIGHT</td></tr>
115
  </table>
116
</dl>
117
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The distance covered by the specified encoder. </dd></dl>
118

    
119
<p>References <a class="el" href="encoders_8h_source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h_source.html#l00028">RIGHT</a>.</p>
120

    
121
</div>
122
</div><p>
123
<a class="anchor" name="g8ad080c3e41790edd7e7ccbc91060fec"></a><!-- doxytag: member="encoders.h::encoder_get_tc" ref="g8ad080c3e41790edd7e7ccbc91060fec" args="(void)" -->
124
<div class="memitem">
125
<div class="memproto">
126
      <table class="memname">
127
        <tr>
128
          <td class="memname">int encoder_get_tc           </td>
129
          <td>(</td>
130
          <td class="paramtype">void&nbsp;</td>
131
          <td class="paramname">          </td>
132
          <td>&nbsp;)&nbsp;</td>
133
          <td></td>
134
        </tr>
135
      </table>
136
</div>
137
<div class="memdoc">
138

    
139
<p>
140
Get time count: The number of encoder reads that have occurred. 
141
<p>
142
Get time count: The number of encoder reads that have occurred.<p>
143
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The time count. </dd></dl>
144

    
145
</div>
146
</div><p>
147
<a class="anchor" name="g9abc8e86fe64bcf4c3862ed12d913530"></a><!-- doxytag: member="encoders.h::encoder_read" ref="g9abc8e86fe64bcf4c3862ed12d913530" args="(char encoder)" -->
148
<div class="memitem">
149
<div class="memproto">
150
      <table class="memname">
151
        <tr>
152
          <td class="memname">int encoder_read           </td>
153
          <td>(</td>
154
          <td class="paramtype">char&nbsp;</td>
155
          <td class="paramname"> <em>encoder</em>          </td>
156
          <td>&nbsp;)&nbsp;</td>
157
          <td></td>
158
        </tr>
159
      </table>
160
</div>
161
<div class="memdoc">
162

    
163
<p>
164
Read instantaneous encoder value. 
165
<p>
166
Read instantaneous encoder value.<p>
167
<dl compact><dt><b>Parameters:</b></dt><dd>
168
  <table border="0" cellspacing="2" cellpadding="0">
169
    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>this is the encoder that you want to read. Valid arguments are LEFT and RIGHT</td></tr>
170
  </table>
171
</dl>
172
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the value of the specified encoder </dd></dl>
173

    
174
<p>References <a class="el" href="encoders_8h_source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h_source.html#l00028">RIGHT</a>.</p>
175

    
176
<p>Referenced by <a class="el" href="odometry_8c_source.html#l00069">odometry_reset()</a>.</p>
177

    
178
</div>
179
</div><p>
180
<a class="anchor" name="g7bef9844241df2154df77d10e5bf47c4"></a><!-- doxytag: member="encoders.h::encoder_rst_dx" ref="g7bef9844241df2154df77d10e5bf47c4" args="(char encoder)" -->
181
<div class="memitem">
182
<div class="memproto">
183
      <table class="memname">
184
        <tr>
185
          <td class="memname">void encoder_rst_dx           </td>
186
          <td>(</td>
187
          <td class="paramtype">char&nbsp;</td>
188
          <td class="paramname"> <em>encoder</em>          </td>
189
          <td>&nbsp;)&nbsp;</td>
190
          <td></td>
191
        </tr>
192
      </table>
193
</div>
194
<div class="memdoc">
195

    
196
<p>
197
Reset distance counter. 
198
<p>
199
Resets the distance accumulator for the specified encoder.<p>
200
<dl compact><dt><b>Parameters:</b></dt><dd>
201
  <table border="0" cellspacing="2" cellpadding="0">
202
    <tr><td valign="top"></td><td valign="top"><em>encoder</em>&nbsp;</td><td>the encoder that you want to reset distance for </td></tr>
203
  </table>
204
</dl>
205

    
206
<p>References <a class="el" href="encoders_8h_source.html#l00024">LEFT</a>, and <a class="el" href="encoders_8h_source.html#l00028">RIGHT</a>.</p>
207

    
208
</div>
209
</div><p>
210
<a class="anchor" name="gd89387a19e48bee58885735099eabeed"></a><!-- doxytag: member="encoders.h::encoder_wait" ref="gd89387a19e48bee58885735099eabeed" args="(int nReadings)" -->
211
<div class="memitem">
212
<div class="memproto">
213
      <table class="memname">
214
        <tr>
215
          <td class="memname">void encoder_wait           </td>
216
          <td>(</td>
217
          <td class="paramtype">int&nbsp;</td>
218
          <td class="paramname"> <em>n</em>          </td>
219
          <td>&nbsp;)&nbsp;</td>
220
          <td></td>
221
        </tr>
222
      </table>
223
</div>
224
<div class="memdoc">
225

    
226
<p>
227
Waits for the next n encoder reading, then returns. 
228
<p>
229
Waits for the next n encoder reading, then returns.<p>
230
<dl compact><dt><b>Parameters:</b></dt><dd>
231
  <table border="0" cellspacing="2" cellpadding="0">
232
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td></td></tr>
233
  </table>
234
</dl>
235

    
236
</div>
237
</div><p>
238
</div>
239
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Sep 7 19:07:28 2009 for libdragonfly by&nbsp;
240
<a href="http://www.doxygen.org/index.html">
241
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
242
</body>
243
</html>