Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libwireless / group__wl__basic.html @ 1425

History | View | Annotate | Download (19.2 KB)

1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>libwireless: Wireless Basic</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
</head>
9
<body>
10
<!-- Generated by Doxygen 1.6.1 -->
11
<div class="navigation" id="top">
12
  <div class="tabs">
13
    <ul>
14
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
15
      <li><a href="modules.html"><span>Modules</span></a></li>
16
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
17
      <li><a href="files.html"><span>Files</span></a></li>
18
    </ul>
19
  </div>
20
</div>
21
<div class="contents">
22
<h1>Wireless Basic</h1>
23
<p>Wireless abstraction for easily sending and receing packets.  
24
<a href="#_details">More...</a></p>
25
<table border="0" cellpadding="0" cellspacing="0">
26
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
27
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPacketInfo.html">PacketInfo</a></td></tr>
28
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">struct that contains relevant packet information  <a href="structPacketInfo.html#_details">More...</a><br/></td></tr>
29
<tr><td colspan="2"><h2>Defines</h2></td></tr>
30
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga366b705160e22c2a6c4ea2c3c22e3485"></a><!-- doxytag: member="wl_basic::WL_BASIC_GROUP" ref="ga366b705160e22c2a6c4ea2c3c22e3485" args="" -->
31
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#ga366b705160e22c2a6c4ea2c3c22e3485">WL_BASIC_GROUP</a>&nbsp;&nbsp;&nbsp;8</td></tr>
32
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default wireless group for basic sending and receiving packets <br/></td></tr>
33
<tr><td colspan="2"><h2>Functions</h2></td></tr>
34
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gaae4a8ae98cc33955ee20b6e481d47adf">wl_basic_init</a> (void(*handle_receive)(char type, int source, unsigned char *packet, int length))</td></tr>
35
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">init wireless for Basic Group  <a href="#gaae4a8ae98cc33955ee20b6e481d47adf"></a><br/></td></tr>
36
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gae482937c7c29521030a33ecbc5d2dd9d">wl_basic_init_default</a> (void)</td></tr>
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">init wireless for Basic Group with default packet handling  <a href="#gae482937c7c29521030a33ecbc5d2dd9d"></a><br/></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gaebc714e1bf382a98ac7a43762bf905c5">wl_basic_register_handler</a> (void(*handle_receive)(char type, int source, unsigned char *packet, int length))</td></tr>
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal function to register a packet handler function  <a href="#gaebc714e1bf382a98ac7a43762bf905c5"></a><br/></td></tr>
40
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gad5d7334484e49cc3cb9ebe2cfc323115">wl_basic_send_robot_packet</a> (char type, char *data, int len, int dest)</td></tr>
41
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send a packet to a single robot in Basic Group  <a href="#gad5d7334484e49cc3cb9ebe2cfc323115"></a><br/></td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#ga72d4f604603ef2541b5f4d3ae467938e">wl_basic_send_global_packet</a> (char type, char *data, int len)</td></tr>
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send a packet to all robots in Basic Group  <a href="#ga72d4f604603ef2541b5f4d3ae467938e"></a><br/></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#ga0ad976b2b61cca0081123606101c97cd">wl_basic_packet_receive_handler</a> (char type, int source, unsigned char *packet, int length)</td></tr>
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">internal default packet handler if none is specified on init  <a href="#ga0ad976b2b61cca0081123606101c97cd"></a><br/></td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gad10a8456bc3d30d22fe1dbd40b6e0dbb">wl_basic_do_default</a> (void)</td></tr>
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">wrapper for <a class="el" href="group__wireless.html#ga5c1f1a0e20fc718e59edc29246afd703" title="Perform wireless library functionality.">wl_do()</a> to return packet data buffer  <a href="#gad10a8456bc3d30d22fe1dbd40b6e0dbb"></a><br/></td></tr>
48
<tr><td colspan="2"><h2>Variables</h2></td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf0fa88111d706ef4e8b3bda5bc32596c"></a><!-- doxytag: member="wl_basic::wl_basic_group_handler" ref="gaf0fa88111d706ef4e8b3bda5bc32596c" args="" -->
50
<a class="el" href="structPacketGroupHandler.html">PacketGroupHandler</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#gaf0fa88111d706ef4e8b3bda5bc32596c">wl_basic_group_handler</a></td></tr>
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="structPacketGroupHandler.html">PacketGroupHandler</a> struct for Basic Group. <br/></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c9a887fb0b719948025f195efff1af9"></a><!-- doxytag: member="wl_basic::current_packet" ref="ga6c9a887fb0b719948025f195efff1af9" args="" -->
53
struct <a class="el" href="structPacketInfo.html">PacketInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__basic.html#ga6c9a887fb0b719948025f195efff1af9">current_packet</a></td></tr>
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current packet information, correct after wl_basic_do() <br/></td></tr>
55
</table>
56
<hr/><a name="_details"></a><h2>Detailed Description</h2>
57
<p>Wireless abstraction for easily sending and receing packets. </p>
58
<p>A high level abstraction of the wireless library.</p>
59
<p>This will allow you to easily send and receive packets. </p>
60
<hr/><h2>Function Documentation</h2>
61
<a class="anchor" id="gad10a8456bc3d30d22fe1dbd40b6e0dbb"></a><!-- doxytag: member="wl_basic.h::wl_basic_do_default" ref="gad10a8456bc3d30d22fe1dbd40b6e0dbb" args="(void)" -->
62
<div class="memitem">
63
<div class="memproto">
64
      <table class="memname">
65
        <tr>
66
          <td class="memname">unsigned char* wl_basic_do_default </td>
67
          <td>(</td>
68
          <td class="paramtype">void&nbsp;</td>
69
          <td class="paramname"></td>
70
          <td>&nbsp;)&nbsp;</td>
71
          <td></td>
72
        </tr>
73
      </table>
74
</div>
75
<div class="memdoc">
76

    
77
<p>wrapper for <a class="el" href="group__wireless.html#ga5c1f1a0e20fc718e59edc29246afd703" title="Perform wireless library functionality.">wl_do()</a> to return packet data buffer </p>
78
<p>Wrapper for <a class="el" href="group__wireless.html#ga5c1f1a0e20fc718e59edc29246afd703" title="Perform wireless library functionality.">wl_do()</a> for use with the Basic Wireless group. Can only be called if wl_basic_init_default and your packets are handled with the default packet handler. To access packet information, use <a class="el" href="structPacketInfo.html" title="struct that contains relevant packet information">PacketInfo</a> current_packet.</p>
79
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the data of the packet just received, 0 if no new packet </dd></dl>
80

    
81
<p>References <a class="el" href="wl__basic_8h_source.html#l00046">current_packet</a>, and <a class="el" href="wireless_8c_source.html#l00390">wl_do()</a>.</p>
82

    
83
</div>
84
</div>
85
<a class="anchor" id="gaae4a8ae98cc33955ee20b6e481d47adf"></a><!-- doxytag: member="wl_basic.h::wl_basic_init" ref="gaae4a8ae98cc33955ee20b6e481d47adf" args="(void(*handle_receive)(char type, int source, unsigned char *packet, int length))" -->
86
<div class="memitem">
87
<div class="memproto">
88
      <table class="memname">
89
        <tr>
90
          <td class="memname">int wl_basic_init </td>
91
          <td>(</td>
92
          <td class="paramtype">void(*)(char type, int source, unsigned char *packet, int length)&nbsp;</td>
93
          <td class="paramname"> <em>handle_receive</em></td>
94
          <td>&nbsp;)&nbsp;</td>
95
          <td></td>
96
        </tr>
97
      </table>
98
</div>
99
<div class="memdoc">
100

    
101
<p>init wireless for Basic Group </p>
102
<p>Wrapper for <a class="el" href="group__wireless.html#gaedd4562415e273ce6537f9c1a0f2701b" title="Initialize the wireless library.">wl_init()</a>. Initializes wireless and registers a packet handler function for Basic Group.</p>
103
<dl><dt><b>Parameters:</b></dt><dd>
104
  <table border="0" cellspacing="2" cellpadding="0">
105
    <tr><td valign="top"></td><td valign="top"><em>handle_receive</em>&nbsp;</td><td>function pointer to handler function for Basic Group </td></tr>
106
  </table>
107
  </dd>
108
</dl>
109
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, -1 on error </dd></dl>
110

    
111
<p>References <a class="el" href="wl__basic_8h_source.html#l00046">current_packet</a>, <a class="el" href="wl__basic_8c_source.html#l00042">wl_basic_register_handler()</a>, and <a class="el" href="wireless_8c_source.html#l00102">wl_init()</a>.</p>
112

    
113
<p>Referenced by <a class="el" href="wl__basic_8c_source.html#l00033">wl_basic_init_default()</a>.</p>
114

    
115
</div>
116
</div>
117
<a class="anchor" id="gae482937c7c29521030a33ecbc5d2dd9d"></a><!-- doxytag: member="wl_basic.h::wl_basic_init_default" ref="gae482937c7c29521030a33ecbc5d2dd9d" args="(void)" -->
118
<div class="memitem">
119
<div class="memproto">
120
      <table class="memname">
121
        <tr>
122
          <td class="memname">int wl_basic_init_default </td>
123
          <td>(</td>
124
          <td class="paramtype">void&nbsp;</td>
125
          <td class="paramname"></td>
126
          <td>&nbsp;)&nbsp;</td>
127
          <td></td>
128
        </tr>
129
      </table>
130
</div>
131
<div class="memdoc">
132

    
133
<p>init wireless for Basic Group with default packet handling </p>
134
<p>Wrapper for <a class="el" href="group__wireless.html#gaedd4562415e273ce6537f9c1a0f2701b" title="Initialize the wireless library.">wl_init()</a>. Initializes wireless and registers the default packet handler for Basig Group. </p>
135

    
136
<p>References <a class="el" href="wl__basic_8c_source.html#l00020">wl_basic_init()</a>, and <a class="el" href="wl__basic_8c_source.html#l00085">wl_basic_packet_receive_handler()</a>.</p>
137

    
138
</div>
139
</div>
140
<a class="anchor" id="ga0ad976b2b61cca0081123606101c97cd"></a><!-- doxytag: member="wl_basic.h::wl_basic_packet_receive_handler" ref="ga0ad976b2b61cca0081123606101c97cd" args="(char type, int source, unsigned char *packet, int length)" -->
141
<div class="memitem">
142
<div class="memproto">
143
      <table class="memname">
144
        <tr>
145
          <td class="memname">void wl_basic_packet_receive_handler </td>
146
          <td>(</td>
147
          <td class="paramtype">char&nbsp;</td>
148
          <td class="paramname"> <em>type</em>, </td>
149
        </tr>
150
        <tr>
151
          <td class="paramkey"></td>
152
          <td></td>
153
          <td class="paramtype">int&nbsp;</td>
154
          <td class="paramname"> <em>source</em>, </td>
155
        </tr>
156
        <tr>
157
          <td class="paramkey"></td>
158
          <td></td>
159
          <td class="paramtype">unsigned char *&nbsp;</td>
160
          <td class="paramname"> <em>packet</em>, </td>
161
        </tr>
162
        <tr>
163
          <td class="paramkey"></td>
164
          <td></td>
165
          <td class="paramtype">int&nbsp;</td>
166
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
167
        </tr>
168
        <tr>
169
          <td></td>
170
          <td>)</td>
171
          <td></td><td></td><td></td>
172
        </tr>
173
      </table>
174
</div>
175
<div class="memdoc">
176

    
177
<p>internal default packet handler if none is specified on init </p>
178
<p>Default packet handler used if none is specified on init. This should not be called directly by any user program.</p>
179
<dl><dt><b>Parameters:</b></dt><dd>
180
  <table border="0" cellspacing="2" cellpadding="0">
181
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Packet type </td></tr>
182
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>the robot ID of the sending robot </td></tr>
183
    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Packet buffer, data you received </td></tr>
184
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>Length of the data buffer in bytes </td></tr>
185
  </table>
186
  </dd>
187
</dl>
188

    
189
<p>References <a class="el" href="wl__basic_8h_source.html#l00046">current_packet</a>.</p>
190

    
191
<p>Referenced by <a class="el" href="wl__basic_8c_source.html#l00033">wl_basic_init_default()</a>.</p>
192

    
193
</div>
194
</div>
195
<a class="anchor" id="gaebc714e1bf382a98ac7a43762bf905c5"></a><!-- doxytag: member="wl_basic.h::wl_basic_register_handler" ref="gaebc714e1bf382a98ac7a43762bf905c5" args="(void(*handle_receive)(char type, int source, unsigned char *packet, int length))" -->
196
<div class="memitem">
197
<div class="memproto">
198
      <table class="memname">
199
        <tr>
200
          <td class="memname">void wl_basic_register_handler </td>
201
          <td>(</td>
202
          <td class="paramtype">void(*)(char type, int source, unsigned char *packet, int length)&nbsp;</td>
203
          <td class="paramname"> <em>handle_receive</em></td>
204
          <td>&nbsp;)&nbsp;</td>
205
          <td></td>
206
        </tr>
207
      </table>
208
</div>
209
<div class="memdoc">
210

    
211
<p>internal function to register a packet handler function </p>
212
<p>Internal function to register a packet group handler for Basic Group.</p>
213
<dl><dt><b>Parameters:</b></dt><dd>
214
  <table border="0" cellspacing="2" cellpadding="0">
215
    <tr><td valign="top"></td><td valign="top"><em>handle_receive</em>&nbsp;</td><td>function pointer to handler function for Basic Group </td></tr>
216
  </table>
217
  </dd>
218
</dl>
219

    
220
<p>References <a class="el" href="wireless_8h_source.html#l00091">PacketGroupHandler::groupCode</a>, <a class="el" href="structPacketGroupHandler.html#a5c01636d72de2ddafc734ab754d93104">PacketGroupHandler::handle_receive</a>, <a class="el" href="structPacketGroupHandler.html#a045939030c6e2f2dd0d53b5718d9f902">PacketGroupHandler::handle_response</a>, <a class="el" href="structPacketGroupHandler.html#a952b4b63982db13f55c02e17c55ab5ac">PacketGroupHandler::timeout_handler</a>, <a class="el" href="structPacketGroupHandler.html#ac03247d5c07e97e35b1f557c0937b0eb">PacketGroupHandler::unregister</a>, <a class="el" href="wl__basic_8h_source.html#l00027">WL_BASIC_GROUP</a>, <a class="el" href="wl__basic_8h_source.html#l00030">wl_basic_group_handler</a>, and <a class="el" href="wireless_8c_source.html#l00342">wl_register_packet_group()</a>.</p>
221

    
222
<p>Referenced by <a class="el" href="wl__basic_8c_source.html#l00020">wl_basic_init()</a>.</p>
223

    
224
</div>
225
</div>
226
<a class="anchor" id="ga72d4f604603ef2541b5f4d3ae467938e"></a><!-- doxytag: member="wl_basic.h::wl_basic_send_global_packet" ref="ga72d4f604603ef2541b5f4d3ae467938e" args="(char type, char *data, int len)" -->
227
<div class="memitem">
228
<div class="memproto">
229
      <table class="memname">
230
        <tr>
231
          <td class="memname">void wl_basic_send_global_packet </td>
232
          <td>(</td>
233
          <td class="paramtype">char&nbsp;</td>
234
          <td class="paramname"> <em>type</em>, </td>
235
        </tr>
236
        <tr>
237
          <td class="paramkey"></td>
238
          <td></td>
239
          <td class="paramtype">char *&nbsp;</td>
240
          <td class="paramname"> <em>data</em>, </td>
241
        </tr>
242
        <tr>
243
          <td class="paramkey"></td>
244
          <td></td>
245
          <td class="paramtype">int&nbsp;</td>
246
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
247
        </tr>
248
        <tr>
249
          <td></td>
250
          <td>)</td>
251
          <td></td><td></td><td></td>
252
        </tr>
253
      </table>
254
</div>
255
<div class="memdoc">
256

    
257
<p>send a packet to all robots in Basic Group </p>
258
<p>Send a packet to all robots in Basic Group.</p>
259
<dl><dt><b>Parameters:</b></dt><dd>
260
  <table border="0" cellspacing="2" cellpadding="0">
261
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Packet type </td></tr>
262
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Packet buffer, data you want to send </td></tr>
263
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the data buffer in bytes </td></tr>
264
  </table>
265
  </dd>
266
</dl>
267

    
268
<p>References <a class="el" href="wl__basic_8h_source.html#l00027">WL_BASIC_GROUP</a>, and <a class="el" href="wireless_8c_source.html#l00285">wl_send_global_packet()</a>.</p>
269

    
270
</div>
271
</div>
272
<a class="anchor" id="gad5d7334484e49cc3cb9ebe2cfc323115"></a><!-- doxytag: member="wl_basic.h::wl_basic_send_robot_packet" ref="gad5d7334484e49cc3cb9ebe2cfc323115" args="(char type, char *data, int len, int dest)" -->
273
<div class="memitem">
274
<div class="memproto">
275
      <table class="memname">
276
        <tr>
277
          <td class="memname">void wl_basic_send_robot_packet </td>
278
          <td>(</td>
279
          <td class="paramtype">char&nbsp;</td>
280
          <td class="paramname"> <em>type</em>, </td>
281
        </tr>
282
        <tr>
283
          <td class="paramkey"></td>
284
          <td></td>
285
          <td class="paramtype">char *&nbsp;</td>
286
          <td class="paramname"> <em>data</em>, </td>
287
        </tr>
288
        <tr>
289
          <td class="paramkey"></td>
290
          <td></td>
291
          <td class="paramtype">int&nbsp;</td>
292
          <td class="paramname"> <em>len</em>, </td>
293
        </tr>
294
        <tr>
295
          <td class="paramkey"></td>
296
          <td></td>
297
          <td class="paramtype">int&nbsp;</td>
298
          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
299
        </tr>
300
        <tr>
301
          <td></td>
302
          <td>)</td>
303
          <td></td><td></td><td></td>
304
        </tr>
305
      </table>
306
</div>
307
<div class="memdoc">
308

    
309
<p>send a packet to a single robot in Basic Group </p>
310
<p>Send a packet to a single robot in Basic Group.</p>
311
<dl><dt><b>Parameters:</b></dt><dd>
312
  <table border="0" cellspacing="2" cellpadding="0">
313
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Packet type </td></tr>
314
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Packet buffer, data you want to send </td></tr>
315
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the data buffer in bytes </td></tr>
316
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Robot ID of the destination robot </td></tr>
317
  </table>
318
  </dd>
319
</dl>
320

    
321
<p>References <a class="el" href="wl__basic_8h_source.html#l00027">WL_BASIC_GROUP</a>, and <a class="el" href="wireless_8c_source.html#l00252">wl_send_robot_to_robot_global_packet()</a>.</p>
322

    
323
</div>
324
</div>
325
</div>
326
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Sep 20 12:12:02 2009 for libwireless by&nbsp;
327
<a href="http://www.doxygen.org/index.html">
328
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
329
</body>
330
</html>