Index: group__xbee.html
===================================================================
--- group__xbee.html	(revision 1822)
+++ group__xbee.html	(revision 1823)
@@ -1,87 +1,240 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Colony: XBee</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.8 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>libwireless: XBee</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.6.3 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
       <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
       <li><a href="files.html"><span>Files</span></a></li>
     </ul>
   </div>
 </div>
 <div class="contents">
-<h1>XBee</h1>Interface with the XBee module.  
-<a href="#_details">More...</a>
-<p>
+<h1>XBee</h1>
+<p>Interface with the XBee module.  
+<a href="#_details">More...</a></p>
 <table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<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>
+<tr><td colspan="2"><h2>Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee__const.html">xbee constants</a></td></tr>
 
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<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>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>These are constants used for the xbee module. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee__funcs.html">Xbee Functions</a></td></tr>
 
-<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>
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>These are the public xbee functions. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga614217d263be1fb1a5f76e2ff7be19a2">PORT</a>&nbsp;&nbsp;&nbsp;UDR1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf8bfae90c5d6853fcfb487e05b9f50c8"></a><!-- doxytag: member="xbee::FLAG" ref="gaf8bfae90c5d6853fcfb487e05b9f50c8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>FLAG</b>&nbsp;&nbsp;&nbsp;(UCSR1A &amp; (1&lt;&lt;RXC1))</td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae6e8a8009a9ae0c59f25a496d1cf5a84"></a><!-- doxytag: member="xbee::ISR" ref="gae6e8a8009a9ae0c59f25a496d1cf5a84" args="(USART1_RX_vect)" -->
+&nbsp;</td><td class="memItemRight" valign="bottom"><b>ISR</b> (USART1_RX_vect)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafe6b2efc8b84d41b224b65fe9a9b0f70"></a><!-- doxytag: member="xbee::xbee_basic_buf_add" ref="gafe6b2efc8b84d41b224b65fe9a9b0f70" args="(uint8_t *ptr, uint8_t byte)" -->
+int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>xbee_basic_buf_add</b> (uint8_t *ptr, uint8_t byte)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3aa01c87cec1f5836297de808c82a405"></a><!-- doxytag: member="xbee::xbee_basic_buf_get" ref="ga3aa01c87cec1f5836297de808c82a405" args="(uint8_t *ptr)" -->
+uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>xbee_basic_buf_get</b> (uint8_t *ptr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga344c1c7c8bbd9bdb4903d3e9443edbbd"></a><!-- doxytag: member="xbee::xbee_other_buf_add" ref="ga344c1c7c8bbd9bdb4903d3e9443edbbd" args="(uint8_t *ptr, uint8_t byte)" -->
+int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>xbee_other_buf_add</b> (uint8_t *ptr, uint8_t byte)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4c5f6ba46371313200945e6456a9942"></a><!-- doxytag: member="xbee::xbee_other_buf_get" ref="gac4c5f6ba46371313200945e6456a9942" args="(uint8_t *ptr)" -->
+uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>xbee_other_buf_get</b> (uint8_t *ptr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga335b40b15f89a8a0d26db9226812914e">check_last_receive</a> (uint16_t source, uint8_t framenum)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga8a4c7ae8201a7ca230fdb47bfa13d044">getStatus</a> (uint8_t mask)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff39fc829e5307a35a062bcc6fac616f"></a><!-- doxytag: member="xbee::setStatus" ref="gaff39fc829e5307a35a062bcc6fac616f" args="(uint8_t mask, uint8_t value)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setStatus</b> (uint8_t mask, uint8_t value)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga31a4df97d6865a40123337045109b9f1">xbee_init</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the XBee library.  <a href="#ga31a4df97d6865a40123337045109b9f1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga3fe446135ba896e6438a4fcd67154119">xbee_terminate</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninitialize the XBee library.  <a href="#ga3fe446135ba896e6438a4fcd67154119"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gaf29617dd4988f4b056f9476004ae5cbf">xbee_putc</a> (uint8_t c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga409ff62ddd9e22eaf745a50f688263fd">xbee_getc</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gae564a6f5453934b0234a054fbc238fd3">xbee_getc_nb</a> (uint8_t *c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gae75ee9a54a5811b8bc302dc2d70f0215">xbee_sendc</a> (uint8_t byte)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send byte to the xbee in API mode.  <a href="#gae75ee9a54a5811b8bc302dc2d70f0215"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga5805e267e3b6f4b7bdad7aa6dc65ee04">xbee_send</a> (uint8_t *buf, uint16_t size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an array of bytes to the xbee in API mode.  <a href="#ga5805e267e3b6f4b7bdad7aa6dc65ee04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga2eb96c49811a1d9f2ccd1e1186915077">xbee_checksum_add</a> (uint8_t *buf, uint8_t len, uint8_t *sum)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a buffer to the checksum value.  <a href="#ga2eb96c49811a1d9f2ccd1e1186915077"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga2a39ffce83d65d22aeefb41dfce2112f">xbee_send_header</a> (uint16_t len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a frame header to the xbee.  <a href="#ga2a39ffce83d65d22aeefb41dfce2112f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga2694f3530e4cf256ff9e96600aea753c">xbee_send_read_at_command</a> (uint8_t *command)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gaae54f7208cfa786cb56d4d78ab3ceffe">xbee_send_packet</a> (uint8_t *packet, uint8_t len, uint16_t dest, uint8_t options, uint8_t frame)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a packet to the XBee.  <a href="#gaae54f7208cfa786cb56d4d78ab3ceffe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gadbcb9cc8cf6afa28e6de8defb33f8196">xbee_set_pan</a> (uint16_t id)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the PAN ID for the XBee.  <a href="#gadbcb9cc8cf6afa28e6de8defb33f8196"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gaa740c59073c6db9e00a2a2de10a95091">xbee_get_pan</a> ()</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's PAN ID.  <a href="#gaa740c59073c6db9e00a2a2de10a95091"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga4f67630ca81e5eae064bb58c3818d3fd">xbee_set_channel</a> (uint8_t channel)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the channel the XBee is currently using.  <a href="#ga4f67630ca81e5eae064bb58c3818d3fd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga319d4bccd5e6b09d2f377d2170104817">xbee_get_channel</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the channel the XBee is currently using.  <a href="#ga319d4bccd5e6b09d2f377d2170104817"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#ga24d751120f5cded06a70d156c29261fc">xbee_get_address</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's 16-bit address.  <a href="#ga24d751120f5cded06a70d156c29261fc"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Interface with the XBee module. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga614217d263be1fb1a5f76e2ff7be19a2"></a><!-- doxytag: member="xbee.c::PORT" ref="ga614217d263be1fb1a5f76e2ff7be19a2" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define PORT&nbsp;&nbsp;&nbsp;UDR1</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Interrupt for the robot. Adds bytes received from the xbee to the buffer. </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the XBee library.  <a href="#g3d5fbb6aae8dda99240ec38108a645af"></a><br></td></tr>
-<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>
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga335b40b15f89a8a0d26db9226812914e"></a><!-- doxytag: member="xbee.c::check_last_receive" ref="ga335b40b15f89a8a0d26db9226812914e" args="(uint16_t source, uint8_t framenum)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t check_last_receive </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&nbsp;</td>
+          <td class="paramname"> <em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>framenum</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Checks if packet is a duplicate </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninitialize the XBee library.  <a href="#g9334ac71dca1ddd697b1a35a361ade6a"></a><br></td></tr>
-<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>
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a packet to the XBee.  <a href="#g7c44bc25fda954efde574ee8d735073c"></a><br></td></tr>
-<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>
+</div>
+</div>
+<a class="anchor" id="ga8a4c7ae8201a7ca230fdb47bfa13d044"></a><!-- doxytag: member="xbee.c::getStatus" ref="ga8a4c7ae8201a7ca230fdb47bfa13d044" args="(uint8_t mask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t getStatus </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>mask</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [inline]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>status functions </p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a packet from the XBee.  <a href="#g00fbdd9d849171588df736f8b608589d"></a><br></td></tr>
-<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>
+<p>Referenced by <a class="el" href="xbee_8c_source.html#l00685">check_last_receive()</a>, <a class="el" href="xbee_8c_source.html#l01725">xbee_get_address()</a>, <a class="el" href="xbee_8c_source.html#l01693">xbee_get_channel()</a>, <a class="el" href="xbee_8c_source.html#l01621">xbee_get_pan()</a>, <a class="el" href="xbee_8c_source.html#l00729">xbee_init()</a>, <a class="el" href="xbee_8c_source.html#l01015">xbee_sendc()</a>, <a class="el" href="xbee_8c_source.html#l01655">xbee_set_channel()</a>, and <a class="el" href="xbee_8c_source.html#l01586">xbee_set_pan()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the PAN ID for the XBee.  <a href="#gde50cbefd7ba8d7361ce2654a298748b"></a><br></td></tr>
-<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>
+</div>
+</div>
+<a class="anchor" id="ga2eb96c49811a1d9f2ccd1e1186915077"></a><!-- doxytag: member="xbee.c::xbee_checksum_add" ref="ga2eb96c49811a1d9f2ccd1e1186915077" args="(uint8_t *buf, uint8_t len, uint8_t *sum)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t xbee_checksum_add </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>sum</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's PAN ID.  <a href="#g7755cd8db87703c9e9943153660b8052"></a><br></td></tr>
-<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>
+<p>Add a buffer to the checksum value. </p>
+<p>Adds buf to the previous checksum total</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>a byte buffer to add to the checksum </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the length of the buffer </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>sum</em>&nbsp;</td><td>the previous sum</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>error code </dd></dl>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the channel the XBee is currently using.  <a href="#gb93170c493c5cdfd43a7b640c6ed1d14"></a><br></td></tr>
-<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>
+<p>References <a class="el" href="wl__defs_8h_source.html#l00090">WL_ERROR_ARGUMENT</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the channel the XBee is currently using.  <a href="#g133706db81f69ba0a3c169b7a3f42d2a"></a><br></td></tr>
-<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>
+<p>Referenced by <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the XBee's 16-bit address.  <a href="#g7c53e8a8492494a61ca306875d633309"></a><br></td></tr>
-<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)" -->
-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>
+</div>
+</div>
+<a class="anchor" id="ga24d751120f5cded06a70d156c29261fc"></a><!-- doxytag: member="xbee.c::xbee_get_address" ref="ga24d751120f5cded06a70d156c29261fc" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint16_t xbee_get_address </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the com port on a computer, undefined on the robot. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gfcfccfa7323041108202275eba913be7"></a><!-- doxytag: member="xbee::xbee_reset" ref="gfcfccfa7323041108202275eba913be7" args="(void)" -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xbee.html#gfcfccfa7323041108202275eba913be7">xbee_reset</a> (void)</td></tr>
+<p>Get the XBee's 16-bit address. </p>
+<p>Get the 16-bit address of the XBee. This is used to specify who to send messages to and who messages are from.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the 16-bit address of the XBee. </dd></dl>
 
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset XBee. <br></td></tr>
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<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]" -->
-char&nbsp;</td><td class="memItemRight" valign="bottom"><b>arrival_buf</b> [XBEE_BUFFER_SIZE]</td></tr>
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00117">WL_ERROR_XBEE_COMMAND_16BIT</a>, and <a class="el" href="xbee_8c_source.html#l01380">xbee_send_read_at_command()</a>.</p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb7ae7d59f0f2dabc258c678996b59b22"></a><!-- doxytag: member="xbee::buffer_last" ref="gb7ae7d59f0f2dabc258c678996b59b22" args="" -->
-volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer_last</b> = 0</td></tr>
+<p>Referenced by <a class="el" href="xbee_8c_source.html#l00729">xbee_init()</a>.</p>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga38080e2a4d6f0497f3c2faf487a0952"></a><!-- doxytag: member="xbee::buffer_first" ref="ga38080e2a4d6f0497f3c2faf487a0952" args="" -->
-volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer_first</b> = 0</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Interface with the XBee module. <hr><h2>Function Documentation</h2>
-<a class="anchor" name="g7c53e8a8492494a61ca306875d633309"></a><!-- doxytag: member="xbee.c::xbee_get_address" ref="g7c53e8a8492494a61ca306875d633309" args="(void)" -->
+</div>
+</div>
+<a class="anchor" id="ga319d4bccd5e6b09d2f377d2170104817"></a><!-- doxytag: member="xbee.c::xbee_get_channel" ref="ga319d4bccd5e6b09d2f377d2170104817" args="(void)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">unsigned int xbee_get_address           </td>
+          <td class="memname">int8_t xbee_get_channel </td>
           <td>(</td>
-          <td class="paramname">          </td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -89,21 +242,24 @@
 </div>
 <div class="memdoc">
 
-<p>
-Get the 16-bit address of the XBee. This is used to specify who to send messages to and who messages are from.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the 16-bit address of the XBee. </dd></dl>
+<p>Get the channel the XBee is currently using. </p>
+<p>Returns the channel which the XBee is currently using.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the channel the XBee is using</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee__funcs.html#ga4f67630ca81e5eae064bb58c3818d3fd" title="Set the channel the XBee is currently using.">xbee_set_channel</a> </dd></dl>
 
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00114">WL_ERROR_XBEE_COMMAND</a>, and <a class="el" href="xbee_8c_source.html#l01380">xbee_send_read_at_command()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g133706db81f69ba0a3c169b7a3f42d2a"></a><!-- doxytag: member="xbee.c::xbee_get_channel" ref="g133706db81f69ba0a3c169b7a3f42d2a" args="(void)" -->
+</div>
+<a class="anchor" id="gaa740c59073c6db9e00a2a2de10a95091"></a><!-- doxytag: member="xbee.c::xbee_get_pan" ref="gaa740c59073c6db9e00a2a2de10a95091" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_get_channel           </td>
+          <td class="memname">uint16_t xbee_get_pan </td>
           <td>(</td>
           <td class="paramtype">void&nbsp;</td>
-          <td class="paramname">          </td>
+          <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -111,22 +267,23 @@
 </div>
 <div class="memdoc">
 
-<p>
-Returns the channel which the XBee is currently using.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the channel the XBee is using</dd></dl>
-<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>
+<p>Get the XBee's PAN ID. </p>
+<p>Get the PAN ID for the XBee.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the personal area network id, or XBEE_PAN_DEFAULT if it has not yet been set. </dd></dl>
 
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00117">WL_ERROR_XBEE_COMMAND_16BIT</a>, and <a class="el" href="xbee_8c_source.html#l01380">xbee_send_read_at_command()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g00fbdd9d849171588df736f8b608589d"></a><!-- doxytag: member="xbee.c::xbee_get_packet" ref="g00fbdd9d849171588df736f8b608589d" args="(unsigned char *packet)" -->
+</div>
+<a class="anchor" id="ga409ff62ddd9e22eaf745a50f688263fd"></a><!-- doxytag: member="xbee.c::xbee_getc" ref="ga409ff62ddd9e22eaf745a50f688263fd" args="(void)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_get_packet           </td>
+          <td class="memname">int16_t xbee_getc </td>
           <td>(</td>
-          <td class="paramtype">unsigned char *&nbsp;</td>
-          <td class="paramname"> <em>dest</em>          </td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -133,44 +290,50 @@
       </table>
 </div>
 <div class="memdoc">
+<p>Returns the first byte in the buffer received from xbee. This function blocks execution until a character has been received. xbee_init must be called before this function may be used.</p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the first character in the xbee buffer, -1 on error</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee__funcs.html#ga35f6f209aee59fad0490a961587e014a" title="Initialize the XBee library.">xbee_init</a>, <a class="el" href="group__xbee.html#gae564a6f5453934b0234a054fbc238fd3">xbee_getc_nb</a> </dd></dl>
 
-<p>
-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>
-<br>
-<p>
-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>
-<br>
-<p>
-For a status response packet:<br>
- The first byte will be XBEE_TX_STATUS.<br>
- The second byte will be the frame number.<br>
- The third byte will be the result. 0 indicates success, and nonzero indicates that an error ocurred in transmitting the packet.<br>
-<br>
-<p>
-For a received packet:<br>
- The first byte will be XBEE_RX.<br>
- The second and third bytes will be the 16-bit address of the packet's sender.<br>
- The fourth byte is the signal strength.<br>
- The fifth byte is 1 if the packet were sent to a specific address, and 2 if it is a broadcast packet.<br>
-<br>
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+</div>
+</div>
+<a class="anchor" id="gae564a6f5453934b0234a054fbc238fd3"></a><!-- doxytag: member="xbee.c::xbee_getc_nb" ref="gae564a6f5453934b0234a054fbc238fd3" args="(uint8_t *c)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t xbee_getc_nb </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>c</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Non blocking version of xbee_getc. If a byte is present in the buffer, it is returned, otherwise -1 is returned immediately. xbee_init must be called before this function can be used.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>set to the packet data </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>The received byte. This will be set if a byte has been received.</td></tr>
   </table>
+  </dd>
 </dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the length of the packet, or -1 if no packet is available </dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 If no byte is available, 0 otherwise, positive for error</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee.html#ga409ff62ddd9e22eaf745a50f688263fd">xbee_getc</a> </dd></dl>
 
+<p>References <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g7755cd8db87703c9e9943153660b8052"></a><!-- doxytag: member="xbee.c::xbee_get_pan_id" ref="g7755cd8db87703c9e9943153660b8052" args="(void)" -->
+</div>
+<a class="anchor" id="ga31a4df97d6865a40123337045109b9f1"></a><!-- doxytag: member="xbee.c::xbee_init" ref="ga31a4df97d6865a40123337045109b9f1" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">unsigned int xbee_get_pan_id           </td>
+          <td class="memname">int8_t xbee_init </td>
           <td>(</td>
-          <td class="paramname">          </td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -178,20 +341,24 @@
 </div>
 <div class="memdoc">
 
-<p>
-Get the PAN ID for the XBee.<p>
-<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>
+<p>Initialize the XBee library. </p>
+<p>Initializes the XBee library so that other functions may be used. </p>
 
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00120">WL_ERROR_BAUD</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#l00117">WL_ERROR_XBEE_COMMAND_16BIT</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, <a class="el" href="xbee_8c_source.html#l00087">xbee_basic_buf</a>, <a class="el" href="xbee_8c_source.html#l01725">xbee_get_address()</a>, and <a class="el" href="xbee_8c_source.html#l01586">xbee_set_pan()</a>.</p>
+
+<p>Referenced by <a class="el" href="wireless_8c_source.html#l00057">wl_init()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g3d5fbb6aae8dda99240ec38108a645af"></a><!-- doxytag: member="xbee.c::xbee_lib_init" ref="g3d5fbb6aae8dda99240ec38108a645af" args="(void)" -->
+</div>
+<a class="anchor" id="gaf29617dd4988f4b056f9476004ae5cbf"></a><!-- doxytag: member="xbee.c::xbee_putc" ref="gaf29617dd4988f4b056f9476004ae5cbf" args="(uint8_t c)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_lib_init           </td>
+          <td class="memname">int8_t xbee_putc </td>
           <td>(</td>
-          <td class="paramname">          </td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>c</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -198,43 +365,126 @@
       </table>
 </div>
 <div class="memdoc">
+<p>Sends a character to the XBee.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the byte to send </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
 
-<p>
-Initializes the XBee library so that other functions may be used. 
+<p>References <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
+<p>Referenced by <a class="el" href="xbee_8c_source.html#l01332">xbee_send_header()</a>, and <a class="el" href="xbee_8c_source.html#l01432">xbee_send_packet()</a>.</p>
+
 </div>
-</div><p>
-<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)" -->
+</div>
+<a class="anchor" id="ga5805e267e3b6f4b7bdad7aa6dc65ee04"></a><!-- doxytag: member="xbee.c::xbee_send" ref="ga5805e267e3b6f4b7bdad7aa6dc65ee04" args="(uint8_t *buf, uint16_t size)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_send_packet           </td>
+          <td class="memname">int8_t xbee_send </td>
           <td>(</td>
-          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Send an array of bytes to the xbee in API mode. </p>
+<p>Send a buffer buf of size bytes to the XBee in API mode</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer of data to send </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>the number of bytes to send </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="wl__defs_8h_source.html#l00093">WL_ERROR_SEND</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, and <a class="el" href="xbee_8c_source.html#l01015">xbee_sendc()</a>.</p>
+
+<p>Referenced by <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>, and <a class="el" href="xbee_8c_source.html#l01432">xbee_send_packet()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a39ffce83d65d22aeefb41dfce2112f"></a><!-- doxytag: member="xbee.c::xbee_send_header" ref="ga2a39ffce83d65d22aeefb41dfce2112f" args="(uint16_t len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t xbee_send_header </td>
+          <td>(</td>
+          <td class="paramtype">uint16_t&nbsp;</td>
+          <td class="paramname"> <em>len</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Send a frame header to the xbee. </p>
+<p>Sends header information. Header information includes XBEE_FRAME_START and the packet length, as two bytes.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the packet type </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the size in bytes of the packet data </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="wl__defs_8h_source.html#l00093">WL_ERROR_SEND</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, <a class="el" href="xbee_8c_source.html#l00945">xbee_putc()</a>, and <a class="el" href="xbee_8c_source.html#l01015">xbee_sendc()</a>.</p>
+
+<p>Referenced by <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaae54f7208cfa786cb56d4d78ab3ceffe"></a><!-- doxytag: member="xbee.c::xbee_send_packet" ref="gaae54f7208cfa786cb56d4d78ab3ceffe" args="(uint8_t *packet, uint8_t len, uint16_t dest, uint8_t options, uint8_t frame)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t xbee_send_packet </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
           <td class="paramname"> <em>packet</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&nbsp;</td>
+          <td class="paramtype">uint8_t&nbsp;</td>
           <td class="paramname"> <em>len</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">int&nbsp;</td>
+          <td class="paramtype">uint16_t&nbsp;</td>
           <td class="paramname"> <em>dest</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char&nbsp;</td>
+          <td class="paramtype">uint8_t&nbsp;</td>
           <td class="paramname"> <em>options</em>, </td>
         </tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype">char&nbsp;</td>
+          <td class="paramtype">uint8_t&nbsp;</td>
           <td class="paramname"> <em>frame</em></td><td>&nbsp;</td>
         </tr>
         <tr>
@@ -246,9 +496,9 @@
 </div>
 <div class="memdoc">
 
-<p>
-Send the specified packet.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Send a packet to the XBee. </p>
+<p>Send the specified packet.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>the packet data to send </td></tr>
     <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>the number of bytes in the packet</td></tr>
@@ -256,19 +506,22 @@
     <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>
     <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>
   </table>
+  </dd>
 </dl>
 
+<p>References <a class="el" href="wl__defs_8h_source.html#l00090">WL_ERROR_ARGUMENT</a>, <a class="el" href="wl__defs_8h_source.html#l00093">WL_ERROR_SEND</a>, <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>, <a class="el" href="xbee_8c_source.html#l00945">xbee_putc()</a>, <a class="el" href="xbee_8c_source.html#l01038">xbee_send()</a>, and <a class="el" href="xbee_8c_source.html#l01015">xbee_sendc()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g2fbd69862a11b6bcc5cfdb9f182bcdb9"></a><!-- doxytag: member="xbee.c::xbee_send_read_at_command" ref="g2fbd69862a11b6bcc5cfdb9f182bcdb9" args="(char *command)" -->
+</div>
+<a class="anchor" id="ga2694f3530e4cf256ff9e96600aea753c"></a><!-- doxytag: member="xbee.c::xbee_send_read_at_command" ref="ga2694f3530e4cf256ff9e96600aea753c" args="(uint8_t *command)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_send_read_at_command           </td>
+          <td class="memname">int8_t xbee_send_read_at_command </td>
           <td>(</td>
-          <td class="paramtype">char *&nbsp;</td>
-          <td class="paramname"> <em>command</em>          </td>
+          <td class="paramtype">uint8_t *&nbsp;</td>
+          <td class="paramname"> <em>command</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -275,26 +528,27 @@
       </table>
 </div>
 <div class="memdoc">
-
-<p>
-Sends an AT command to read a parameter.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Sends an AT command to read a parameter.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <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>
   </table>
+  </dd>
 </dl>
 
+<p>Referenced by <a class="el" href="xbee_8c_source.html#l01725">xbee_get_address()</a>, <a class="el" href="xbee_8c_source.html#l01693">xbee_get_channel()</a>, and <a class="el" href="xbee_8c_source.html#l01621">xbee_get_pan()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="gb93170c493c5cdfd43a7b640c6ed1d14"></a><!-- doxytag: member="xbee.c::xbee_set_channel" ref="gb93170c493c5cdfd43a7b640c6ed1d14" args="(int channel)" -->
+</div>
+<a class="anchor" id="gae75ee9a54a5811b8bc302dc2d70f0215"></a><!-- doxytag: member="xbee.c::xbee_sendc" ref="gae75ee9a54a5811b8bc302dc2d70f0215" args="(uint8_t byte)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_set_channel           </td>
+          <td class="memname">int8_t xbee_sendc </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>byte</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -302,26 +556,60 @@
 </div>
 <div class="memdoc">
 
-<p>
-Set the channel the XBee is using.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Send byte to the xbee in API mode. </p>
+<p>Send byte to the xbee in API mode.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>byte</em>&nbsp;</td><td>the byte to be sent </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
+<p>Referenced by <a class="el" href="wireless__send_8c_source.html#l00091">wl_send()</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#l01432">xbee_send_packet()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4f67630ca81e5eae064bb58c3818d3fd"></a><!-- doxytag: member="xbee.c::xbee_set_channel" ref="ga4f67630ca81e5eae064bb58c3818d3fd" args="(uint8_t channel)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8_t xbee_set_channel </td>
+          <td>(</td>
+          <td class="paramtype">uint8_t&nbsp;</td>
+          <td class="paramname"> <em>channel</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the channel the XBee is currently using. </p>
+<p>Set the channel the XBee is using.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
     <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>
   </table>
+  </dd>
 </dl>
-<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>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__xbee__funcs.html#ga319d4bccd5e6b09d2f377d2170104817" title="Get the channel the XBee is currently using.">xbee_get_channel</a> </dd></dl>
 
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00090">WL_ERROR_ARGUMENT</a>, <a class="el" href="wl__defs_8h_source.html#l00114">WL_ERROR_XBEE_COMMAND</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="gde50cbefd7ba8d7361ce2654a298748b"></a><!-- doxytag: member="xbee.c::xbee_set_pan_id" ref="gde50cbefd7ba8d7361ce2654a298748b" args="(int id)" -->
+</div>
+<a class="anchor" id="gadbcb9cc8cf6afa28e6de8defb33f8196"></a><!-- doxytag: member="xbee.c::xbee_set_pan" ref="gadbcb9cc8cf6afa28e6de8defb33f8196" args="(uint16_t id)" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int xbee_set_pan_id           </td>
+          <td class="memname">int8_t xbee_set_pan </td>
           <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>id</em>          </td>
+          <td class="paramtype">uint16_t&nbsp;</td>
+          <td class="paramname"> <em>id</em></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -329,24 +617,30 @@
 </div>
 <div class="memdoc">
 
-<p>
-Sets the personal area network id.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
+<p>Set the PAN ID for the XBee. </p>
+<p>Sets the personal area network id.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
   <table border="0" cellspacing="2" cellpadding="0">
     <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the new personal area network (PAN) id </td></tr>
   </table>
+  </dd>
 </dl>
 
+<p>References <a class="el" href="xbee_8c_source.html#l00722">getStatus()</a>, <a class="el" href="wl__defs_8h_source.html#l00114">WL_ERROR_XBEE_COMMAND</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
+<p>Referenced by <a class="el" href="xbee_8c_source.html#l00729">xbee_init()</a>.</p>
+
 </div>
-</div><p>
-<a class="anchor" name="g9334ac71dca1ddd697b1a35a361ade6a"></a><!-- doxytag: member="xbee.c::xbee_terminate" ref="g9334ac71dca1ddd697b1a35a361ade6a" args="(void)" -->
+</div>
+<a class="anchor" id="ga3fe446135ba896e6438a4fcd67154119"></a><!-- doxytag: member="xbee.c::xbee_terminate" ref="ga3fe446135ba896e6438a4fcd67154119" args="()" -->
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">void xbee_terminate           </td>
+          <td class="memname">int8_t xbee_terminate </td>
           <td>(</td>
-          <td class="paramname">          </td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
           <td>&nbsp;)&nbsp;</td>
           <td></td>
         </tr>
@@ -354,13 +648,18 @@
 </div>
 <div class="memdoc">
 
-<p>
-Call when finished using the XBee library. This releases all sued resources. 
+<p>Uninitialize the XBee library. </p>
+<p>Call when finished using the XBee library. </p>
+
+<p>References <a class="el" href="wl__defs_8h_source.html#l00081">WL_ERROR_TERMINATION_FAILED</a>, and <a class="el" href="wl__defs_8h_source.html#l00069">WL_SUCCESS</a>.</p>
+
+<p>Referenced by <a class="el" href="wireless_8c_source.html#l00087">wl_terminate()</a>.</p>
+
 </div>
-</div><p>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue Nov 24 12:45:55 2009 for Colony by&nbsp;
+</div>
+<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu May 6 13:17:00 2010 for libwireless by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
 </body>
 </html>
