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 Page</span></a></li> |
15 |
<li><a href="modules.html"><span>Modules</span></a></li> |
16 |
<li><a href="annotated.html"><span>Data 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 </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"> </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"> </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"> </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 </td><td class="memItemRight" valign="bottom"><b>PACKET_BUFFER_SIZE</b> 250</td></tr> |
35 |
<tr><td colspan="2"><h2>Functions</h2></td></tr> |
36 |
<tr><td class="memItemLeft" align="right" valign="top">int8_t </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"> </td><td class="mdescRight">Initialize wireless. <a href="#ga6a8d6179b1fe27f762937f0b47af2009"></a><br/></td></tr> |
38 |
<tr><td class="memItemLeft" align="right" valign="top">int8_t </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"> </td><td class="mdescRight">Terminate wireless. <a href="#ga223f437c2bc8ab8a3ac2e0e06841120f"></a><br/></td></tr> |
40 |
<tr><td class="memItemLeft" align="right" valign="top">int8_t </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </td><td class="mdescRight">Dispatches packets for registered handlers. <br/></td></tr> |
51 |
<tr><td class="memItemLeft" align="right" valign="top">int16_t </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </td> |
79 |
<td class="paramname"> <em>packet</em></td> |
80 |
<td> ) </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> </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 </td> |
109 |
<td class="paramname"></td> |
110 |
<td> ) </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 </td> |
132 |
<td class="paramname"></td> |
133 |
<td> ) </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 * </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 </td> |
159 |
<td class="paramname"> <em>length</em></td><td> </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> </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> </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 (<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 * </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 </td> |
200 |
<td class="paramname"> <em>length</em></td><td> </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> </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> </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 (<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 </td> |
236 |
<td class="paramname"></td> |
237 |
<td> ) </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 </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 </td> |
266 |
<td class="paramname">, </td> |
267 |
</tr>
|
268 |
<tr>
|
269 |
<td class="paramkey"></td> |
270 |
<td></td> |
271 |
<td class="paramtype">uint8_t </td> |
272 |
<td class="paramname"> <em>priority</em></td><td> </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> </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> </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> </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 * </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 </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 </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 </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 </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 </td> |
337 |
<td class="paramname"> <em>mode</em></td><td> </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> </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> </td><td>the length of the data array </td></tr> |
354 |
<tr><td valign="top"></td><td valign="top"><em>group</em> </td><td>the packet group of the packet </td></tr> |
355 |
<tr><td valign="top"></td><td valign="top"><em>scope</em> </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> </td><td>robot ID (for robot to robot packet) </td></tr> |
357 |
<tr><td valign="top"></td><td valign="top"><em>mode</em> </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 * </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 </td> |
383 |
<td class="paramname"> <em>length</em></td><td> </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> </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> </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 * </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 </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 </td> |
432 |
<td class="paramname"> <em>group</em></td><td> </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> </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> </td><td>the length of the data array </td></tr> |
449 |
<tr><td valign="top"></td><td valign="top"><em>group</em> </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 * </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 </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 </td> |
479 |
<td class="paramname"> <em>group</em></td><td> </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> </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> </td><td>the length of the data array </td></tr> |
496 |
<tr><td valign="top"></td><td valign="top"><em>group</em> </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 * </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 </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 </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 </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 </td> |
538 |
<td class="paramname"> <em>mode</em></td><td> </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> </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> </td><td>the length of the data array </td></tr> |
555 |
<tr><td valign="top"></td><td valign="top"><em>group</em> </td><td>the packet group of the packet </td></tr> |
556 |
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>robot ID (for robot to robot packet) </td></tr> |
557 |
<tr><td valign="top"></td><td valign="top"><em>mode</em> </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 </td> |
575 |
<td class="paramname"></td> |
576 |
<td> ) </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 </td> |
599 |
<td class="paramname"> <em>group</em></td> |
600 |
<td> ) </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> </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 |
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>
|