Project

General

Profile

Revision 241

Updated libdragonfly documentation.

View differences:

group__tokenring.html
1 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 3
<title>libwireless: Token Ring</title>
4 4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5 5
<link href="tabs.css" rel="stylesheet" type="text/css">
6 6
</head><body>
7
<!-- Generated by Doxygen 1.4.6 -->
7
<!-- Generated by Doxygen 1.5.3 -->
8 8
<div class="tabs">
9 9
  <ul>
10 10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11 11
    <li><a href="modules.html"><span>Modules</span></a></li>
12 12
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13 13
    <li><a href="files.html"><span>Files</span></a></li>
14
  </ul></div>
14
  </ul>
15
</div>
15 16
<h1>Token Ring</h1>Wireless library token ring implementation.  
16 17
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
17 18
<tr><td></td></tr>
......
63 64
Wireless library token ring implementation. 
64 65
<p>
65 66
This packet group is used to form a token ring, which keeps track of the relative directions of the robots from one another. <hr><h2>Function Documentation</h2>
66
<a class="anchor" name="g5fe1508968d450a970b0d5417a06431d"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_matrix_size" ref="g5fe1508968d450a970b0d5417a06431d" args="(void)" --><p>
67
<table class="mdTable" cellpadding="2" cellspacing="0">
68
  <tr>
69
    <td class="mdRow">
70
      <table cellpadding="0" cellspacing="0" border="0">
67
<a class="anchor" name="g5fe1508968d450a970b0d5417a06431d"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_matrix_size" ref="g5fe1508968d450a970b0d5417a06431d" args="(void)" -->
68
<div class="memitem">
69
<div class="memproto">
70
      <table class="memname">
71 71
        <tr>
72
          <td class="md" nowrap valign="top">int wl_token_get_matrix_size           </td>
73
          <td class="md" valign="top">(&nbsp;</td>
74
          <td class="md" nowrap valign="top">void&nbsp;</td>
75
          <td class="mdname1" valign="top" nowrap>          </td>
76
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
77
          <td class="md" nowrap></td>
72
          <td class="memname">int wl_token_get_matrix_size           </td>
73
          <td>(</td>
74
          <td class="paramtype">void&nbsp;</td>
75
          <td class="paramname">          </td>
76
          <td>&nbsp;)&nbsp;</td>
77
          <td width="100%"></td>
78 78
        </tr>
79 79
      </table>
80
    </td>
81
  </tr>
82
</table>
83
<table cellspacing="5" cellpadding="0" border="0">
84
  <tr>
85
    <td>
86
      &nbsp;
87
    </td>
88
    <td>
80
</div>
81
<div class="memdoc">
89 82

  
90 83
<p>
91 84
Return the number of non-null elements in the sensor matrix. 
92 85
<p>
93 86
Returns the number of robots in the sensor matrix.<p>
94
<dl compact><dt><b>Returns:</b></dt><dd>the number of robots in the sensor matrix </dd></dl>
95
    </td>
96
  </tr>
97
</table>
98
<a class="anchor" name="g1938c1d79dd9438dcd413d6d26372877"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_my_sensor_reading" ref="g1938c1d79dd9438dcd413d6d26372877" args="(int dest)" --><p>
99
<table class="mdTable" cellpadding="2" cellspacing="0">
100
  <tr>
101
    <td class="mdRow">
102
      <table cellpadding="0" cellspacing="0" border="0">
87
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of robots in the sensor matrix </dd></dl>
88

  
89
</div>
90
</div><p>
91
<a class="anchor" name="g1938c1d79dd9438dcd413d6d26372877"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_my_sensor_reading" ref="g1938c1d79dd9438dcd413d6d26372877" args="(int dest)" -->
92
<div class="memitem">
93
<div class="memproto">
94
      <table class="memname">
103 95
        <tr>
104
          <td class="md" nowrap valign="top">int wl_token_get_my_sensor_reading           </td>
105
          <td class="md" valign="top">(&nbsp;</td>
106
          <td class="md" nowrap valign="top">int&nbsp;</td>
107
          <td class="mdname1" valign="top" nowrap> <em>dest</em>          </td>
108
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
109
          <td class="md" nowrap></td>
96
          <td class="memname">int wl_token_get_my_sensor_reading           </td>
97
          <td>(</td>
98
          <td class="paramtype">int&nbsp;</td>
99
          <td class="paramname"> <em>dest</em>          </td>
100
          <td>&nbsp;)&nbsp;</td>
101
          <td width="100%"></td>
110 102
        </tr>
111 103
      </table>
112
    </td>
113
  </tr>
114
</table>
115
<table cellspacing="5" cellpadding="0" border="0">
116
  <tr>
117
    <td>
118
      &nbsp;
119
    </td>
120
    <td>
104
</div>
105
<div class="memdoc">
121 106

  
122 107
<p>
123 108
Return the latest BOM reading between us and another robot. 
......
128 113
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the robot whose relative location is returned</td></tr>
129 114
  </table>
130 115
</dl>
131
<dl compact><dt><b>Returns:</b></dt><dd>a BOM reading from us to robot dest, in the range 0-15, or -1 if it is unkown </dd></dl>
132
    </td>
133
  </tr>
134
</table>
135
<a class="anchor" name="gf0d311d4feae71afc8bcb0b8c8e6ba57"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_num_robots" ref="gf0d311d4feae71afc8bcb0b8c8e6ba57" args="(void)" --><p>
136
<table class="mdTable" cellpadding="2" cellspacing="0">
137
  <tr>
138
    <td class="mdRow">
139
      <table cellpadding="0" cellspacing="0" border="0">
116
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a BOM reading from us to robot dest, in the range 0-15, or -1 if it is unkown </dd></dl>
117

  
118
</div>
119
</div><p>
120
<a class="anchor" name="gf0d311d4feae71afc8bcb0b8c8e6ba57"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_num_robots" ref="gf0d311d4feae71afc8bcb0b8c8e6ba57" args="(void)" -->
121
<div class="memitem">
122
<div class="memproto">
123
      <table class="memname">
140 124
        <tr>
141
          <td class="md" nowrap valign="top">int wl_token_get_num_robots           </td>
142
          <td class="md" valign="top">(&nbsp;</td>
143
          <td class="md" nowrap valign="top">void&nbsp;</td>
144
          <td class="mdname1" valign="top" nowrap>          </td>
145
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
146
          <td class="md" nowrap></td>
125
          <td class="memname">int wl_token_get_num_robots           </td>
126
          <td>(</td>
127
          <td class="paramtype">void&nbsp;</td>
128
          <td class="paramname">          </td>
129
          <td>&nbsp;)&nbsp;</td>
130
          <td width="100%"></td>
147 131
        </tr>
148 132
      </table>
149
    </td>
150
  </tr>
151
</table>
152
<table cellspacing="5" cellpadding="0" border="0">
153
  <tr>
154
    <td>
155
      &nbsp;
156
    </td>
157
    <td>
133
</div>
134
<div class="memdoc">
158 135

  
159 136
<p>
160 137
Return the number of robots in the sensor matrix. 
161 138
<p>
162 139
Returns the number of robots currently in the token ring.<p>
163
<dl compact><dt><b>Returns:</b></dt><dd>the number of robots in the token ring </dd></dl>
164
    </td>
165
  </tr>
166
</table>
167
<a class="anchor" name="g0c61bb8892aa5513706e00cd8ce5ca8b"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_robots_in_ring" ref="g0c61bb8892aa5513706e00cd8ce5ca8b" args="(void)" --><p>
168
<table class="mdTable" cellpadding="2" cellspacing="0">
169
  <tr>
170
    <td class="mdRow">
171
      <table cellpadding="0" cellspacing="0" border="0">
140
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of robots in the token ring </dd></dl>
141

  
142
</div>
143
</div><p>
144
<a class="anchor" name="g0c61bb8892aa5513706e00cd8ce5ca8b"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_robots_in_ring" ref="g0c61bb8892aa5513706e00cd8ce5ca8b" args="(void)" -->
145
<div class="memitem">
146
<div class="memproto">
147
      <table class="memname">
172 148
        <tr>
173
          <td class="md" nowrap valign="top">int wl_token_get_robots_in_ring           </td>
174
          <td class="md" valign="top">(&nbsp;</td>
175
          <td class="md" nowrap valign="top">void&nbsp;</td>
176
          <td class="mdname1" valign="top" nowrap>          </td>
177
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
178
          <td class="md" nowrap></td>
149
          <td class="memname">int wl_token_get_robots_in_ring           </td>
150
          <td>(</td>
151
          <td class="paramtype">void&nbsp;</td>
152
          <td class="paramname">          </td>
153
          <td>&nbsp;)&nbsp;</td>
154
          <td width="100%"></td>
179 155
        </tr>
180 156
      </table>
181
    </td>
182
  </tr>
183
</table>
184
<table cellspacing="5" cellpadding="0" border="0">
185
  <tr>
186
    <td>
187
      &nbsp;
188
    </td>
189
    <td>
157
</div>
158
<div class="memdoc">
190 159

  
191 160
<p>
192 161
Return the number of robots in the token ring. 
193 162
<p>
194 163
Returns the number of robots in the token ring.<p>
195
<dl compact><dt><b>Returns:</b></dt><dd>the number of robots in the token ring </dd></dl>
196
    </td>
197
  </tr>
198
</table>
199
<a class="anchor" name="gb4afd4b8e034d22d415f3c4a42a652fc"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_sensor_reading" ref="gb4afd4b8e034d22d415f3c4a42a652fc" args="(int source, int dest)" --><p>
200
<table class="mdTable" cellpadding="2" cellspacing="0">
201
  <tr>
202
    <td class="mdRow">
203
      <table cellpadding="0" cellspacing="0" border="0">
164
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of robots in the token ring </dd></dl>
165

  
166
</div>
167
</div><p>
168
<a class="anchor" name="gb4afd4b8e034d22d415f3c4a42a652fc"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_sensor_reading" ref="gb4afd4b8e034d22d415f3c4a42a652fc" args="(int source, int dest)" -->
169
<div class="memitem">
170
<div class="memproto">
171
      <table class="memname">
204 172
        <tr>
205
          <td class="md" nowrap valign="top">int wl_token_get_sensor_reading           </td>
206
          <td class="md" valign="top">(&nbsp;</td>
207
          <td class="md" nowrap valign="top">int&nbsp;</td>
208
          <td class="mdname" nowrap> <em>source</em>, </td>
173
          <td class="memname">int wl_token_get_sensor_reading           </td>
174
          <td>(</td>
175
          <td class="paramtype">int&nbsp;</td>
176
          <td class="paramname"> <em>source</em>, </td>
209 177
        </tr>
210 178
        <tr>
211
          <td class="md" nowrap align="right"></td>
212
          <td class="md"></td>
213
          <td class="md" nowrap>int&nbsp;</td>
214
          <td class="mdname" nowrap> <em>dest</em></td>
179
          <td class="paramkey"></td>
180
          <td></td>
181
          <td class="paramtype">int&nbsp;</td>
182
          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
215 183
        </tr>
216 184
        <tr>
217
          <td class="md"></td>
218
          <td class="md">)&nbsp;</td>
219
          <td class="md" colspan="2"></td>
185
          <td></td>
186
          <td>)</td>
187
          <td></td><td></td><td width="100%"></td>
220 188
        </tr>
221 189
      </table>
222
    </td>
223
  </tr>
224
</table>
225
<table cellspacing="5" cellpadding="0" border="0">
226
  <tr>
227
    <td>
228
      &nbsp;
229
    </td>
230
    <td>
190
</div>
191
<div class="memdoc">
231 192

  
232 193
<p>
233 194
Return the latest BOM reading between two robots. 
......
239 200
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the robot whose relative location is returned</td></tr>
240 201
  </table>
241 202
</dl>
242
<dl compact><dt><b>Returns:</b></dt><dd>a BOM reading from robot source to robot dest, in the range 0-15, or -1 if it is unknown </dd></dl>
243
    </td>
244
  </tr>
245
</table>
246
<a class="anchor" name="g14e005f0b9582eca7e3585f247c4cd72"></a><!-- doxytag: member="wl_token_ring.h::wl_token_is_robot_in_ring" ref="g14e005f0b9582eca7e3585f247c4cd72" args="(int robot)" --><p>
247
<table class="mdTable" cellpadding="2" cellspacing="0">
248
  <tr>
249
    <td class="mdRow">
250
      <table cellpadding="0" cellspacing="0" border="0">
203
<dl class="return" compact><dt><b>Returns:</b></dt><dd>a BOM reading from robot source to robot dest, in the range 0-15, or -1 if it is unknown </dd></dl>
204

  
205
</div>
206
</div><p>
207
<a class="anchor" name="g14e005f0b9582eca7e3585f247c4cd72"></a><!-- doxytag: member="wl_token_ring.h::wl_token_is_robot_in_ring" ref="g14e005f0b9582eca7e3585f247c4cd72" args="(int robot)" -->
208
<div class="memitem">
209
<div class="memproto">
210
      <table class="memname">
251 211
        <tr>
252
          <td class="md" nowrap valign="top">int wl_token_is_robot_in_ring           </td>
253
          <td class="md" valign="top">(&nbsp;</td>
254
          <td class="md" nowrap valign="top">int&nbsp;</td>
255
          <td class="mdname1" valign="top" nowrap> <em>robot</em>          </td>
256
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
257
          <td class="md" nowrap></td>
212
          <td class="memname">int wl_token_is_robot_in_ring           </td>
213
          <td>(</td>
214
          <td class="paramtype">int&nbsp;</td>
215
          <td class="paramname"> <em>robot</em>          </td>
216
          <td>&nbsp;)&nbsp;</td>
217
          <td width="100%"></td>
258 218
        </tr>
259 219
      </table>
260
    </td>
261
  </tr>
262
</table>
263
<table cellspacing="5" cellpadding="0" border="0">
264
  <tr>
265
    <td>
266
      &nbsp;
267
    </td>
268
    <td>
220
</div>
221
<div class="memdoc">
269 222

  
270 223
<p>
271 224
Return whether a given robot is in the token ring. 
......
276 229
    <tr><td valign="top"></td><td valign="top"><em>robot</em>&nbsp;</td><td>the robot to check for whether it is in the token ring </td></tr>
277 230
  </table>
278 231
</dl>
279
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if the robot is in the token ring, zero otherwise </dd></dl>
280
    </td>
281
  </tr>
282
</table>
283
<a class="anchor" name="g37ab9fb00e9eef273b4d0fcda81a2620"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_begin" ref="g37ab9fb00e9eef273b4d0fcda81a2620" args="(void)" --><p>
284
<table class="mdTable" cellpadding="2" cellspacing="0">
285
  <tr>
286
    <td class="mdRow">
287
      <table cellpadding="0" cellspacing="0" border="0">
232
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nonzero if the robot is in the token ring, zero otherwise </dd></dl>
233

  
234
</div>
235
</div><p>
236
<a class="anchor" name="g37ab9fb00e9eef273b4d0fcda81a2620"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_begin" ref="g37ab9fb00e9eef273b4d0fcda81a2620" args="(void)" -->
237
<div class="memitem">
238
<div class="memproto">
239
      <table class="memname">
288 240
        <tr>
289
          <td class="md" nowrap valign="top">void wl_token_iterator_begin           </td>
290
          <td class="md" valign="top">(&nbsp;</td>
291
          <td class="md" nowrap valign="top">void&nbsp;</td>
292
          <td class="mdname1" valign="top" nowrap>          </td>
293
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
294
          <td class="md" nowrap></td>
241
          <td class="memname">void wl_token_iterator_begin           </td>
242
          <td>(</td>
243
          <td class="paramtype">void&nbsp;</td>
244
          <td class="paramname">          </td>
245
          <td>&nbsp;)&nbsp;</td>
246
          <td width="100%"></td>
295 247
        </tr>
296 248
      </table>
297
    </td>
298
  </tr>
299
</table>
300
<table cellspacing="5" cellpadding="0" border="0">
301
  <tr>
302
    <td>
303
      &nbsp;
304
    </td>
305
    <td>
249
</div>
250
<div class="memdoc">
306 251

  
307 252
<p>
308 253
Begin iterating through robots in the token ring. 
309 254
<p>
310 255
Begins iterating through the robots in the token ring.<p>
311
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#gbd7dc40ee796a67e1160b2b2b8e7d02f">wl_token_iterator_has_next</a>, <a class="el" href="group__tokenring.html#gd9196324178877770d8ffc91d40893c3">wl_token_iterator_next</a> </dd></dl>
312
    </td>
313
  </tr>
314
</table>
315
<a class="anchor" name="gbd7dc40ee796a67e1160b2b2b8e7d02f"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_has_next" ref="gbd7dc40ee796a67e1160b2b2b8e7d02f" args="(void)" --><p>
316
<table class="mdTable" cellpadding="2" cellspacing="0">
317
  <tr>
318
    <td class="mdRow">
319
      <table cellpadding="0" cellspacing="0" border="0">
256
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#gbd7dc40ee796a67e1160b2b2b8e7d02f" title="Returns whether there are more robots to iterate through.">wl_token_iterator_has_next</a>, <a class="el" href="group__tokenring.html#gd9196324178877770d8ffc91d40893c3" title="Returns the ID of the next robot in the token ring.">wl_token_iterator_next</a> </dd></dl>
257

  
258
</div>
259
</div><p>
260
<a class="anchor" name="gbd7dc40ee796a67e1160b2b2b8e7d02f"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_has_next" ref="gbd7dc40ee796a67e1160b2b2b8e7d02f" args="(void)" -->
261
<div class="memitem">
262
<div class="memproto">
263
      <table class="memname">
320 264
        <tr>
321
          <td class="md" nowrap valign="top">int wl_token_iterator_has_next           </td>
322
          <td class="md" valign="top">(&nbsp;</td>
323
          <td class="md" nowrap valign="top">void&nbsp;</td>
324
          <td class="mdname1" valign="top" nowrap>          </td>
325
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
326
          <td class="md" nowrap></td>
265
          <td class="memname">int wl_token_iterator_has_next           </td>
266
          <td>(</td>
267
          <td class="paramtype">void&nbsp;</td>
268
          <td class="paramname">          </td>
269
          <td>&nbsp;)&nbsp;</td>
270
          <td width="100%"></td>
327 271
        </tr>
328 272
      </table>
329
    </td>
330
  </tr>
331
</table>
332
<table cellspacing="5" cellpadding="0" border="0">
333
  <tr>
334
    <td>
335
      &nbsp;
336
    </td>
337
    <td>
273
</div>
274
<div class="memdoc">
338 275

  
339 276
<p>
340 277
Returns whether there are more robots to iterate through. 
341 278
<p>
342 279
Returns true if there are more robots in the token ring to iterate through, and false otherwise.<p>
343
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if there are more robots to iterate through, zero otherwise</dd></dl>
344
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#g37ab9fb00e9eef273b4d0fcda81a2620">wl_token_iterator_begin</a>, <a class="el" href="group__tokenring.html#gd9196324178877770d8ffc91d40893c3">wl_token_iterator_next</a> </dd></dl>
345
    </td>
346
  </tr>
347
</table>
348
<a class="anchor" name="gd9196324178877770d8ffc91d40893c3"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_next" ref="gd9196324178877770d8ffc91d40893c3" args="(void)" --><p>
349
<table class="mdTable" cellpadding="2" cellspacing="0">
350
  <tr>
351
    <td class="mdRow">
352
      <table cellpadding="0" cellspacing="0" border="0">
280
<dl class="return" compact><dt><b>Returns:</b></dt><dd>nonzero if there are more robots to iterate through, zero otherwise</dd></dl>
281
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#g37ab9fb00e9eef273b4d0fcda81a2620" title="Begin iterating through robots in the token ring.">wl_token_iterator_begin</a>, <a class="el" href="group__tokenring.html#gd9196324178877770d8ffc91d40893c3" title="Returns the ID of the next robot in the token ring.">wl_token_iterator_next</a> </dd></dl>
282

  
283
</div>
284
</div><p>
285
<a class="anchor" name="gd9196324178877770d8ffc91d40893c3"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_next" ref="gd9196324178877770d8ffc91d40893c3" args="(void)" -->
286
<div class="memitem">
287
<div class="memproto">
288
      <table class="memname">
353 289
        <tr>
354
          <td class="md" nowrap valign="top">int wl_token_iterator_next           </td>
355
          <td class="md" valign="top">(&nbsp;</td>
356
          <td class="md" nowrap valign="top">void&nbsp;</td>
357
          <td class="mdname1" valign="top" nowrap>          </td>
358
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
359
          <td class="md" nowrap></td>
290
          <td class="memname">int wl_token_iterator_next           </td>
291
          <td>(</td>
292
          <td class="paramtype">void&nbsp;</td>
293
          <td class="paramname">          </td>
294
          <td>&nbsp;)&nbsp;</td>
295
          <td width="100%"></td>
360 296
        </tr>
361 297
      </table>
362
    </td>
363
  </tr>
364
</table>
365
<table cellspacing="5" cellpadding="0" border="0">
366
  <tr>
367
    <td>
368
      &nbsp;
369
    </td>
370
    <td>
298
</div>
299
<div class="memdoc">
371 300

  
372 301
<p>
373 302
Returns the ID of the next robot in the token ring. 
374 303
<p>
375 304
Returns the next robot ID in the token ring.<p>
376
<dl compact><dt><b>Returns:</b></dt><dd>the next robot ID in the token ring, or -1 if none exists</dd></dl>
377
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#g37ab9fb00e9eef273b4d0fcda81a2620">wl_token_iterator_begin</a>, <a class="el" href="group__tokenring.html#gbd7dc40ee796a67e1160b2b2b8e7d02f">wl_token_iterator_has_next</a> </dd></dl>
378
    </td>
379
  </tr>
380
</table>
381
<a class="anchor" name="gbdb1e2258d1c69086692d2d31e02fb27"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_join" ref="gbdb1e2258d1c69086692d2d31e02fb27" args="(void)" --><p>
382
<table class="mdTable" cellpadding="2" cellspacing="0">
383
  <tr>
384
    <td class="mdRow">
385
      <table cellpadding="0" cellspacing="0" border="0">
305
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the next robot ID in the token ring, or -1 if none exists</dd></dl>
306
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__tokenring.html#g37ab9fb00e9eef273b4d0fcda81a2620" title="Begin iterating through robots in the token ring.">wl_token_iterator_begin</a>, <a class="el" href="group__tokenring.html#gbd7dc40ee796a67e1160b2b2b8e7d02f" title="Returns whether there are more robots to iterate through.">wl_token_iterator_has_next</a> </dd></dl>
307

  
308
</div>
309
</div><p>
310
<a class="anchor" name="gbdb1e2258d1c69086692d2d31e02fb27"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_join" ref="gbdb1e2258d1c69086692d2d31e02fb27" args="(void)" -->
311
<div class="memitem">
312
<div class="memproto">
313
      <table class="memname">
386 314
        <tr>
387
          <td class="md" nowrap valign="top">void wl_token_ring_join           </td>
388
          <td class="md" valign="top">(&nbsp;</td>
389
          <td class="md" nowrap valign="top">void&nbsp;</td>
390
          <td class="mdname1" valign="top" nowrap>          </td>
391
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
392
          <td class="md" nowrap></td>
315
          <td class="memname">void wl_token_ring_join           </td>
316
          <td>(</td>
317
          <td class="paramtype">void&nbsp;</td>
318
          <td class="paramname">          </td>
319
          <td>&nbsp;)&nbsp;</td>
320
          <td width="100%"></td>
393 321
        </tr>
394 322
      </table>
395
    </td>
396
  </tr>
397
</table>
398
<table cellspacing="5" cellpadding="0" border="0">
399
  <tr>
400
    <td>
401
      &nbsp;
402
    </td>
403
    <td>
323
</div>
324
<div class="memdoc">
404 325

  
405 326
<p>
406 327
Join the token ring. 
407 328
<p>
408
Causes the robot to join an existing token ring, or create one if no token ring exists. The token ring uses global and robot to robot packets, and does not rely on any PAN.     </td>
409
  </tr>
410
</table>
411
<a class="anchor" name="g6c2dd8742e100f63d4fb002707d1e85a"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_leave" ref="g6c2dd8742e100f63d4fb002707d1e85a" args="(void)" --><p>
412
<table class="mdTable" cellpadding="2" cellspacing="0">
413
  <tr>
414
    <td class="mdRow">
415
      <table cellpadding="0" cellspacing="0" border="0">
329
Causes the robot to join an existing token ring, or create one if no token ring exists. The token ring uses global and robot to robot packets, and does not rely on any PAN. 
330
</div>
331
</div><p>
332
<a class="anchor" name="g6c2dd8742e100f63d4fb002707d1e85a"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_leave" ref="g6c2dd8742e100f63d4fb002707d1e85a" args="(void)" -->
333
<div class="memitem">
334
<div class="memproto">
335
      <table class="memname">
416 336
        <tr>
417
          <td class="md" nowrap valign="top">void wl_token_ring_leave           </td>
418
          <td class="md" valign="top">(&nbsp;</td>
419
          <td class="md" nowrap valign="top">void&nbsp;</td>
420
          <td class="mdname1" valign="top" nowrap>          </td>
421
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
422
          <td class="md" nowrap></td>
337
          <td class="memname">void wl_token_ring_leave           </td>
338
          <td>(</td>
339
          <td class="paramtype">void&nbsp;</td>
340
          <td class="paramname">          </td>
341
          <td>&nbsp;)&nbsp;</td>
342
          <td width="100%"></td>
423 343
        </tr>
424 344
      </table>
425
    </td>
426
  </tr>
427
</table>
428
<table cellspacing="5" cellpadding="0" border="0">
429
  <tr>
430
    <td>
431
      &nbsp;
432
    </td>
433
    <td>
345
</div>
346
<div class="memdoc">
434 347

  
435 348
<p>
436 349
Leave the token ring. 
437 350
<p>
438
Causes the robot to leave the token ring. The robot stops alerting others of its location, but continues storing the locations of other robots.     </td>
439
  </tr>
440
</table>
441
<a class="anchor" name="g7bfd97ec1f89b442b278bbcddc6b6ee1"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_register" ref="g7bfd97ec1f89b442b278bbcddc6b6ee1" args="(void)" --><p>
442
<table class="mdTable" cellpadding="2" cellspacing="0">
443
  <tr>
444
    <td class="mdRow">
445
      <table cellpadding="0" cellspacing="0" border="0">
351
Causes the robot to leave the token ring. The robot stops alerting others of its location, but continues storing the locations of other robots. 
352
</div>
353
</div><p>
354
<a class="anchor" name="g7bfd97ec1f89b442b278bbcddc6b6ee1"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_register" ref="g7bfd97ec1f89b442b278bbcddc6b6ee1" args="(void)" -->
355
<div class="memitem">
356
<div class="memproto">
357
      <table class="memname">
446 358
        <tr>
447
          <td class="md" nowrap valign="top">void wl_token_ring_register           </td>
448
          <td class="md" valign="top">(&nbsp;</td>
449
          <td class="md" nowrap valign="top">void&nbsp;</td>
450
          <td class="mdname1" valign="top" nowrap>          </td>
451
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
452
          <td class="md" nowrap></td>
359
          <td class="memname">void wl_token_ring_register           </td>
360
          <td>(</td>
361
          <td class="paramtype">void&nbsp;</td>
362
          <td class="paramname">          </td>
363
          <td>&nbsp;)&nbsp;</td>
364
          <td width="100%"></td>
453 365
        </tr>
454 366
      </table>
455
    </td>
456
  </tr>
457
</table>
458
<table cellspacing="5" cellpadding="0" border="0">
459
  <tr>
460
    <td>
461
      &nbsp;
462
    </td>
463
    <td>
367
</div>
368
<div class="memdoc">
464 369

  
465 370
<p>
466 371
Register the token ring group with the wireless library. 
467 372
<p>
468
Initialize the token ring packet group and register it with the wireless library. The robot will not join a token ring.     </td>
469
  </tr>
470
</table>
471
<a class="anchor" name="g0c407d5c215a97d58c67006bcc6e53ce"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_set_bom_functions" ref="g0c407d5c215a97d58c67006bcc6e53ce" args="(void(*on_function)(void), void(*off_function)(void), int(*max_bom_function)(void))" --><p>
472
<table class="mdTable" cellpadding="2" cellspacing="0">
473
  <tr>
474
    <td class="mdRow">
475
      <table cellpadding="0" cellspacing="0" border="0">
373
Initialize the token ring packet group and register it with the wireless library. The robot will not join a token ring. 
374
</div>
375
</div><p>
376
<a class="anchor" name="g0c407d5c215a97d58c67006bcc6e53ce"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_set_bom_functions" ref="g0c407d5c215a97d58c67006bcc6e53ce" args="(void(*on_function)(void), void(*off_function)(void), int(*max_bom_function)(void))" -->
377
<div class="memitem">
378
<div class="memproto">
379
      <table class="memname">
476 380
        <tr>
477
          <td class="md" nowrap valign="top">void wl_token_ring_set_bom_functions           </td>
478
          <td class="md" valign="top">(&nbsp;</td>
479
          <td class="md" nowrap valign="top">void(*)(void)&nbsp;</td>
480
          <td class="mdname" nowrap> <em>on_function</em>, </td>
381
          <td class="memname">void wl_token_ring_set_bom_functions           </td>
382
          <td>(</td>
383
          <td class="paramtype">void(*)(void)&nbsp;</td>
384
          <td class="paramname"> <em>on_function</em>, </td>
481 385
        </tr>
482 386
        <tr>
483
          <td class="md" nowrap align="right"></td>
484
          <td class="md"></td>
485
          <td class="md" nowrap>void(*)(void)&nbsp;</td>
486
          <td class="mdname" nowrap> <em>off_function</em>, </td>
387
          <td class="paramkey"></td>
388
          <td></td>
389
          <td class="paramtype">void(*)(void)&nbsp;</td>
390
          <td class="paramname"> <em>off_function</em>, </td>
487 391
        </tr>
488 392
        <tr>
489
          <td class="md" nowrap align="right"></td>
490
          <td class="md"></td>
491
          <td class="md" nowrap>int(*)(void)&nbsp;</td>
492
          <td class="mdname" nowrap> <em>max_bom_function</em></td>
393
          <td class="paramkey"></td>
394
          <td></td>
395
          <td class="paramtype">int(*)(void)&nbsp;</td>
396
          <td class="paramname"> <em>max_bom_function</em></td><td>&nbsp;</td>
493 397
        </tr>
494 398
        <tr>
495
          <td class="md"></td>
496
          <td class="md">)&nbsp;</td>
497
          <td class="md" colspan="2"></td>
399
          <td></td>
400
          <td>)</td>
401
          <td></td><td></td><td width="100%"></td>
498 402
        </tr>
499 403
      </table>
500
    </td>
501
  </tr>
502
</table>
503
<table cellspacing="5" cellpadding="0" border="0">
504
  <tr>
505
    <td>
506
      &nbsp;
507
    </td>
508
    <td>
404
</div>
405
<div class="memdoc">
509 406

  
510 407
<p>
511 408
Set the functions called to turn the bom on and off. 
......
518 415
    <tr><td valign="top"></td><td valign="top"><em>max_bom_function</em>&nbsp;</td><td>the function to be called when a measurement of the maximum BOM reading is needed. </td></tr>
519 416
  </table>
520 417
</dl>
521
    </td>
522
  </tr>
523
</table>
524
<a class="anchor" name="gde3dd682b6a757bab6ce4cbc9c518f8e"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_unregister" ref="gde3dd682b6a757bab6ce4cbc9c518f8e" args="(void)" --><p>
525
<table class="mdTable" cellpadding="2" cellspacing="0">
526
  <tr>
527
    <td class="mdRow">
528
      <table cellpadding="0" cellspacing="0" border="0">
418

  
419
</div>
420
</div><p>
421
<a class="anchor" name="gde3dd682b6a757bab6ce4cbc9c518f8e"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_unregister" ref="gde3dd682b6a757bab6ce4cbc9c518f8e" args="(void)" -->
422
<div class="memitem">
423
<div class="memproto">
424
      <table class="memname">
529 425
        <tr>
530
          <td class="md" nowrap valign="top">void wl_token_ring_unregister           </td>
531
          <td class="md" valign="top">(&nbsp;</td>
532
          <td class="md" nowrap valign="top">void&nbsp;</td>
533
          <td class="mdname1" valign="top" nowrap>          </td>
534
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
535
          <td class="md" nowrap></td>
426
          <td class="memname">void wl_token_ring_unregister           </td>
427
          <td>(</td>
428
          <td class="paramtype">void&nbsp;</td>
429
          <td class="paramname">          </td>
430
          <td>&nbsp;)&nbsp;</td>
431
          <td width="100%"></td>
536 432
        </tr>
537 433
      </table>
538
    </td>
539
  </tr>
540
</table>
541
<table cellspacing="5" cellpadding="0" border="0">
542
  <tr>
543
    <td>
544
      &nbsp;
545
    </td>
546
    <td>
434
</div>
435
<div class="memdoc">
547 436

  
548 437
<p>
549 438
Unregister the token ring group with the wirelss library. 
550 439
<p>
551
Removes the packet group from the wireless library.     </td>
552
  </tr>
553
</table>
554
<hr size="1"><address style="align: right;"><small>Generated on Wed Oct 31 17:54:43 2007 for libwireless by&nbsp;
440
Removes the packet group from the wireless library. 
441
</div>
442
</div><p>
443
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Nov 8 22:16:25 2007 for libwireless by&nbsp;
555 444
<a href="http://www.doxygen.org/index.html">
556
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
445
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address>
557 446
</body>
558 447
</html>

Also available in: Unified diff