Project

General

Profile

Statistics
| Revision:

root / branches / wireless / docs / libwireless / html / group__xbee.html @ 1581

History | View | Annotate | Download (18 KB)

1 1578 dsschult
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>Colony: XBee</title>
4
<link href="tabs.css" rel="stylesheet" type="text/css">
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.8 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="modules.html"><span>Modules</span></a></li>
13
      <li><a href="files.html"><span>Files</span></a></li>
14
    </ul>
15
  </div>
16
</div>
17
<div class="contents">
18
<h1>XBee</h1>Interface with the XBee module.
19
<a href="#_details">More...</a>
20
<p>
21
<table border="0" cellpadding="0" cellspacing="0">
22
<tr><td></td></tr>
23 1581 dsschult
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
24
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee__const.html">xbee constants</a></td></tr>
25
26 1578 dsschult
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
27 1581 dsschult
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g2fbd69862a11b6bcc5cfdb9f182bcdb9">xbee_send_read_at_command</a> (char *command)</td></tr>
28
29 1578 dsschult
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g3d5fbb6aae8dda99240ec38108a645af">xbee_lib_init</a> (void)</td></tr>
30
31
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the XBee library.  <a href="#g3d5fbb6aae8dda99240ec38108a645af"></a><br></td></tr>
32
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g9334ac71dca1ddd697b1a35a361ade6a">xbee_terminate</a> (void)</td></tr>
33
34
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninitialize the XBee library.  <a href="#g9334ac71dca1ddd697b1a35a361ade6a"></a><br></td></tr>
35 1581 dsschult
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g7c44bc25fda954efde574ee8d735073c">xbee_send_packet</a> (char *packet, int len, int dest, char options, char frame)</td></tr>
36
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a packet to the XBee.  <a href="#g7c44bc25fda954efde574ee8d735073c"></a><br></td></tr>
38 1578 dsschult
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g00fbdd9d849171588df736f8b608589d">xbee_get_packet</a> (unsigned char *packet)</td></tr>
39
40
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a packet from the XBee.  <a href="#g00fbdd9d849171588df736f8b608589d"></a><br></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gde50cbefd7ba8d7361ce2654a298748b">xbee_set_pan_id</a> (int id)</td></tr>
42
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the PAN ID for the XBee.  <a href="#gde50cbefd7ba8d7361ce2654a298748b"></a><br></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g7755cd8db87703c9e9943153660b8052">xbee_get_pan_id</a> (void)</td></tr>
45
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's PAN ID.  <a href="#g7755cd8db87703c9e9943153660b8052"></a><br></td></tr>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gb93170c493c5cdfd43a7b640c6ed1d14">xbee_set_channel</a> (int channel)</td></tr>
48
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the channel the XBee is currently using.  <a href="#gb93170c493c5cdfd43a7b640c6ed1d14"></a><br></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g133706db81f69ba0a3c169b7a3f42d2a">xbee_get_channel</a> (void)</td></tr>
51
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the channel the XBee is currently using.  <a href="#g133706db81f69ba0a3c169b7a3f42d2a"></a><br></td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g7c53e8a8492494a61ca306875d633309">xbee_get_address</a> (void)</td></tr>
54
55
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's 16-bit address.  <a href="#g7c53e8a8492494a61ca306875d633309"></a><br></td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1e9e3c2abf0ff683ca8e591c3851cf0a"></a><!-- doxytag: member="xbee::xbee_set_com_port" ref="g1e9e3c2abf0ff683ca8e591c3851cf0a" args="(char *port)" -->
57
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g1e9e3c2abf0ff683ca8e591c3851cf0a">xbee_set_com_port</a> (char *port)</td></tr>
58
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the com port on a computer, undefined on the robot. <br></td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfcfccfa7323041108202275eba913be7"></a><!-- doxytag: member="xbee::xbee_reset" ref="gfcfccfa7323041108202275eba913be7" args="(void)" -->
61
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gfcfccfa7323041108202275eba913be7">xbee_reset</a> (void)</td></tr>
62
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset XBee. <br></td></tr>
64 1581 dsschult
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
65
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g65685824a9cbbc9da05be520d0d80d12"></a><!-- doxytag: member="xbee::arrival_buf" ref="g65685824a9cbbc9da05be520d0d80d12" args="[XBEE_BUFFER_SIZE]" -->
66
char&nbsp;</td><td class="memItemRight" valign="bottom"><b>arrival_buf</b> [XBEE_BUFFER_SIZE]</td></tr>
67
68
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb7ae7d59f0f2dabc258c678996b59b22"></a><!-- doxytag: member="xbee::buffer_last" ref="gb7ae7d59f0f2dabc258c678996b59b22" args="" -->
69
volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer_last</b> = 0</td></tr>
70
71
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga38080e2a4d6f0497f3c2faf487a0952"></a><!-- doxytag: member="xbee::buffer_first" ref="ga38080e2a4d6f0497f3c2faf487a0952" args="" -->
72
volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer_first</b> = 0</td></tr>
73
74 1578 dsschult
</table>
75
<hr><a name="_details"></a><h2>Detailed Description</h2>
76
Interface with the XBee module. <hr><h2>Function Documentation</h2>
77 1581 dsschult
<a class="anchor" name="g7c53e8a8492494a61ca306875d633309"></a><!-- doxytag: member="xbee.c::xbee_get_address" ref="g7c53e8a8492494a61ca306875d633309" args="(void)" -->
78 1578 dsschult
<div class="memitem">
79
<div class="memproto">
80
      <table class="memname">
81
        <tr>
82
          <td class="memname">unsigned int xbee_get_address           </td>
83
          <td>(</td>
84
          <td class="paramname">          </td>
85
          <td>&nbsp;)&nbsp;</td>
86
          <td></td>
87
        </tr>
88
      </table>
89
</div>
90
<div class="memdoc">
91
92
<p>
93
Get the 16-bit address of the XBee. This is used to specify who to send messages to and who messages are from.<p>
94
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the 16-bit address of the XBee. </dd></dl>
95
96
</div>
97
</div><p>
98 1581 dsschult
<a class="anchor" name="g133706db81f69ba0a3c169b7a3f42d2a"></a><!-- doxytag: member="xbee.c::xbee_get_channel" ref="g133706db81f69ba0a3c169b7a3f42d2a" args="(void)" -->
99 1578 dsschult
<div class="memitem">
100
<div class="memproto">
101
      <table class="memname">
102
        <tr>
103
          <td class="memname">int xbee_get_channel           </td>
104
          <td>(</td>
105
          <td class="paramtype">void&nbsp;</td>
106
          <td class="paramname">          </td>
107
          <td>&nbsp;)&nbsp;</td>
108
          <td></td>
109
        </tr>
110
      </table>
111
</div>
112
<div class="memdoc">
113
114
<p>
115
Returns the channel which the XBee is currently using.<p>
116
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the channel the XBee is using</dd></dl>
117
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee.html#gb93170c493c5cdfd43a7b640c6ed1d14" title="Set the channel the XBee is currently using.">xbee_set_channel</a> </dd></dl>
118
119
</div>
120
</div><p>
121 1581 dsschult
<a class="anchor" name="g00fbdd9d849171588df736f8b608589d"></a><!-- doxytag: member="xbee.c::xbee_get_packet" ref="g00fbdd9d849171588df736f8b608589d" args="(unsigned char *packet)" -->
122 1578 dsschult
<div class="memitem">
123
<div class="memproto">
124
      <table class="memname">
125
        <tr>
126
          <td class="memname">int xbee_get_packet           </td>
127
          <td>(</td>
128
          <td class="paramtype">unsigned char *&nbsp;</td>
129
          <td class="paramname"> <em>dest</em>          </td>
130
          <td>&nbsp;)&nbsp;</td>
131
          <td></td>
132
        </tr>
133
      </table>
134
</div>
135
<div class="memdoc">
136
137
<p>
138
Reads a packet received from the XBee. This function is non-blocking. The resulting packet is stored in dest. Only returns transmission response packets and received packets. The returned packet does not include header information or the checksum. This method also handles special packets dealt with by the XBee library, and so should be called frequently while the XBee is in use.<br>
139
<br>
140
<p>
141
The first byte of the packet will be either XBEE_TX_STATUS or XBEE_RX to indicated a response to a sent message or a received message, respectively.<br>
142
<br>
143
<p>
144
For a status response packet:<br>
145
 The first byte will be XBEE_TX_STATUS.<br>
146
 The second byte will be the frame number.<br>
147
 The third byte will be the result. 0 indicates success, and nonzero indicates that an error ocurred in transmitting the packet.<br>
148
<br>
149
<p>
150
For a received packet:<br>
151
 The first byte will be XBEE_RX.<br>
152
 The second and third bytes will be the 16-bit address of the packet's sender.<br>
153
 The fourth byte is the signal strength.<br>
154
 The fifth byte is 1 if the packet were sent to a specific address, and 2 if it is a broadcast packet.<br>
155
<br>
156
<p>
157
<dl compact><dt><b>Parameters:</b></dt><dd>
158
  <table border="0" cellspacing="2" cellpadding="0">
159
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>set to the packet data </td></tr>
160
  </table>
161
</dl>
162
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the packet, or -1 if no packet is available </dd></dl>
163
164
</div>
165
</div><p>
166 1581 dsschult
<a class="anchor" name="g7755cd8db87703c9e9943153660b8052"></a><!-- doxytag: member="xbee.c::xbee_get_pan_id" ref="g7755cd8db87703c9e9943153660b8052" args="(void)" -->
167 1578 dsschult
<div class="memitem">
168
<div class="memproto">
169
      <table class="memname">
170
        <tr>
171
          <td class="memname">unsigned int xbee_get_pan_id           </td>
172
          <td>(</td>
173
          <td class="paramname">          </td>
174
          <td>&nbsp;)&nbsp;</td>
175
          <td></td>
176
        </tr>
177
      </table>
178
</div>
179
<div class="memdoc">
180
181
<p>
182
Get the PAN ID for the XBee.<p>
183
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the personal area network id, or XBEE_PAN_DEFAULT if it has not yet been set. </dd></dl>
184
185
</div>
186
</div><p>
187 1581 dsschult
<a class="anchor" name="g3d5fbb6aae8dda99240ec38108a645af"></a><!-- doxytag: member="xbee.c::xbee_lib_init" ref="g3d5fbb6aae8dda99240ec38108a645af" args="(void)" -->
188 1578 dsschult
<div class="memitem">
189
<div class="memproto">
190
      <table class="memname">
191
        <tr>
192
          <td class="memname">int xbee_lib_init           </td>
193
          <td>(</td>
194
          <td class="paramname">          </td>
195
          <td>&nbsp;)&nbsp;</td>
196
          <td></td>
197
        </tr>
198
      </table>
199
</div>
200
<div class="memdoc">
201
202
<p>
203
Initializes the XBee library so that other functions may be used.
204
</div>
205
</div><p>
206 1581 dsschult
<a class="anchor" name="g7c44bc25fda954efde574ee8d735073c"></a><!-- doxytag: member="xbee.c::xbee_send_packet" ref="g7c44bc25fda954efde574ee8d735073c" args="(char *packet, int len, int dest, char options, char frame)" -->
207 1578 dsschult
<div class="memitem">
208
<div class="memproto">
209
      <table class="memname">
210
        <tr>
211
          <td class="memname">int xbee_send_packet           </td>
212
          <td>(</td>
213
          <td class="paramtype">char *&nbsp;</td>
214
          <td class="paramname"> <em>packet</em>, </td>
215
        </tr>
216
        <tr>
217
          <td class="paramkey"></td>
218
          <td></td>
219
          <td class="paramtype">int&nbsp;</td>
220
          <td class="paramname"> <em>len</em>, </td>
221
        </tr>
222
        <tr>
223
          <td class="paramkey"></td>
224
          <td></td>
225
          <td class="paramtype">int&nbsp;</td>
226
          <td class="paramname"> <em>dest</em>, </td>
227
        </tr>
228
        <tr>
229
          <td class="paramkey"></td>
230
          <td></td>
231
          <td class="paramtype">char&nbsp;</td>
232
          <td class="paramname"> <em>options</em>, </td>
233
        </tr>
234
        <tr>
235
          <td class="paramkey"></td>
236
          <td></td>
237
          <td class="paramtype">char&nbsp;</td>
238
          <td class="paramname"> <em>frame</em></td><td>&nbsp;</td>
239
        </tr>
240
        <tr>
241
          <td></td>
242
          <td>)</td>
243
          <td></td><td></td><td></td>
244
        </tr>
245
      </table>
246
</div>
247
<div class="memdoc">
248
249
<p>
250
Send the specified packet.<p>
251
<dl compact><dt><b>Parameters:</b></dt><dd>
252
  <table border="0" cellspacing="2" cellpadding="0">
253
    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>the packet data to send </td></tr>
254
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the number of bytes in the packet</td></tr>
255
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>the ID of the XBee to send the packet to, or XBEE_BROADCAST to send the message to all robots in the PAN.</td></tr>
256
    <tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td>a combination of the flags XBEE_OPTIONS_NONE, XBEE_OPTIONS_DISABLE_RESPONSE and XBEE_OPTIONS_BROADCAST_ALL_PANS</td></tr>
257
    <tr><td valign="top"></td><td valign="top"><em>frame</em>&nbsp;</td><td>the frame number to associate this packet with. This will be used to identify the response when the XBee alerts us as to whether or not our message was received. </td></tr>
258
  </table>
259
</dl>
260
261
</div>
262
</div><p>
263 1581 dsschult
<a class="anchor" name="g2fbd69862a11b6bcc5cfdb9f182bcdb9"></a><!-- doxytag: member="xbee.c::xbee_send_read_at_command" ref="g2fbd69862a11b6bcc5cfdb9f182bcdb9" args="(char *command)" -->
264 1578 dsschult
<div class="memitem">
265
<div class="memproto">
266
      <table class="memname">
267
        <tr>
268 1581 dsschult
          <td class="memname">int xbee_send_read_at_command           </td>
269
          <td>(</td>
270
          <td class="paramtype">char *&nbsp;</td>
271
          <td class="paramname"> <em>command</em>          </td>
272
          <td>&nbsp;)&nbsp;</td>
273
          <td></td>
274
        </tr>
275
      </table>
276
</div>
277
<div class="memdoc">
278
279
<p>
280
Sends an AT command to read a parameter.<p>
281
<dl compact><dt><b>Parameters:</b></dt><dd>
282
  <table border="0" cellspacing="2" cellpadding="0">
283
    <tr><td valign="top"></td><td valign="top"><em>command</em>&nbsp;</td><td>the AT command to send. For exmaple, use ID to read the PAN ID and MY to return the XBee ID. See the XBee reference guide for a complete listing. </td></tr>
284
  </table>
285
</dl>
286
287
</div>
288
</div><p>
289
<a class="anchor" name="gb93170c493c5cdfd43a7b640c6ed1d14"></a><!-- doxytag: member="xbee.c::xbee_set_channel" ref="gb93170c493c5cdfd43a7b640c6ed1d14" args="(int channel)" -->
290
<div class="memitem">
291
<div class="memproto">
292
      <table class="memname">
293
        <tr>
294 1578 dsschult
          <td class="memname">int xbee_set_channel           </td>
295
          <td>(</td>
296
          <td class="paramtype">int&nbsp;</td>
297
          <td class="paramname"> <em>channel</em>          </td>
298
          <td>&nbsp;)&nbsp;</td>
299
          <td></td>
300
        </tr>
301
      </table>
302
</div>
303
<div class="memdoc">
304
305
<p>
306
Set the channel the XBee is using.<p>
307
<dl compact><dt><b>Parameters:</b></dt><dd>
308
  <table border="0" cellspacing="2" cellpadding="0">
309
    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>the channel the XBee will not use, between 0x0B and 0x1A</td></tr>
310
  </table>
311
</dl>
312
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee.html#g133706db81f69ba0a3c169b7a3f42d2a" title="Get the channel the XBee is currently using.">xbee_get_channel</a> </dd></dl>
313
314
</div>
315
</div><p>
316 1581 dsschult
<a class="anchor" name="gde50cbefd7ba8d7361ce2654a298748b"></a><!-- doxytag: member="xbee.c::xbee_set_pan_id" ref="gde50cbefd7ba8d7361ce2654a298748b" args="(int id)" -->
317 1578 dsschult
<div class="memitem">
318
<div class="memproto">
319
      <table class="memname">
320
        <tr>
321
          <td class="memname">int xbee_set_pan_id           </td>
322
          <td>(</td>
323
          <td class="paramtype">int&nbsp;</td>
324
          <td class="paramname"> <em>id</em>          </td>
325
          <td>&nbsp;)&nbsp;</td>
326
          <td></td>
327
        </tr>
328
      </table>
329
</div>
330
<div class="memdoc">
331
332
<p>
333
Sets the personal area network id.<p>
334
<dl compact><dt><b>Parameters:</b></dt><dd>
335
  <table border="0" cellspacing="2" cellpadding="0">
336
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the new personal area network (PAN) id </td></tr>
337
  </table>
338
</dl>
339
340
</div>
341
</div><p>
342 1581 dsschult
<a class="anchor" name="g9334ac71dca1ddd697b1a35a361ade6a"></a><!-- doxytag: member="xbee.c::xbee_terminate" ref="g9334ac71dca1ddd697b1a35a361ade6a" args="(void)" -->
343 1578 dsschult
<div class="memitem">
344
<div class="memproto">
345
      <table class="memname">
346
        <tr>
347
          <td class="memname">void xbee_terminate           </td>
348
          <td>(</td>
349
          <td class="paramname">          </td>
350
          <td>&nbsp;)&nbsp;</td>
351
          <td></td>
352
        </tr>
353
      </table>
354
</div>
355
<div class="memdoc">
356
357
<p>
358
Call when finished using the XBee library. This releases all sued resources.
359
</div>
360
</div><p>
361
</div>
362 1581 dsschult
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Nov 24 12:45:55 2009 for Colony by&nbsp;
363 1578 dsschult
<a href="http://www.doxygen.org/index.html">
364
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
365
</body>
366
</html>