Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libwireless / group__xbee.html @ 52

History | View | Annotate | Download (18.2 KB)

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>libwireless: XBee</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.4.6 -->
8
<div class="tabs">
9
  <ul>
10
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11
    <li><a href="modules.html"><span>Modules</span></a></li>
12
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
13
    <li><a href="files.html"><span>Files</span></a></li>
14
  </ul></div>
15
<h1>XBee</h1>Interface with the XBee module.  
16
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
17
<tr><td></td></tr>
18
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
19
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ge6bb9bb274d6750f954762454807a5a7"></a><!-- doxytag: member="xbee::XBEE_PAN_DEFAULT" ref="ge6bb9bb274d6750f954762454807a5a7" args="" -->
20
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ge6bb9bb274d6750f954762454807a5a7">XBEE_PAN_DEFAULT</a>&nbsp;&nbsp;&nbsp;0xFFFF</td></tr>
21

    
22
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do not change the PAN. <br></td></tr>
23
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g93bbd21f7965e1697350f950cedff5c4"></a><!-- doxytag: member="xbee::XBEE_BROADCAST" ref="g93bbd21f7965e1697350f950cedff5c4" args="" -->
24
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g93bbd21f7965e1697350f950cedff5c4">XBEE_BROADCAST</a>&nbsp;&nbsp;&nbsp;0xFFFF</td></tr>
25

    
26
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Broadcast to all robots in the PAN. <br></td></tr>
27
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbca7356c2b8183fd41b5ca9a82dd962b"></a><!-- doxytag: member="xbee::XBEE_OPTIONS_NONE" ref="gbca7356c2b8183fd41b5ca9a82dd962b" args="" -->
28
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gbca7356c2b8183fd41b5ca9a82dd962b">XBEE_OPTIONS_NONE</a>&nbsp;&nbsp;&nbsp;0x00</td></tr>
29

    
30
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No special options. <br></td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gcf9509013302590dca5ce3db63c64609"></a><!-- doxytag: member="xbee::XBEE_OPTIONS_DISABLE_RESPONSE" ref="gcf9509013302590dca5ce3db63c64609" args="" -->
32
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gcf9509013302590dca5ce3db63c64609">XBEE_OPTIONS_DISABLE_RESPONSE</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
33

    
34
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do not receive a TX_STATUS message from this packet. <br></td></tr>
35
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g57382f888360b5b19f0de3b6f1f7c5a3"></a><!-- doxytag: member="xbee::XBEE_OPTIONS_BROADCAST_ALL_PANS" ref="g57382f888360b5b19f0de3b6f1f7c5a3" args="" -->
36
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g57382f888360b5b19f0de3b6f1f7c5a3">XBEE_OPTIONS_BROADCAST_ALL_PANS</a>&nbsp;&nbsp;&nbsp;0x04</td></tr>
37

    
38
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the packet to all PANS. <br></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g7840d8b64c8bec12d8b8d32e845a638a"></a><!-- doxytag: member="xbee::XBEE_TX_STATUS" ref="g7840d8b64c8bec12d8b8d32e845a638a" args="" -->
40
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g7840d8b64c8bec12d8b8d32e845a638a">XBEE_TX_STATUS</a>&nbsp;&nbsp;&nbsp;0x89</td></tr>
41

    
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A transmit status packet. <br></td></tr>
43
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc2b1262a3a1eb4a9f7ead366af71c32c"></a><!-- doxytag: member="xbee::XBEE_RX" ref="gc2b1262a3a1eb4a9f7ead366af71c32c" args="" -->
44
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gc2b1262a3a1eb4a9f7ead366af71c32c">XBEE_RX</a>&nbsp;&nbsp;&nbsp;0x81</td></tr>
45

    
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A packet received from another XBee. <br></td></tr>
47
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
48
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g2b86876f0e73bef20c4292810b15d4b9">xbee_lib_init</a> (int pan_id)</td></tr>
49

    
50
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the XBee library.  <a href="#g2b86876f0e73bef20c4292810b15d4b9"></a><br></td></tr>
51
<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>
52

    
53
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninitialize the XBee library.  <a href="#g9334ac71dca1ddd697b1a35a361ade6a"></a><br></td></tr>
54
<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>
55

    
56
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a packet from the XBee.  <a href="#g00fbdd9d849171588df736f8b608589d"></a><br></td></tr>
57
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g3a3b8ce040002ab2b1a0923950b2f3c4">xbee_send_packet</a> (char *packet, int len, int dest, char options, char frame)</td></tr>
58

    
59
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a packet to the XBee.  <a href="#g3a3b8ce040002ab2b1a0923950b2f3c4"></a><br></td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#g832f07915e1ffa8afefcd378deead1cd">xbee_set_pan_id</a> (int id)</td></tr>
61

    
62
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the PAN ID for the XBee.  <a href="#g832f07915e1ffa8afefcd378deead1cd"></a><br></td></tr>
63
<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>
64

    
65
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's PAN ID.  <a href="#g7755cd8db87703c9e9943153660b8052"></a><br></td></tr>
66
<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>
67

    
68
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's 16-bit address.  <a href="#g7c53e8a8492494a61ca306875d633309"></a><br></td></tr>
69
</table>
70
<hr><a name="_details"></a><h2>Detailed Description</h2>
71
Interface with the XBee module. 
72
<p>
73
Interface with the XBee module. <hr><h2>Function Documentation</h2>
74
<a class="anchor" name="g7c53e8a8492494a61ca306875d633309"></a><!-- doxytag: member="xbee.h::xbee_get_address" ref="g7c53e8a8492494a61ca306875d633309" args="(void)" --><p>
75
<table class="mdTable" cellpadding="2" cellspacing="0">
76
  <tr>
77
    <td class="mdRow">
78
      <table cellpadding="0" cellspacing="0" border="0">
79
        <tr>
80
          <td class="md" nowrap valign="top">unsigned int xbee_get_address           </td>
81
          <td class="md" valign="top">(&nbsp;</td>
82
          <td class="md" nowrap valign="top">void&nbsp;</td>
83
          <td class="mdname1" valign="top" nowrap>          </td>
84
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
85
          <td class="md" nowrap></td>
86
        </tr>
87
      </table>
88
    </td>
89
  </tr>
90
</table>
91
<table cellspacing="5" cellpadding="0" border="0">
92
  <tr>
93
    <td>
94
      &nbsp;
95
    </td>
96
    <td>
97

    
98
<p>
99
Get the XBee's 16-bit address. 
100
<p>
101
Get the 16-bit address of the XBee. This is used to specify who to send messages to and who messages are from.<p>
102
<dl compact><dt><b>Returns:</b></dt><dd>the 16-bit address of the XBee. </dd></dl>
103
    </td>
104
  </tr>
105
</table>
106
<a class="anchor" name="g00fbdd9d849171588df736f8b608589d"></a><!-- doxytag: member="xbee.h::xbee_get_packet" ref="g00fbdd9d849171588df736f8b608589d" args="(unsigned char *packet)" --><p>
107
<table class="mdTable" cellpadding="2" cellspacing="0">
108
  <tr>
109
    <td class="mdRow">
110
      <table cellpadding="0" cellspacing="0" border="0">
111
        <tr>
112
          <td class="md" nowrap valign="top">int xbee_get_packet           </td>
113
          <td class="md" valign="top">(&nbsp;</td>
114
          <td class="md" nowrap valign="top">unsigned char *&nbsp;</td>
115
          <td class="mdname1" valign="top" nowrap> <em>dest</em>          </td>
116
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
117
          <td class="md" nowrap></td>
118
        </tr>
119
      </table>
120
    </td>
121
  </tr>
122
</table>
123
<table cellspacing="5" cellpadding="0" border="0">
124
  <tr>
125
    <td>
126
      &nbsp;
127
    </td>
128
    <td>
129

    
130
<p>
131
Get a packet from the XBee. 
132
<p>
133
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>
134
<br>
135
<p>
136
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>
137
<br>
138
<p>
139
For a status response packet:<br>
140
 The first byte will be XBEE_TX_STATUS.<br>
141
 The second byte will be the frame number.<br>
142
 The third byte will be the result. 0 indicates success, and nonzero indicates that an error ocurred in transmitting the packet.<br>
143
<br>
144
<p>
145
For a received packet:<br>
146
 The first byte will be XBEE_RX.<br>
147
 The second and third bytes will be the 16-bit address of the packet's sender.<br>
148
 The fourth byte is the signal strength.<br>
149
 The fifth byte is 1 if the packet were sent to a specific address, and 2 if it is a broadcast packet.<br>
150
<br>
151
<p>
152
<dl compact><dt><b>Parameters:</b></dt><dd>
153
  <table border="0" cellspacing="2" cellpadding="0">
154
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>set to the packet data </td></tr>
155
  </table>
156
</dl>
157
<dl compact><dt><b>Returns:</b></dt><dd>the length of the packet, or -1 if no packet is available </dd></dl>
158
    </td>
159
  </tr>
160
</table>
161
<a class="anchor" name="g7755cd8db87703c9e9943153660b8052"></a><!-- doxytag: member="xbee.h::xbee_get_pan_id" ref="g7755cd8db87703c9e9943153660b8052" args="(void)" --><p>
162
<table class="mdTable" cellpadding="2" cellspacing="0">
163
  <tr>
164
    <td class="mdRow">
165
      <table cellpadding="0" cellspacing="0" border="0">
166
        <tr>
167
          <td class="md" nowrap valign="top">unsigned int xbee_get_pan_id           </td>
168
          <td class="md" valign="top">(&nbsp;</td>
169
          <td class="md" nowrap valign="top">void&nbsp;</td>
170
          <td class="mdname1" valign="top" nowrap>          </td>
171
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
172
          <td class="md" nowrap></td>
173
        </tr>
174
      </table>
175
    </td>
176
  </tr>
177
</table>
178
<table cellspacing="5" cellpadding="0" border="0">
179
  <tr>
180
    <td>
181
      &nbsp;
182
    </td>
183
    <td>
184

    
185
<p>
186
Get the XBee's PAN ID. 
187
<p>
188
Get the PAN ID for the XBee.<p>
189
<dl 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>
190
    </td>
191
  </tr>
192
</table>
193
<a class="anchor" name="g2b86876f0e73bef20c4292810b15d4b9"></a><!-- doxytag: member="xbee.h::xbee_lib_init" ref="g2b86876f0e73bef20c4292810b15d4b9" args="(int pan_id)" --><p>
194
<table class="mdTable" cellpadding="2" cellspacing="0">
195
  <tr>
196
    <td class="mdRow">
197
      <table cellpadding="0" cellspacing="0" border="0">
198
        <tr>
199
          <td class="md" nowrap valign="top">void xbee_lib_init           </td>
200
          <td class="md" valign="top">(&nbsp;</td>
201
          <td class="md" nowrap valign="top">int&nbsp;</td>
202
          <td class="mdname1" valign="top" nowrap> <em>pan_id</em>          </td>
203
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
204
          <td class="md" nowrap></td>
205
        </tr>
206
      </table>
207
    </td>
208
  </tr>
209
</table>
210
<table cellspacing="5" cellpadding="0" border="0">
211
  <tr>
212
    <td>
213
      &nbsp;
214
    </td>
215
    <td>
216

    
217
<p>
218
Initialize the XBee library. 
219
<p>
220
Initializes the XBee library so that other functions may be used.<p>
221
<dl compact><dt><b>Parameters:</b></dt><dd>
222
  <table border="0" cellspacing="2" cellpadding="0">
223
    <tr><td valign="top"></td><td valign="top"><em>pan_id</em>&nbsp;</td><td>the PAN to join initially. Use XBEE_PAN_DEFAULT to leave the PAN as it is initially. </td></tr>
224
  </table>
225
</dl>
226
    </td>
227
  </tr>
228
</table>
229
<a class="anchor" name="g3a3b8ce040002ab2b1a0923950b2f3c4"></a><!-- doxytag: member="xbee.h::xbee_send_packet" ref="g3a3b8ce040002ab2b1a0923950b2f3c4" args="(char *packet, int len, int dest, char options, char frame)" --><p>
230
<table class="mdTable" cellpadding="2" cellspacing="0">
231
  <tr>
232
    <td class="mdRow">
233
      <table cellpadding="0" cellspacing="0" border="0">
234
        <tr>
235
          <td class="md" nowrap valign="top">void xbee_send_packet           </td>
236
          <td class="md" valign="top">(&nbsp;</td>
237
          <td class="md" nowrap valign="top">char *&nbsp;</td>
238
          <td class="mdname" nowrap> <em>packet</em>, </td>
239
        </tr>
240
        <tr>
241
          <td class="md" nowrap align="right"></td>
242
          <td class="md"></td>
243
          <td class="md" nowrap>int&nbsp;</td>
244
          <td class="mdname" nowrap> <em>len</em>, </td>
245
        </tr>
246
        <tr>
247
          <td class="md" nowrap align="right"></td>
248
          <td class="md"></td>
249
          <td class="md" nowrap>int&nbsp;</td>
250
          <td class="mdname" nowrap> <em>dest</em>, </td>
251
        </tr>
252
        <tr>
253
          <td class="md" nowrap align="right"></td>
254
          <td class="md"></td>
255
          <td class="md" nowrap>char&nbsp;</td>
256
          <td class="mdname" nowrap> <em>options</em>, </td>
257
        </tr>
258
        <tr>
259
          <td class="md" nowrap align="right"></td>
260
          <td class="md"></td>
261
          <td class="md" nowrap>char&nbsp;</td>
262
          <td class="mdname" nowrap> <em>frame</em></td>
263
        </tr>
264
        <tr>
265
          <td class="md"></td>
266
          <td class="md">)&nbsp;</td>
267
          <td class="md" colspan="2"></td>
268
        </tr>
269
      </table>
270
    </td>
271
  </tr>
272
</table>
273
<table cellspacing="5" cellpadding="0" border="0">
274
  <tr>
275
    <td>
276
      &nbsp;
277
    </td>
278
    <td>
279

    
280
<p>
281
Send a packet to the XBee. 
282
<p>
283
Send the specified packet.<p>
284
<dl compact><dt><b>Parameters:</b></dt><dd>
285
  <table border="0" cellspacing="2" cellpadding="0">
286
    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>the packet data to send </td></tr>
287
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the number of bytes in the packet</td></tr>
288
    <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>
289
    <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>
290
    <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>
291
  </table>
292
</dl>
293
    </td>
294
  </tr>
295
</table>
296
<a class="anchor" name="g832f07915e1ffa8afefcd378deead1cd"></a><!-- doxytag: member="xbee.h::xbee_set_pan_id" ref="g832f07915e1ffa8afefcd378deead1cd" args="(int id)" --><p>
297
<table class="mdTable" cellpadding="2" cellspacing="0">
298
  <tr>
299
    <td class="mdRow">
300
      <table cellpadding="0" cellspacing="0" border="0">
301
        <tr>
302
          <td class="md" nowrap valign="top">void xbee_set_pan_id           </td>
303
          <td class="md" valign="top">(&nbsp;</td>
304
          <td class="md" nowrap valign="top">int&nbsp;</td>
305
          <td class="mdname1" valign="top" nowrap> <em>id</em>          </td>
306
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
307
          <td class="md" nowrap></td>
308
        </tr>
309
      </table>
310
    </td>
311
  </tr>
312
</table>
313
<table cellspacing="5" cellpadding="0" border="0">
314
  <tr>
315
    <td>
316
      &nbsp;
317
    </td>
318
    <td>
319

    
320
<p>
321
Set the PAN ID for the XBee. 
322
<p>
323
Sets the personal area network id.<p>
324
<dl compact><dt><b>Parameters:</b></dt><dd>
325
  <table border="0" cellspacing="2" cellpadding="0">
326
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the new personal area network (PAN) id </td></tr>
327
  </table>
328
</dl>
329
    </td>
330
  </tr>
331
</table>
332
<a class="anchor" name="g9334ac71dca1ddd697b1a35a361ade6a"></a><!-- doxytag: member="xbee.h::xbee_terminate" ref="g9334ac71dca1ddd697b1a35a361ade6a" args="(void)" --><p>
333
<table class="mdTable" cellpadding="2" cellspacing="0">
334
  <tr>
335
    <td class="mdRow">
336
      <table cellpadding="0" cellspacing="0" border="0">
337
        <tr>
338
          <td class="md" nowrap valign="top">void xbee_terminate           </td>
339
          <td class="md" valign="top">(&nbsp;</td>
340
          <td class="md" nowrap valign="top">void&nbsp;</td>
341
          <td class="mdname1" valign="top" nowrap>          </td>
342
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
343
          <td class="md" nowrap></td>
344
        </tr>
345
      </table>
346
    </td>
347
  </tr>
348
</table>
349
<table cellspacing="5" cellpadding="0" border="0">
350
  <tr>
351
    <td>
352
      &nbsp;
353
    </td>
354
    <td>
355

    
356
<p>
357
Uninitialize the XBee library. 
358
<p>
359
Call when finished using the XBee library. This releases all sued resources.     </td>
360
  </tr>
361
</table>
362
<hr size="1"><address style="align: right;"><small>Generated on Fri Sep 21 12:57:06 2007 for libwireless by&nbsp;
363
<a href="http://www.doxygen.org/index.html">
364
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address>
365
</body>
366
</html>