Statistics
| Revision:

root / branches / wireless / docs / libwireless / html / group__wireless.html @ 1823

History | View | Annotate | Download (35.1 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</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.3 -->
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</h1>
23
<p>Interface with the wireless library.  
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="structPacketGroupHandler.html">PacketGroupHandler</a></td></tr>
28
<tr><td colspan="2"><h2>Modules</h2></td></tr>
29
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__defines.html">Public Constants</a></td></tr>
30
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__functions.html">Public API Functions</a></td></tr>
31
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wl__error.html">Error Codes</a></td></tr>
32
<tr><td colspan="2"><h2>Defines</h2></td></tr>
33
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab30af815d6e9494361629440f14e3716"></a><!-- doxytag: member="wireless::PACKET_BUFFER_SIZE" ref="gab30af815d6e9494361629440f14e3716" args="" -->
34
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PACKET_BUFFER_SIZE</b>&nbsp;&nbsp;&nbsp;250</td></tr>
35
<tr><td colspan="2"><h2>Functions</h2></td></tr>
36
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga6a8d6179b1fe27f762937f0b47af2009">wl_init</a> (void)</td></tr>
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize wireless.  <a href="#ga6a8d6179b1fe27f762937f0b47af2009"></a><br/></td></tr>
38
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga223f437c2bc8ab8a3ac2e0e06841120f">wl_terminate</a> (void)</td></tr>
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminate wireless.  <a href="#ga223f437c2bc8ab8a3ac2e0e06841120f"></a><br/></td></tr>
40
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga7aa57c04f65ff3c8fec591248ab82f86">wl_register_handler</a> (uint8_t group, FNPTR, uint8_t priority)</td></tr>
41
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to register new packet handlers (for non-default groups only).  <a href="#ga7aa57c04f65ff3c8fec591248ab82f86"></a><br/></td></tr>
42
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga376508d5682b1b8c88ef8b5f911a3367">wl_unregister_handler</a> (uint8_t group)</td></tr>
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Function to unregister existing packet handlers (for non-default groups only).  <a href="#ga376508d5682b1b8c88ef8b5f911a3367"></a><br/></td></tr>
44
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gaa5a965e3443e4b2b60243225c50ecca7">wl_get</a> (char *data, uint8_t length)</td></tr>
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The main receive function. Dispatches packets for registered handlers and returns next basic packet if available.  <a href="#gaa5a965e3443e4b2b60243225c50ecca7"></a><br/></td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gae2509e2b6bc61faa26d87b1d87881817">wl_get_basic</a> (char *data, uint8_t length)</td></tr>
47
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next basic packet if available.  <a href="#gae2509e2b6bc61faa26d87b1d87881817"></a><br/></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae91c1e1940dfbbd063fdcfb86049c64a"></a><!-- doxytag: member="wireless::wl_dispatch" ref="gae91c1e1940dfbbd063fdcfb86049c64a" args="(void)" -->
49
int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gae91c1e1940dfbbd063fdcfb86049c64a">wl_dispatch</a> (void)</td></tr>
50
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dispatches packets for registered handlers. <br/></td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gaf713b6ecbf2de78139990a40fe864d5e">wl_send</a> (uint8_t *data, uint8_t length, uint8_t group, uint8_t scope, uint16_t dest, uint8_t mode)</td></tr>
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The core send function. This will take all possible arguments and send all types of packets.  <a href="#gaf713b6ecbf2de78139990a40fe864d5e"></a><br/></td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gab0af7308304aed74eb281188b712e132">wl_send_global</a> (uint8_t *data, uint8_t length, uint8_t group)</td></tr>
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper for core send function that will send a global packet across the current channel.  <a href="#gab0af7308304aed74eb281188b712e132"></a><br/></td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga85cd4090dd284a4747dc8a56c1b215ad">wl_send_pan</a> (uint8_t *data, uint8_t length, uint8_t group)</td></tr>
56
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper for core send function that will send a packet across the current channel on the current pan.  <a href="#ga85cd4090dd284a4747dc8a56c1b215ad"></a><br/></td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga49160840045fda872a5e38432cc26988">wl_send_robot</a> (uint8_t *data, uint8_t length, uint8_t group, uint16_t dest, uint8_t mode)</td></tr>
58
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper for core send function that will send a packet across the current channel to a specific robot.  <a href="#ga49160840045fda872a5e38432cc26988"></a><br/></td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga226d89acb4f77a982a2167eb1773eff2">wl_send_basic</a> (uint8_t *data, uint8_t length)</td></tr>
60
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default (i.e. basic) send wrapper.  <a href="#ga226d89acb4f77a982a2167eb1773eff2"></a><br/></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga15c9a01839696beb05d1e4f161d968b7">wl_ack_error</a> (void)</td></tr>
62
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of acknowledgment errors.  <a href="#ga15c9a01839696beb05d1e4f161d968b7"></a><br/></td></tr>
63
<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#gaa364aa4d9cc8c789f05401e8adf44785">wl_ack_check</a> (uint8_t packet)</td></tr>
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks a specific packet for the acknowledgement status.  <a href="#gaa364aa4d9cc8c789f05401e8adf44785"></a><br/></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wireless.html#ga62e126abfcd382ec02524dd2f45a8a7b">wl_ack_reset</a> (void)</td></tr>
66
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resets acknowledgement statistics back to zero.  <a href="#ga62e126abfcd382ec02524dd2f45a8a7b"></a><br/></td></tr>
67
</table>
68
<hr/><a name="_details"></a><h2>Detailed Description</h2>
69
<p>Interface with the wireless library. </p>
70
<hr/><h2>Function Documentation</h2>
71
<a class="anchor" id="gaa364aa4d9cc8c789f05401e8adf44785"></a><!-- doxytag: member="wireless_send.c::wl_ack_check" ref="gaa364aa4d9cc8c789f05401e8adf44785" args="(uint8_t packet)" -->
72
<div class="memitem">
73
<div class="memproto">
74
      <table class="memname">
75
        <tr>
76
          <td class="memname">int8_t wl_ack_check </td>
77
          <td>(</td>
78
          <td class="paramtype">uint8_t&nbsp;</td>
79
          <td class="paramname"> <em>packet</em></td>
80
          <td>&nbsp;)&nbsp;</td>
81
          <td></td>
82
        </tr>
83
      </table>
84
</div>
85
<div class="memdoc">
86

    
87
<p>Checks a specific packet for the acknowledgement status. </p>
88
<p>acknowledgement error check check if a specific packet has been lost note: buffer will overflow every 255 packets</p>
89
<dl><dt><b>Parameters:</b></dt><dd>
90
  <table border="0" cellspacing="2" cellpadding="0">
91
    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>packet number</td></tr>
92
  </table>
93
  </dd>
94
</dl>
95
<dl class="return"><dt><b>Returns:</b></dt><dd>{SENDING,ACK_OK,ACK_FAILURE,CCA_FAILURE} </dd></dl>
96

    
97
<p>References <a class="el" href="wl__defs_8h_source.html#l00090">WL_ERROR_ARGUMENT</a>.</p>
98

    
99
</div>
100
</div>
101
<a class="anchor" id="ga15c9a01839696beb05d1e4f161d968b7"></a><!-- doxytag: member="wireless_send.c::wl_ack_error" ref="ga15c9a01839696beb05d1e4f161d968b7" args="(void)" -->
102
<div class="memitem">
103
<div class="memproto">
104
      <table class="memname">
105
        <tr>
106
          <td class="memname">uint8_t wl_ack_error </td>
107
          <td>(</td>
108
          <td class="paramtype">void&nbsp;</td>
109
          <td class="paramname"></td>
110
          <td>&nbsp;)&nbsp;</td>
111
          <td></td>
112
        </tr>
113
      </table>
114
</div>
115
<div class="memdoc">
116

    
117
<p>Returns the number of acknowledgment errors. </p>
118
<p>acknowledgment error check if any of the packets you have sent have been lost.</p>
119
<p>note that all other error checking will be handled by library, so your user behavior won't have to worry about it</p>
120
<dl class="return"><dt><b>Returns:</b></dt><dd>the # of packets lost (up to 255) </dd></dl>
121

    
122
</div>
123
</div>
124
<a class="anchor" id="ga62e126abfcd382ec02524dd2f45a8a7b"></a><!-- doxytag: member="wireless_send.c::wl_ack_reset" ref="ga62e126abfcd382ec02524dd2f45a8a7b" args="(void)" -->
125
<div class="memitem">
126
<div class="memproto">
127
      <table class="memname">
128
        <tr>
129
          <td class="memname">void wl_ack_reset </td>
130
          <td>(</td>
131
          <td class="paramtype">void&nbsp;</td>
132
          <td class="paramname"></td>
133
          <td>&nbsp;)&nbsp;</td>
134
          <td></td>
135
        </tr>
136
      </table>
137
</div>
138
<div class="memdoc">
139

    
140
<p>Resets acknowledgement statistics back to zero. </p>
141
<p>acknowledgement reset reset the acknowledgement buffer </p>
142

    
143
</div>
144
</div>
145
<a class="anchor" id="gaa5a965e3443e4b2b60243225c50ecca7"></a><!-- doxytag: member="wireless_receive.c::wl_get" ref="gaa5a965e3443e4b2b60243225c50ecca7" args="(char *data, uint8_t length)" -->
146
<div class="memitem">
147
<div class="memproto">
148
      <table class="memname">
149
        <tr>
150
          <td class="memname">int8_t wl_get </td>
151
          <td>(</td>
152
          <td class="paramtype">char *&nbsp;</td>
153
          <td class="paramname"> <em>data</em>, </td>
154
        </tr>
155
        <tr>
156
          <td class="paramkey"></td>
157
          <td></td>
158
          <td class="paramtype">uint8_t&nbsp;</td>
159
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
160
        </tr>
161
        <tr>
162
          <td></td>
163
          <td>)</td>
164
          <td></td><td></td><td></td>
165
        </tr>
166
      </table>
167
</div>
168
<div class="memdoc">
169

    
170
<p>The main receive function. Dispatches packets for registered handlers and returns next basic packet if available. </p>
171
<p>the main receive function (similar to wl_do)</p>
172
<p>when called, this function will receive the next packet on the default packet group it will also dispatch registered packet handler functions for any other packet groups it has received</p>
173
<dl><dt><b>Parameters:</b></dt><dd>
174
  <table border="0" cellspacing="2" cellpadding="0">
175
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>an already-initialized array to store the default group packet data in </td></tr>
176
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the initialized data array</td></tr>
177
  </table>
178
  </dd>
179
</dl>
180
<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the used portion of data array or error (&lt;0) </dd></dl>
181

    
182
<p>References <a class="el" href="wireless__receive_8c_source.html#l00164">wl_dispatch()</a>, and <a class="el" href="wireless__receive_8c_source.html#l00100">wl_get_basic()</a>.</p>
183

    
184
</div>
185
</div>
186
<a class="anchor" id="gae2509e2b6bc61faa26d87b1d87881817"></a><!-- doxytag: member="wireless_receive.c::wl_get_basic" ref="gae2509e2b6bc61faa26d87b1d87881817" args="(char *data, uint8_t length)" -->
187
<div class="memitem">
188
<div class="memproto">
189
      <table class="memname">
190
        <tr>
191
          <td class="memname">int8_t wl_get_basic </td>
192
          <td>(</td>
193
          <td class="paramtype">char *&nbsp;</td>
194
          <td class="paramname"> <em>data</em>, </td>
195
        </tr>
196
        <tr>
197
          <td class="paramkey"></td>
198
          <td></td>
199
          <td class="paramtype">uint8_t&nbsp;</td>
200
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
201
        </tr>
202
        <tr>
203
          <td></td>
204
          <td>)</td>
205
          <td></td><td></td><td></td>
206
        </tr>
207
      </table>
208
</div>
209
<div class="memdoc">
210

    
211
<p>Returns the next basic packet if available. </p>
212
<p>function to receive only packets on the default group this function is only meant to receive packets sent using <a class="el" href="group__wl__functions.html#ga226d89acb4f77a982a2167eb1773eff2" title="Default (i.e. basic) send wrapper.">wl_send_basic()</a></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>data</em>&nbsp;</td><td>an already-initialized array to store the default group packet data in </td></tr>
216
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the initialized data array</td></tr>
217
  </table>
218
  </dd>
219
</dl>
220
<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the used portion of data array or error (&lt;0) </dd></dl>
221

    
222
<p>References <a class="el" href="wl__defs_8h_source.html#l00108">WL_ERROR_TOO_SMALL</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, and <a class="el" href="xbee_8c_source.html#l00087">xbee_basic_buf</a>.</p>
223

    
224
<p>Referenced by <a class="el" href="wireless__receive_8c_source.html#l00084">wl_get()</a>.</p>
225

    
226
</div>
227
</div>
228
<a class="anchor" id="ga6a8d6179b1fe27f762937f0b47af2009"></a><!-- doxytag: member="wireless.c::wl_init" ref="ga6a8d6179b1fe27f762937f0b47af2009" args="(void)" -->
229
<div class="memitem">
230
<div class="memproto">
231
      <table class="memname">
232
        <tr>
233
          <td class="memname">int8_t wl_init </td>
234
          <td>(</td>
235
          <td class="paramtype">void&nbsp;</td>
236
          <td class="paramname"></td>
237
          <td>&nbsp;)&nbsp;</td>
238
          <td></td>
239
        </tr>
240
      </table>
241
</div>
242
<div class="memdoc">
243

    
244
<p>Initialize wireless. </p>
245
<p>initialization function: set up xbee communication and packet handler infrastructure</p>
246
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, or error code </dd></dl>
247

    
248
<p>References <a class="el" href="wireless_8h_source.html#l00108">INIT_YES</a>, <a class="el" href="wireless_8h_source.html#l00102">MAX_PACKET_GROUPS</a>, <a class="el" href="wl__defs_8h_source.html#l00075">WL_ERROR_INIT_ALREADY_INITD</a>, <a class="el" href="wl__defs_8h_source.html#l00072">WL_ERROR_INIT_FAILED</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, and <a class="el" href="xbee_8c_source.html#l00729">xbee_init()</a>.</p>
249

    
250
</div>
251
</div>
252
<a class="anchor" id="ga7aa57c04f65ff3c8fec591248ab82f86"></a><!-- doxytag: member="wireless.c::wl_register_handler" ref="ga7aa57c04f65ff3c8fec591248ab82f86" args="(uint8_t group, FNPTR, uint8_t priority)" -->
253
<div class="memitem">
254
<div class="memproto">
255
      <table class="memname">
256
        <tr>
257
          <td class="memname">int8_t wl_register_handler </td>
258
          <td>(</td>
259
          <td class="paramtype">uint8_t&nbsp;</td>
260
          <td class="paramname"> <em>group</em>, </td>
261
        </tr>
262
        <tr>
263
          <td class="paramkey"></td>
264
          <td></td>
265
          <td class="paramtype">FNPTR&nbsp;</td>
266
          <td class="paramname">, </td>
267
        </tr>
268
        <tr>
269
          <td class="paramkey"></td>
270
          <td></td>
271
          <td class="paramtype">uint8_t&nbsp;</td>
272
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
273
        </tr>
274
        <tr>
275
          <td></td>
276
          <td>)</td>
277
          <td></td><td></td><td></td>
278
        </tr>
279
      </table>
280
</div>
281
<div class="memdoc">
282

    
283
<p>Function to register new packet handlers (for non-default groups only). </p>
284
<p>function to register new packet handlers (for non-default groups only)</p>
285
<dl><dt><b>Parameters:</b></dt><dd>
286
  <table border="0" cellspacing="2" cellpadding="0">
287
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group number of the packets to handle with this function </td></tr>
288
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the function pointer to the user-specified packet handler </td></tr>
289
    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>flag to set the priority of the function handler</td></tr>
290
  </table>
291
  </dd>
292
</dl>
293
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, or error code </dd></dl>
294

    
295
<p>References <a class="el" href="wireless_8h_source.html#l00095">FUNC</a>, <a class="el" href="wireless_8h_source.html#l00105">INIT_NO</a>, <a class="el" href="wireless_8h_source.html#l00102">MAX_PACKET_GROUPS</a>, <a class="el" href="wl__defs_8h_source.html#l00084">WL_ERROR_FAILED_REGISTRATION</a>, <a class="el" href="wl__defs_8h_source.html#l00078">WL_ERROR_LIBRARY_NOT_INITD</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
296

    
297
</div>
298
</div>
299
<a class="anchor" id="gaf713b6ecbf2de78139990a40fe864d5e"></a><!-- doxytag: member="wireless_send.c::wl_send" ref="gaf713b6ecbf2de78139990a40fe864d5e" args="(uint8_t *data, uint8_t length, uint8_t group, uint8_t scope, uint16_t dest, uint8_t mode)" -->
300
<div class="memitem">
301
<div class="memproto">
302
      <table class="memname">
303
        <tr>
304
          <td class="memname">int16_t wl_send </td>
305
          <td>(</td>
306
          <td class="paramtype">uint8_t *&nbsp;</td>
307
          <td class="paramname"> <em>data</em>, </td>
308
        </tr>
309
        <tr>
310
          <td class="paramkey"></td>
311
          <td></td>
312
          <td class="paramtype">uint8_t&nbsp;</td>
313
          <td class="paramname"> <em>length</em>, </td>
314
        </tr>
315
        <tr>
316
          <td class="paramkey"></td>
317
          <td></td>
318
          <td class="paramtype">uint8_t&nbsp;</td>
319
          <td class="paramname"> <em>group</em>, </td>
320
        </tr>
321
        <tr>
322
          <td class="paramkey"></td>
323
          <td></td>
324
          <td class="paramtype">uint8_t&nbsp;</td>
325
          <td class="paramname"> <em>scope</em>, </td>
326
        </tr>
327
        <tr>
328
          <td class="paramkey"></td>
329
          <td></td>
330
          <td class="paramtype">uint16_t&nbsp;</td>
331
          <td class="paramname"> <em>dest</em>, </td>
332
        </tr>
333
        <tr>
334
          <td class="paramkey"></td>
335
          <td></td>
336
          <td class="paramtype">uint8_t&nbsp;</td>
337
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
338
        </tr>
339
        <tr>
340
          <td></td>
341
          <td>)</td>
342
          <td></td><td></td><td></td>
343
        </tr>
344
      </table>
345
</div>
346
<div class="memdoc">
347

    
348
<p>The core send function. This will take all possible arguments and send all types of packets. </p>
349
<p>The core send function. This will take all possible arguments and send all types of packets.</p>
350
<dl><dt><b>Parameters:</b></dt><dd>
351
  <table border="0" cellspacing="2" cellpadding="0">
352
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the byte array of data to be included in the packet </td></tr>
353
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the data array </td></tr>
354
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group of the packet </td></tr>
355
    <tr><td valign="top"></td><td valign="top"><em>scope</em>&nbsp;</td><td>flag for sending global packet or your current PAN </td></tr>
356
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>robot ID (for robot to robot packet) </td></tr>
357
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>flag for using FAST or RELIABLE sending</td></tr>
358
  </table>
359
  </dd>
360
</dl>
361
<dl class="return"><dt><b>Returns:</b></dt><dd>positive packet number for tracking acks, or error code </dd></dl>
362

    
363
<p>References <a class="el" href="wireless_8h_source.html#l00086">ACK_OK</a>, <a class="el" href="wireless_8h_source.html#l00068">BROADCAST</a>, <a class="el" href="wireless_8h_source.html#l00074">FAST</a>, <a class="el" href="wireless_8h_source.html#l00062">GLOBAL</a>, <a class="el" href="wireless__send_8c_source.html#l00058">nextframe</a>, <a class="el" href="wireless_8h_source.html#l00065">PAN</a>, <a class="el" href="wireless_8h_source.html#l00071">RELIABLE</a>, <a class="el" href="wireless_8h_source.html#l00083">SENDING</a>, <a class="el" href="wl__defs_8h_source.html#l00105">WL_ERROR_MODE</a>, <a class="el" href="wl__defs_8h_source.html#l00099">WL_ERROR_SCOPE</a>, <a class="el" href="wl__defs_8h_source.html#l00093">WL_ERROR_SEND</a>, <a class="el" href="wl__defs_8h_source.html#l00111">WL_ERROR_SENDING_BUFFER_FULL</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, <a class="el" href="xbee_8c_source.html#l01313">xbee_checksum_add()</a>, <a class="el" href="xbee_8h_source.html#l00080">XBEE_OPTIONS_BROADCAST_ALL_PANS</a>, <a class="el" href="xbee_8h_source.html#l00078">XBEE_OPTIONS_DISABLE_RESPONSE</a>, <a class="el" href="xbee_8h_source.html#l00076">XBEE_OPTIONS_NONE</a>, <a class="el" href="xbee_8c_source.html#l01038">xbee_send()</a>, <a class="el" href="xbee_8c_source.html#l01332">xbee_send_header()</a>, and <a class="el" href="xbee_8c_source.html#l01015">xbee_sendc()</a>.</p>
364

    
365
<p>Referenced by <a class="el" href="wireless__send_8c_source.html#l00240">wl_send_basic()</a>, <a class="el" href="wireless__send_8c_source.html#l00200">wl_send_global()</a>, <a class="el" href="wireless__send_8c_source.html#l00213">wl_send_pan()</a>, and <a class="el" href="wireless__send_8c_source.html#l00228">wl_send_robot()</a>.</p>
366

    
367
</div>
368
</div>
369
<a class="anchor" id="ga226d89acb4f77a982a2167eb1773eff2"></a><!-- doxytag: member="wireless_send.c::wl_send_basic" ref="ga226d89acb4f77a982a2167eb1773eff2" args="(uint8_t *data, uint8_t length)" -->
370
<div class="memitem">
371
<div class="memproto">
372
      <table class="memname">
373
        <tr>
374
          <td class="memname">int16_t wl_send_basic </td>
375
          <td>(</td>
376
          <td class="paramtype">uint8_t *&nbsp;</td>
377
          <td class="paramname"> <em>data</em>, </td>
378
        </tr>
379
        <tr>
380
          <td class="paramkey"></td>
381
          <td></td>
382
          <td class="paramtype">uint8_t&nbsp;</td>
383
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
384
        </tr>
385
        <tr>
386
          <td></td>
387
          <td>)</td>
388
          <td></td><td></td><td></td>
389
        </tr>
390
      </table>
391
</div>
392
<div class="memdoc">
393

    
394
<p>Default (i.e. basic) send wrapper. </p>
395
<p>Default (i.e. basic) send wrapper.</p>
396
<dl><dt><b>Parameters:</b></dt><dd>
397
  <table border="0" cellspacing="2" cellpadding="0">
398
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the byte array of data to be included in the packet </td></tr>
399
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the data array</td></tr>
400
  </table>
401
  </dd>
402
</dl>
403
<dl class="return"><dt><b>Returns:</b></dt><dd>positive packet number for tracking acks, or error code (TBD) </dd></dl>
404

    
405
<p><p>Check if it needs to adjust according to data type. </p>
406
</p>
407

    
408
<p>References <a class="el" href="wireless_8h_source.html#l00059">BASIC</a>, <a class="el" href="wireless_8h_source.html#l00068">BROADCAST</a>, <a class="el" href="wireless_8h_source.html#l00062">GLOBAL</a>, <a class="el" href="wireless_8h_source.html#l00071">RELIABLE</a>, and <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
409

    
410
</div>
411
</div>
412
<a class="anchor" id="gab0af7308304aed74eb281188b712e132"></a><!-- doxytag: member="wireless_send.c::wl_send_global" ref="gab0af7308304aed74eb281188b712e132" args="(uint8_t *data, uint8_t length, uint8_t group)" -->
413
<div class="memitem">
414
<div class="memproto">
415
      <table class="memname">
416
        <tr>
417
          <td class="memname">int16_t wl_send_global </td>
418
          <td>(</td>
419
          <td class="paramtype">uint8_t *&nbsp;</td>
420
          <td class="paramname"> <em>data</em>, </td>
421
        </tr>
422
        <tr>
423
          <td class="paramkey"></td>
424
          <td></td>
425
          <td class="paramtype">uint8_t&nbsp;</td>
426
          <td class="paramname"> <em>length</em>, </td>
427
        </tr>
428
        <tr>
429
          <td class="paramkey"></td>
430
          <td></td>
431
          <td class="paramtype">uint8_t&nbsp;</td>
432
          <td class="paramname"> <em>group</em></td><td>&nbsp;</td>
433
        </tr>
434
        <tr>
435
          <td></td>
436
          <td>)</td>
437
          <td></td><td></td><td></td>
438
        </tr>
439
      </table>
440
</div>
441
<div class="memdoc">
442

    
443
<p>Wrapper for core send function that will send a global packet across the current channel. </p>
444
<p>Wrapper for core send function that will send a global packet across the current channel.</p>
445
<dl><dt><b>Parameters:</b></dt><dd>
446
  <table border="0" cellspacing="2" cellpadding="0">
447
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the byte array of data to be included in the packet </td></tr>
448
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the data array </td></tr>
449
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group of the packet</td></tr>
450
  </table>
451
  </dd>
452
</dl>
453
<dl class="return"><dt><b>Returns:</b></dt><dd>positive packet number for tracking acks, or error code </dd></dl>
454

    
455
<p>References <a class="el" href="wireless_8h_source.html#l00068">BROADCAST</a>, <a class="el" href="wireless_8h_source.html#l00062">GLOBAL</a>, <a class="el" href="wireless_8h_source.html#l00071">RELIABLE</a>, and <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
456

    
457
</div>
458
</div>
459
<a class="anchor" id="ga85cd4090dd284a4747dc8a56c1b215ad"></a><!-- doxytag: member="wireless_send.c::wl_send_pan" ref="ga85cd4090dd284a4747dc8a56c1b215ad" args="(uint8_t *data, uint8_t length, uint8_t group)" -->
460
<div class="memitem">
461
<div class="memproto">
462
      <table class="memname">
463
        <tr>
464
          <td class="memname">int16_t wl_send_pan </td>
465
          <td>(</td>
466
          <td class="paramtype">uint8_t *&nbsp;</td>
467
          <td class="paramname"> <em>data</em>, </td>
468
        </tr>
469
        <tr>
470
          <td class="paramkey"></td>
471
          <td></td>
472
          <td class="paramtype">uint8_t&nbsp;</td>
473
          <td class="paramname"> <em>length</em>, </td>
474
        </tr>
475
        <tr>
476
          <td class="paramkey"></td>
477
          <td></td>
478
          <td class="paramtype">uint8_t&nbsp;</td>
479
          <td class="paramname"> <em>group</em></td><td>&nbsp;</td>
480
        </tr>
481
        <tr>
482
          <td></td>
483
          <td>)</td>
484
          <td></td><td></td><td></td>
485
        </tr>
486
      </table>
487
</div>
488
<div class="memdoc">
489

    
490
<p>Wrapper for core send function that will send a packet across the current channel on the current pan. </p>
491
<p>Wrapper for core send function that will send a packet across the current channel on the current pan.</p>
492
<dl><dt><b>Parameters:</b></dt><dd>
493
  <table border="0" cellspacing="2" cellpadding="0">
494
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the byte array of data to be included in the packet </td></tr>
495
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the data array </td></tr>
496
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group of the packet</td></tr>
497
  </table>
498
  </dd>
499
</dl>
500
<dl class="return"><dt><b>Returns:</b></dt><dd>positive packet number for tracking acks, or error code (TBD) </dd></dl>
501

    
502
<p>References <a class="el" href="wireless_8h_source.html#l00068">BROADCAST</a>, <a class="el" href="wireless_8h_source.html#l00065">PAN</a>, <a class="el" href="wireless_8h_source.html#l00071">RELIABLE</a>, and <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
503

    
504
</div>
505
</div>
506
<a class="anchor" id="ga49160840045fda872a5e38432cc26988"></a><!-- doxytag: member="wireless_send.c::wl_send_robot" ref="ga49160840045fda872a5e38432cc26988" args="(uint8_t *data, uint8_t length, uint8_t group, uint16_t dest, uint8_t mode)" -->
507
<div class="memitem">
508
<div class="memproto">
509
      <table class="memname">
510
        <tr>
511
          <td class="memname">int16_t wl_send_robot </td>
512
          <td>(</td>
513
          <td class="paramtype">uint8_t *&nbsp;</td>
514
          <td class="paramname"> <em>data</em>, </td>
515
        </tr>
516
        <tr>
517
          <td class="paramkey"></td>
518
          <td></td>
519
          <td class="paramtype">uint8_t&nbsp;</td>
520
          <td class="paramname"> <em>length</em>, </td>
521
        </tr>
522
        <tr>
523
          <td class="paramkey"></td>
524
          <td></td>
525
          <td class="paramtype">uint8_t&nbsp;</td>
526
          <td class="paramname"> <em>group</em>, </td>
527
        </tr>
528
        <tr>
529
          <td class="paramkey"></td>
530
          <td></td>
531
          <td class="paramtype">uint16_t&nbsp;</td>
532
          <td class="paramname"> <em>dest</em>, </td>
533
        </tr>
534
        <tr>
535
          <td class="paramkey"></td>
536
          <td></td>
537
          <td class="paramtype">uint8_t&nbsp;</td>
538
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
539
        </tr>
540
        <tr>
541
          <td></td>
542
          <td>)</td>
543
          <td></td><td></td><td></td>
544
        </tr>
545
      </table>
546
</div>
547
<div class="memdoc">
548

    
549
<p>Wrapper for core send function that will send a packet across the current channel to a specific robot. </p>
550
<p>Wrapper for core send function that will send a packet across the current channel to a specific robot.</p>
551
<dl><dt><b>Parameters:</b></dt><dd>
552
  <table border="0" cellspacing="2" cellpadding="0">
553
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the byte array of data to be included in the packet </td></tr>
554
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the length of the data array </td></tr>
555
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group of the packet </td></tr>
556
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>robot ID (for robot to robot packet) </td></tr>
557
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>flag for using FAST or RELIABLE sending</td></tr>
558
  </table>
559
  </dd>
560
</dl>
561
<dl class="return"><dt><b>Returns:</b></dt><dd>positive packet number for tracking acks, or error code (TBD) </dd></dl>
562

    
563
<p>References <a class="el" href="wireless_8h_source.html#l00062">GLOBAL</a>, and <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
564

    
565
</div>
566
</div>
567
<a class="anchor" id="ga223f437c2bc8ab8a3ac2e0e06841120f"></a><!-- doxytag: member="wireless.c::wl_terminate" ref="ga223f437c2bc8ab8a3ac2e0e06841120f" args="(void)" -->
568
<div class="memitem">
569
<div class="memproto">
570
      <table class="memname">
571
        <tr>
572
          <td class="memname">int8_t wl_terminate </td>
573
          <td>(</td>
574
          <td class="paramtype">void&nbsp;</td>
575
          <td class="paramname"></td>
576
          <td>&nbsp;)&nbsp;</td>
577
          <td></td>
578
        </tr>
579
      </table>
580
</div>
581
<div class="memdoc">
582

    
583
<p>Terminate wireless. </p>
584
<p>termination function: end xbee communication, deregister all handlers, etc</p>
585
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, or error code </dd></dl>
586

    
587
<p>References <a class="el" href="wireless_8h_source.html#l00105">INIT_NO</a>, <a class="el" href="wireless_8h_source.html#l00102">MAX_PACKET_GROUPS</a>, <a class="el" href="wl__defs_8h_source.html#l00078">WL_ERROR_LIBRARY_NOT_INITD</a>, <a class="el" href="wl__defs_8h_source.html#l00081">WL_ERROR_TERMINATION_FAILED</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, and <a class="el" href="xbee_8c_source.html#l00918">xbee_terminate()</a>.</p>
588

    
589
</div>
590
</div>
591
<a class="anchor" id="ga376508d5682b1b8c88ef8b5f911a3367"></a><!-- doxytag: member="wireless.c::wl_unregister_handler" ref="ga376508d5682b1b8c88ef8b5f911a3367" args="(uint8_t group)" -->
592
<div class="memitem">
593
<div class="memproto">
594
      <table class="memname">
595
        <tr>
596
          <td class="memname">int8_t wl_unregister_handler </td>
597
          <td>(</td>
598
          <td class="paramtype">uint8_t&nbsp;</td>
599
          <td class="paramname"> <em>group</em></td>
600
          <td>&nbsp;)&nbsp;</td>
601
          <td></td>
602
        </tr>
603
      </table>
604
</div>
605
<div class="memdoc">
606

    
607
<p>Function to unregister existing packet handlers (for non-default groups only). </p>
608
<p>function to unregister existing packet handlers (for non-default groups only)</p>
609
<dl><dt><b>Parameters:</b></dt><dd>
610
  <table border="0" cellspacing="2" cellpadding="0">
611
    <tr><td valign="top"></td><td valign="top"><em>group</em>&nbsp;</td><td>the packet group number of the handler to unregister</td></tr>
612
  </table>
613
  </dd>
614
</dl>
615
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, or error code </dd></dl>
616

    
617
<p>References <a class="el" href="wireless_8h_source.html#l00095">FUNC</a>, <a class="el" href="wireless_8h_source.html#l00105">INIT_NO</a>, <a class="el" href="wireless_8h_source.html#l00102">MAX_PACKET_GROUPS</a>, <a class="el" href="wireless_8h_source.html#l00077">NORMAL_PRIORITY</a>, <a class="el" href="wl__defs_8h_source.html#l00087">WL_ERROR_FAILED_UNREGISTRATION</a>, <a class="el" href="wl__defs_8h_source.html#l00078">WL_ERROR_LIBRARY_NOT_INITD</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
618

    
619
</div>
620
</div>
621
</div>
622
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu May 6 13:17:00 2010 for libwireless by&nbsp;
623
<a href="http://www.doxygen.org/index.html">
624
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
625
</body>
626
</html>