Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libwireless / group__tokenring.html @ 60

History | View | Annotate | Download (25.1 KB)

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">
3
<title>libwireless: Token Ring</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.4.6 -->
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
  </ul></div>
15
<h1>Token Ring</h1>Wireless library token ring implementation.  
16
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
17
<tr><td></td></tr>
18
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
19
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g7bfd97ec1f89b442b278bbcddc6b6ee1">wl_token_ring_register</a> (void)</td></tr>
20

    
21
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the token ring group with the wireless library.  <a href="#g7bfd97ec1f89b442b278bbcddc6b6ee1"></a><br></td></tr>
22
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gde3dd682b6a757bab6ce4cbc9c518f8e">wl_token_ring_unregister</a> (void)</td></tr>
23

    
24
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregister the token ring group with the wirelss library.  <a href="#gde3dd682b6a757bab6ce4cbc9c518f8e"></a><br></td></tr>
25
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g0c407d5c215a97d58c67006bcc6e53ce">wl_token_ring_set_bom_functions</a> (void(*on_function)(void), void(*off_function)(void), int(*max_bom_function)(void))</td></tr>
26

    
27
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the functions called to turn the bom on and off.  <a href="#g0c407d5c215a97d58c67006bcc6e53ce"></a><br></td></tr>
28
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gbdb1e2258d1c69086692d2d31e02fb27">wl_token_ring_join</a> (void)</td></tr>
29

    
30
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Join the token ring.  <a href="#gbdb1e2258d1c69086692d2d31e02fb27"></a><br></td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g6c2dd8742e100f63d4fb002707d1e85a">wl_token_ring_leave</a> (void)</td></tr>
32

    
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Leave the token ring.  <a href="#g6c2dd8742e100f63d4fb002707d1e85a"></a><br></td></tr>
34
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g23b4e34098b6fc32dc55ccab7fe17b5b">wl_token_request</a> (int robot)</td></tr>
35

    
36
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request a BOM flash from the specified robot.  <a href="#g23b4e34098b6fc32dc55ccab7fe17b5b"></a><br></td></tr>
37
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g0c61bb8892aa5513706e00cd8ce5ca8b">wl_token_get_robots_in_ring</a> (void)</td></tr>
38

    
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of robots in the token ring.  <a href="#g0c61bb8892aa5513706e00cd8ce5ca8b"></a><br></td></tr>
40
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g14e005f0b9582eca7e3585f247c4cd72">wl_token_is_robot_in_ring</a> (int robot)</td></tr>
41

    
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return whether a given robot is in the token ring.  <a href="#g14e005f0b9582eca7e3585f247c4cd72"></a><br></td></tr>
43
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g37ab9fb00e9eef273b4d0fcda81a2620">wl_token_iterator_begin</a> (void)</td></tr>
44

    
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Begin iterating through robots in the token ring.  <a href="#g37ab9fb00e9eef273b4d0fcda81a2620"></a><br></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gbd7dc40ee796a67e1160b2b2b8e7d02f">wl_token_iterator_has_next</a> (void)</td></tr>
47

    
48
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether there are more robots to iterate through.  <a href="#gbd7dc40ee796a67e1160b2b2b8e7d02f"></a><br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gd9196324178877770d8ffc91d40893c3">wl_token_iterator_next</a> (void)</td></tr>
50

    
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the ID of the next robot in the token ring.  <a href="#gd9196324178877770d8ffc91d40893c3"></a><br></td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gb4afd4b8e034d22d415f3c4a42a652fc">wl_token_get_sensor_reading</a> (int source, int dest)</td></tr>
53

    
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the latest BOM reading between two robots.  <a href="#gb4afd4b8e034d22d415f3c4a42a652fc"></a><br></td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g1938c1d79dd9438dcd413d6d26372877">wl_token_get_my_sensor_reading</a> (int dest)</td></tr>
56

    
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the latest BOM reading between us and another robot.  <a href="#g1938c1d79dd9438dcd413d6d26372877"></a><br></td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf0d311d4feae71afc8bcb0b8c8e6ba57"></a><!-- doxytag: member="tokenring::wl_token_get_num_robots" ref="gf0d311d4feae71afc8bcb0b8c8e6ba57" args="(void)" -->
59
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#gf0d311d4feae71afc8bcb0b8c8e6ba57">wl_token_get_num_robots</a> (void)</td></tr>
60

    
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of robots in the sensor matrix. <br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g5fe1508968d450a970b0d5417a06431d"></a><!-- doxytag: member="tokenring::wl_token_get_matrix_size" ref="g5fe1508968d450a970b0d5417a06431d" args="(void)" -->
63
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__tokenring.html#g5fe1508968d450a970b0d5417a06431d">wl_token_get_matrix_size</a> (void)</td></tr>
64

    
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of non-null elements in the sensor matrix. <br></td></tr>
66
</table>
67
<hr><a name="_details"></a><h2>Detailed Description</h2>
68
Wireless library token ring implementation. 
69
<p>
70
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>
71
<a class="anchor" name="g1938c1d79dd9438dcd413d6d26372877"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_my_sensor_reading" ref="g1938c1d79dd9438dcd413d6d26372877" args="(int dest)" --><p>
72
<table class="mdTable" cellpadding="2" cellspacing="0">
73
  <tr>
74
    <td class="mdRow">
75
      <table cellpadding="0" cellspacing="0" border="0">
76
        <tr>
77
          <td class="md" nowrap valign="top">int wl_token_get_my_sensor_reading           </td>
78
          <td class="md" valign="top">(&nbsp;</td>
79
          <td class="md" nowrap valign="top">int&nbsp;</td>
80
          <td class="mdname1" valign="top" nowrap> <em>dest</em>          </td>
81
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
82
          <td class="md" nowrap></td>
83
        </tr>
84
      </table>
85
    </td>
86
  </tr>
87
</table>
88
<table cellspacing="5" cellpadding="0" border="0">
89
  <tr>
90
    <td>
91
      &nbsp;
92
    </td>
93
    <td>
94

    
95
<p>
96
Return the latest BOM reading between us and another robot. 
97
<p>
98
Returns the BOM reading we have for robot dest.<p>
99
<dl compact><dt><b>Parameters:</b></dt><dd>
100
  <table border="0" cellspacing="2" cellpadding="0">
101
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the robot whose relative location is returned</td></tr>
102
  </table>
103
</dl>
104
<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>
105
    </td>
106
  </tr>
107
</table>
108
<a class="anchor" name="g0c61bb8892aa5513706e00cd8ce5ca8b"></a><!-- doxytag: member="wl_token_ring.h::wl_token_get_robots_in_ring" ref="g0c61bb8892aa5513706e00cd8ce5ca8b" args="(void)" --><p>
109
<table class="mdTable" cellpadding="2" cellspacing="0">
110
  <tr>
111
    <td class="mdRow">
112
      <table cellpadding="0" cellspacing="0" border="0">
113
        <tr>
114
          <td class="md" nowrap valign="top">int wl_token_get_robots_in_ring           </td>
115
          <td class="md" valign="top">(&nbsp;</td>
116
          <td class="md" nowrap valign="top">void&nbsp;</td>
117
          <td class="mdname1" valign="top" nowrap>          </td>
118
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
119
          <td class="md" nowrap></td>
120
        </tr>
121
      </table>
122
    </td>
123
  </tr>
124
</table>
125
<table cellspacing="5" cellpadding="0" border="0">
126
  <tr>
127
    <td>
128
      &nbsp;
129
    </td>
130
    <td>
131

    
132
<p>
133
Return the number of robots in the token ring. 
134
<p>
135
Returns the number of robots in the token ring.<p>
136
<dl compact><dt><b>Returns:</b></dt><dd>the number of robots in the token ring </dd></dl>
137
    </td>
138
  </tr>
139
</table>
140
<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>
141
<table class="mdTable" cellpadding="2" cellspacing="0">
142
  <tr>
143
    <td class="mdRow">
144
      <table cellpadding="0" cellspacing="0" border="0">
145
        <tr>
146
          <td class="md" nowrap valign="top">int wl_token_get_sensor_reading           </td>
147
          <td class="md" valign="top">(&nbsp;</td>
148
          <td class="md" nowrap valign="top">int&nbsp;</td>
149
          <td class="mdname" nowrap> <em>source</em>, </td>
150
        </tr>
151
        <tr>
152
          <td class="md" nowrap align="right"></td>
153
          <td class="md"></td>
154
          <td class="md" nowrap>int&nbsp;</td>
155
          <td class="mdname" nowrap> <em>dest</em></td>
156
        </tr>
157
        <tr>
158
          <td class="md"></td>
159
          <td class="md">)&nbsp;</td>
160
          <td class="md" colspan="2"></td>
161
        </tr>
162
      </table>
163
    </td>
164
  </tr>
165
</table>
166
<table cellspacing="5" cellpadding="0" border="0">
167
  <tr>
168
    <td>
169
      &nbsp;
170
    </td>
171
    <td>
172

    
173
<p>
174
Return the latest BOM reading between two robots. 
175
<p>
176
Returns the BOM reading robot source has for robot dest.<p>
177
<dl compact><dt><b>Parameters:</b></dt><dd>
178
  <table border="0" cellspacing="2" cellpadding="0">
179
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>the robot that made the BOM reading </td></tr>
180
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the robot whose relative location is returned</td></tr>
181
  </table>
182
</dl>
183
<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>
184
    </td>
185
  </tr>
186
</table>
187
<a class="anchor" name="g14e005f0b9582eca7e3585f247c4cd72"></a><!-- doxytag: member="wl_token_ring.h::wl_token_is_robot_in_ring" ref="g14e005f0b9582eca7e3585f247c4cd72" args="(int robot)" --><p>
188
<table class="mdTable" cellpadding="2" cellspacing="0">
189
  <tr>
190
    <td class="mdRow">
191
      <table cellpadding="0" cellspacing="0" border="0">
192
        <tr>
193
          <td class="md" nowrap valign="top">int wl_token_is_robot_in_ring           </td>
194
          <td class="md" valign="top">(&nbsp;</td>
195
          <td class="md" nowrap valign="top">int&nbsp;</td>
196
          <td class="mdname1" valign="top" nowrap> <em>robot</em>          </td>
197
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
198
          <td class="md" nowrap></td>
199
        </tr>
200
      </table>
201
    </td>
202
  </tr>
203
</table>
204
<table cellspacing="5" cellpadding="0" border="0">
205
  <tr>
206
    <td>
207
      &nbsp;
208
    </td>
209
    <td>
210

    
211
<p>
212
Return whether a given robot is in the token ring. 
213
<p>
214
Returns true if the specified robot is in the token ring, false otherwise.<p>
215
<dl compact><dt><b>Parameters:</b></dt><dd>
216
  <table border="0" cellspacing="2" cellpadding="0">
217
    <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>
218
  </table>
219
</dl>
220
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if the robot is in the token ring, zero otherwise </dd></dl>
221
    </td>
222
  </tr>
223
</table>
224
<a class="anchor" name="g37ab9fb00e9eef273b4d0fcda81a2620"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_begin" ref="g37ab9fb00e9eef273b4d0fcda81a2620" args="(void)" --><p>
225
<table class="mdTable" cellpadding="2" cellspacing="0">
226
  <tr>
227
    <td class="mdRow">
228
      <table cellpadding="0" cellspacing="0" border="0">
229
        <tr>
230
          <td class="md" nowrap valign="top">void wl_token_iterator_begin           </td>
231
          <td class="md" valign="top">(&nbsp;</td>
232
          <td class="md" nowrap valign="top">void&nbsp;</td>
233
          <td class="mdname1" valign="top" nowrap>          </td>
234
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
235
          <td class="md" nowrap></td>
236
        </tr>
237
      </table>
238
    </td>
239
  </tr>
240
</table>
241
<table cellspacing="5" cellpadding="0" border="0">
242
  <tr>
243
    <td>
244
      &nbsp;
245
    </td>
246
    <td>
247

    
248
<p>
249
Begin iterating through robots in the token ring. 
250
<p>
251
Begins iterating through the robots in the token ring.<p>
252
<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>
253
    </td>
254
  </tr>
255
</table>
256
<a class="anchor" name="gbd7dc40ee796a67e1160b2b2b8e7d02f"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_has_next" ref="gbd7dc40ee796a67e1160b2b2b8e7d02f" args="(void)" --><p>
257
<table class="mdTable" cellpadding="2" cellspacing="0">
258
  <tr>
259
    <td class="mdRow">
260
      <table cellpadding="0" cellspacing="0" border="0">
261
        <tr>
262
          <td class="md" nowrap valign="top">int wl_token_iterator_has_next           </td>
263
          <td class="md" valign="top">(&nbsp;</td>
264
          <td class="md" nowrap valign="top">void&nbsp;</td>
265
          <td class="mdname1" valign="top" nowrap>          </td>
266
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
267
          <td class="md" nowrap></td>
268
        </tr>
269
      </table>
270
    </td>
271
  </tr>
272
</table>
273
<table cellspacing="5" cellpadding="0" border="0">
274
  <tr>
275
    <td>
276
      &nbsp;
277
    </td>
278
    <td>
279

    
280
<p>
281
Returns whether there are more robots to iterate through. 
282
<p>
283
Returns true if there are more robots in the token ring to iterate through, and false otherwise.<p>
284
<dl compact><dt><b>Returns:</b></dt><dd>nonzero if there are more robots to iterate through, zero otherwise</dd></dl>
285
<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>
286
    </td>
287
  </tr>
288
</table>
289
<a class="anchor" name="gd9196324178877770d8ffc91d40893c3"></a><!-- doxytag: member="wl_token_ring.h::wl_token_iterator_next" ref="gd9196324178877770d8ffc91d40893c3" args="(void)" --><p>
290
<table class="mdTable" cellpadding="2" cellspacing="0">
291
  <tr>
292
    <td class="mdRow">
293
      <table cellpadding="0" cellspacing="0" border="0">
294
        <tr>
295
          <td class="md" nowrap valign="top">int wl_token_iterator_next           </td>
296
          <td class="md" valign="top">(&nbsp;</td>
297
          <td class="md" nowrap valign="top">void&nbsp;</td>
298
          <td class="mdname1" valign="top" nowrap>          </td>
299
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
300
          <td class="md" nowrap></td>
301
        </tr>
302
      </table>
303
    </td>
304
  </tr>
305
</table>
306
<table cellspacing="5" cellpadding="0" border="0">
307
  <tr>
308
    <td>
309
      &nbsp;
310
    </td>
311
    <td>
312

    
313
<p>
314
Returns the ID of the next robot in the token ring. 
315
<p>
316
Returns the next robot ID in the token ring.<p>
317
<dl compact><dt><b>Returns:</b></dt><dd>the next robot ID in the token ring, or -1 if none exists</dd></dl>
318
<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>
319
    </td>
320
  </tr>
321
</table>
322
<a class="anchor" name="g23b4e34098b6fc32dc55ccab7fe17b5b"></a><!-- doxytag: member="wl_token_ring.h::wl_token_request" ref="g23b4e34098b6fc32dc55ccab7fe17b5b" args="(int robot)" --><p>
323
<table class="mdTable" cellpadding="2" cellspacing="0">
324
  <tr>
325
    <td class="mdRow">
326
      <table cellpadding="0" cellspacing="0" border="0">
327
        <tr>
328
          <td class="md" nowrap valign="top">void wl_token_request           </td>
329
          <td class="md" valign="top">(&nbsp;</td>
330
          <td class="md" nowrap valign="top">int&nbsp;</td>
331
          <td class="mdname1" valign="top" nowrap> <em>robot</em>          </td>
332
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
333
          <td class="md" nowrap></td>
334
        </tr>
335
      </table>
336
    </td>
337
  </tr>
338
</table>
339
<table cellspacing="5" cellpadding="0" border="0">
340
  <tr>
341
    <td>
342
      &nbsp;
343
    </td>
344
    <td>
345

    
346
<p>
347
Request a BOM flash from the specified robot. 
348
<p>
349
Requests that the specified robot be given the token and allowed to flash its BOM. After its BOM is flashed, the token will return to the robot who sent it.<p>
350
<dl compact><dt><b>Parameters:</b></dt><dd>
351
  <table border="0" cellspacing="2" cellpadding="0">
352
    <tr><td valign="top"></td><td valign="top"><em>robot</em>&nbsp;</td><td>the ID of the robot which should flash its BOM </td></tr>
353
  </table>
354
</dl>
355
    </td>
356
  </tr>
357
</table>
358
<a class="anchor" name="gbdb1e2258d1c69086692d2d31e02fb27"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_join" ref="gbdb1e2258d1c69086692d2d31e02fb27" args="(void)" --><p>
359
<table class="mdTable" cellpadding="2" cellspacing="0">
360
  <tr>
361
    <td class="mdRow">
362
      <table cellpadding="0" cellspacing="0" border="0">
363
        <tr>
364
          <td class="md" nowrap valign="top">void wl_token_ring_join           </td>
365
          <td class="md" valign="top">(&nbsp;</td>
366
          <td class="md" nowrap valign="top">void&nbsp;</td>
367
          <td class="mdname1" valign="top" nowrap>          </td>
368
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
369
          <td class="md" nowrap></td>
370
        </tr>
371
      </table>
372
    </td>
373
  </tr>
374
</table>
375
<table cellspacing="5" cellpadding="0" border="0">
376
  <tr>
377
    <td>
378
      &nbsp;
379
    </td>
380
    <td>
381

    
382
<p>
383
Join the token ring. 
384
<p>
385
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>
386
  </tr>
387
</table>
388
<a class="anchor" name="g6c2dd8742e100f63d4fb002707d1e85a"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_leave" ref="g6c2dd8742e100f63d4fb002707d1e85a" args="(void)" --><p>
389
<table class="mdTable" cellpadding="2" cellspacing="0">
390
  <tr>
391
    <td class="mdRow">
392
      <table cellpadding="0" cellspacing="0" border="0">
393
        <tr>
394
          <td class="md" nowrap valign="top">void wl_token_ring_leave           </td>
395
          <td class="md" valign="top">(&nbsp;</td>
396
          <td class="md" nowrap valign="top">void&nbsp;</td>
397
          <td class="mdname1" valign="top" nowrap>          </td>
398
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
399
          <td class="md" nowrap></td>
400
        </tr>
401
      </table>
402
    </td>
403
  </tr>
404
</table>
405
<table cellspacing="5" cellpadding="0" border="0">
406
  <tr>
407
    <td>
408
      &nbsp;
409
    </td>
410
    <td>
411

    
412
<p>
413
Leave the token ring. 
414
<p>
415
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>
416
  </tr>
417
</table>
418
<a class="anchor" name="g7bfd97ec1f89b442b278bbcddc6b6ee1"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_register" ref="g7bfd97ec1f89b442b278bbcddc6b6ee1" args="(void)" --><p>
419
<table class="mdTable" cellpadding="2" cellspacing="0">
420
  <tr>
421
    <td class="mdRow">
422
      <table cellpadding="0" cellspacing="0" border="0">
423
        <tr>
424
          <td class="md" nowrap valign="top">void wl_token_ring_register           </td>
425
          <td class="md" valign="top">(&nbsp;</td>
426
          <td class="md" nowrap valign="top">void&nbsp;</td>
427
          <td class="mdname1" valign="top" nowrap>          </td>
428
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
429
          <td class="md" nowrap></td>
430
        </tr>
431
      </table>
432
    </td>
433
  </tr>
434
</table>
435
<table cellspacing="5" cellpadding="0" border="0">
436
  <tr>
437
    <td>
438
      &nbsp;
439
    </td>
440
    <td>
441

    
442
<p>
443
Register the token ring group with the wireless library. 
444
<p>
445
Initialize the token ring packet group and register it with the wireless library. The robot will not join a token ring.     </td>
446
  </tr>
447
</table>
448
<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>
449
<table class="mdTable" cellpadding="2" cellspacing="0">
450
  <tr>
451
    <td class="mdRow">
452
      <table cellpadding="0" cellspacing="0" border="0">
453
        <tr>
454
          <td class="md" nowrap valign="top">void wl_token_ring_set_bom_functions           </td>
455
          <td class="md" valign="top">(&nbsp;</td>
456
          <td class="md" nowrap valign="top">void(*)(void)&nbsp;</td>
457
          <td class="mdname" nowrap> <em>on_function</em>, </td>
458
        </tr>
459
        <tr>
460
          <td class="md" nowrap align="right"></td>
461
          <td class="md"></td>
462
          <td class="md" nowrap>void(*)(void)&nbsp;</td>
463
          <td class="mdname" nowrap> <em>off_function</em>, </td>
464
        </tr>
465
        <tr>
466
          <td class="md" nowrap align="right"></td>
467
          <td class="md"></td>
468
          <td class="md" nowrap>int(*)(void)&nbsp;</td>
469
          <td class="mdname" nowrap> <em>max_bom_function</em></td>
470
        </tr>
471
        <tr>
472
          <td class="md"></td>
473
          <td class="md">)&nbsp;</td>
474
          <td class="md" colspan="2"></td>
475
        </tr>
476
      </table>
477
    </td>
478
  </tr>
479
</table>
480
<table cellspacing="5" cellpadding="0" border="0">
481
  <tr>
482
    <td>
483
      &nbsp;
484
    </td>
485
    <td>
486

    
487
<p>
488
Set the functions called to turn the bom on and off. 
489
<p>
490
Sets the functions that are called when the BOM ought to be turned on or off. This could be used for things such as charging stations, which have multiple BOMs.<p>
491
<dl compact><dt><b>Parameters:</b></dt><dd>
492
  <table border="0" cellspacing="2" cellpadding="0">
493
    <tr><td valign="top"></td><td valign="top"><em>on_function</em>&nbsp;</td><td>the function to be called when the BOM should be turned on </td></tr>
494
    <tr><td valign="top"></td><td valign="top"><em>off_function</em>&nbsp;</td><td>the function to be called when the BOM should be turned off </td></tr>
495
    <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>
496
  </table>
497
</dl>
498
    </td>
499
  </tr>
500
</table>
501
<a class="anchor" name="gde3dd682b6a757bab6ce4cbc9c518f8e"></a><!-- doxytag: member="wl_token_ring.h::wl_token_ring_unregister" ref="gde3dd682b6a757bab6ce4cbc9c518f8e" args="(void)" --><p>
502
<table class="mdTable" cellpadding="2" cellspacing="0">
503
  <tr>
504
    <td class="mdRow">
505
      <table cellpadding="0" cellspacing="0" border="0">
506
        <tr>
507
          <td class="md" nowrap valign="top">void wl_token_ring_unregister           </td>
508
          <td class="md" valign="top">(&nbsp;</td>
509
          <td class="md" nowrap valign="top">void&nbsp;</td>
510
          <td class="mdname1" valign="top" nowrap>          </td>
511
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
512
          <td class="md" nowrap></td>
513
        </tr>
514
      </table>
515
    </td>
516
  </tr>
517
</table>
518
<table cellspacing="5" cellpadding="0" border="0">
519
  <tr>
520
    <td>
521
      &nbsp;
522
    </td>
523
    <td>
524

    
525
<p>
526
Unregister the token ring group with the wirelss library. 
527
<p>
528
Removes the packet group from the wireless library.     </td>
529
  </tr>
530
</table>
531
<hr size="1"><address style="align: right;"><small>Generated on Mon Sep 24 14:12:31 2007 for libwireless by&nbsp;
532
<a href="http://www.doxygen.org/index.html">
533
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
534
</body>
535
</html>