Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (19.5 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#gac3f8a6f5c4d9c258ab9f29f9557632d0">wl_basic_do_default</a> (int *length)</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="#gac3f8a6f5c4d9c258ab9f29f9557632d0"></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="gac3f8a6f5c4d9c258ab9f29f9557632d0"></a><!-- doxytag: member="wl_basic.h::wl_basic_do_default" ref="gac3f8a6f5c4d9c258ab9f29f9557632d0" args="(int *length)" -->
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">int *&nbsp;</td>
69
          <td class="paramname"> <em>length</em></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><dt><b>Parameters:</b></dt><dd>
80
  <table border="0" cellspacing="2" cellpadding="0">
81
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>a pointer to int to store the length of the data buffer</td></tr>
82
  </table>
83
  </dd>
84
</dl>
85
<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>
86

    
87
<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>
88

    
89
</div>
90
</div>
91
<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))" -->
92
<div class="memitem">
93
<div class="memproto">
94
      <table class="memname">
95
        <tr>
96
          <td class="memname">int wl_basic_init </td>
97
          <td>(</td>
98
          <td class="paramtype">void(*)(char type, int source, unsigned char *packet, int length)&nbsp;</td>
99
          <td class="paramname"> <em>handle_receive</em></td>
100
          <td>&nbsp;)&nbsp;</td>
101
          <td></td>
102
        </tr>
103
      </table>
104
</div>
105
<div class="memdoc">
106

    
107
<p>init wireless for Basic Group </p>
108
<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>
109
<dl><dt><b>Parameters:</b></dt><dd>
110
  <table border="0" cellspacing="2" cellpadding="0">
111
    <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>
112
  </table>
113
  </dd>
114
</dl>
115
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, -1 on error </dd></dl>
116

    
117
<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>
118

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

    
121
</div>
122
</div>
123
<a class="anchor" id="gae482937c7c29521030a33ecbc5d2dd9d"></a><!-- doxytag: member="wl_basic.h::wl_basic_init_default" ref="gae482937c7c29521030a33ecbc5d2dd9d" args="(void)" -->
124
<div class="memitem">
125
<div class="memproto">
126
      <table class="memname">
127
        <tr>
128
          <td class="memname">int wl_basic_init_default </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>init wireless for Basic Group with default packet handling </p>
140
<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>
141

    
142
<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>
143

    
144
</div>
145
</div>
146
<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)" -->
147
<div class="memitem">
148
<div class="memproto">
149
      <table class="memname">
150
        <tr>
151
          <td class="memname">void wl_basic_packet_receive_handler </td>
152
          <td>(</td>
153
          <td class="paramtype">char&nbsp;</td>
154
          <td class="paramname"> <em>type</em>, </td>
155
        </tr>
156
        <tr>
157
          <td class="paramkey"></td>
158
          <td></td>
159
          <td class="paramtype">int&nbsp;</td>
160
          <td class="paramname"> <em>source</em>, </td>
161
        </tr>
162
        <tr>
163
          <td class="paramkey"></td>
164
          <td></td>
165
          <td class="paramtype">unsigned char *&nbsp;</td>
166
          <td class="paramname"> <em>packet</em>, </td>
167
        </tr>
168
        <tr>
169
          <td class="paramkey"></td>
170
          <td></td>
171
          <td class="paramtype">int&nbsp;</td>
172
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
173
        </tr>
174
        <tr>
175
          <td></td>
176
          <td>)</td>
177
          <td></td><td></td><td></td>
178
        </tr>
179
      </table>
180
</div>
181
<div class="memdoc">
182

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

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

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

    
199
</div>
200
</div>
201
<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))" -->
202
<div class="memitem">
203
<div class="memproto">
204
      <table class="memname">
205
        <tr>
206
          <td class="memname">void wl_basic_register_handler </td>
207
          <td>(</td>
208
          <td class="paramtype">void(*)(char type, int source, unsigned char *packet, int length)&nbsp;</td>
209
          <td class="paramname"> <em>handle_receive</em></td>
210
          <td>&nbsp;)&nbsp;</td>
211
          <td></td>
212
        </tr>
213
      </table>
214
</div>
215
<div class="memdoc">
216

    
217
<p>internal function to register a packet handler function </p>
218
<p>Internal function to register a packet group handler for Basic Group.</p>
219
<dl><dt><b>Parameters:</b></dt><dd>
220
  <table border="0" cellspacing="2" cellpadding="0">
221
    <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>
222
  </table>
223
  </dd>
224
</dl>
225

    
226
<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>
227

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

    
230
</div>
231
</div>
232
<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)" -->
233
<div class="memitem">
234
<div class="memproto">
235
      <table class="memname">
236
        <tr>
237
          <td class="memname">void wl_basic_send_global_packet </td>
238
          <td>(</td>
239
          <td class="paramtype">char&nbsp;</td>
240
          <td class="paramname"> <em>type</em>, </td>
241
        </tr>
242
        <tr>
243
          <td class="paramkey"></td>
244
          <td></td>
245
          <td class="paramtype">char *&nbsp;</td>
246
          <td class="paramname"> <em>data</em>, </td>
247
        </tr>
248
        <tr>
249
          <td class="paramkey"></td>
250
          <td></td>
251
          <td class="paramtype">int&nbsp;</td>
252
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
253
        </tr>
254
        <tr>
255
          <td></td>
256
          <td>)</td>
257
          <td></td><td></td><td></td>
258
        </tr>
259
      </table>
260
</div>
261
<div class="memdoc">
262

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

    
274
<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>
275

    
276
</div>
277
</div>
278
<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)" -->
279
<div class="memitem">
280
<div class="memproto">
281
      <table class="memname">
282
        <tr>
283
          <td class="memname">void wl_basic_send_robot_packet </td>
284
          <td>(</td>
285
          <td class="paramtype">char&nbsp;</td>
286
          <td class="paramname"> <em>type</em>, </td>
287
        </tr>
288
        <tr>
289
          <td class="paramkey"></td>
290
          <td></td>
291
          <td class="paramtype">char *&nbsp;</td>
292
          <td class="paramname"> <em>data</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>len</em>, </td>
299
        </tr>
300
        <tr>
301
          <td class="paramkey"></td>
302
          <td></td>
303
          <td class="paramtype">int&nbsp;</td>
304
          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
305
        </tr>
306
        <tr>
307
          <td></td>
308
          <td>)</td>
309
          <td></td><td></td><td></td>
310
        </tr>
311
      </table>
312
</div>
313
<div class="memdoc">
314

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

    
327
<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>
328

    
329
</div>
330
</div>
331
</div>
332
<hr size="1"/><address style="text-align: right;"><small>Generated on Wed Sep 23 12:51:07 2009 for libwireless by&nbsp;
333
<a href="http://www.doxygen.org/index.html">
334
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
335
</body>
336
</html>