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>
|