Revision 737
Updated wireless documentation.
wireless_8h-source.html | ||
---|---|---|
16 | 16 |
<h1>wireless.h</h1><a href="wireless_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 |
17 | 17 |
<a name="l00035"></a>00035 <span class="preprocessor">#ifndef WIRELESS_H</span> |
18 | 18 |
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#define WIRELESS_H</span> |
19 |
<a name="l00037"></a>00037 <span class="preprocessor"></span>
|
|
19 |
<a name="l00037"></a>00037 <span class="preprocessor"></span> |
|
20 | 20 |
<a name="l00038"></a>00038 <span class="comment">//Note: If this is raised above 16, we will need to do</span> |
21 | 21 |
<a name="l00039"></a>00039 <span class="comment">//something about frame numbers for TX Status packets.</span> |
22 |
<a name="l00043"></a><a class="code" href="wireless_8h.html#f083cc95511287866eeb4337fdc75eeb">00043</a> <span class="comment"></span><span class="preprocessor">#define WL_MAX_PACKET_GROUPS 16</span> |
|
23 |
<a name="l00044"></a>00044 <span class="preprocessor"></span> |
|
24 |
<a name="l00075"></a><a class="code" href="structPacketGroupHandler.html">00075</a> <span class="keyword">typedef</span> <span class="keyword">struct</span> |
|
25 |
<a name="l00076"></a>00076 { |
|
26 |
<a name="l00082"></a><a class="code" href="structPacketGroupHandler.html#f0849c643f1b1e257ccfe96110109950">00082</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> groupCode; |
|
27 |
<a name="l00083"></a>00083 |
|
28 |
<a name="l00088"></a>00088 void (*timeout_handler) (void); |
|
29 |
<a name="l00089"></a>00089 |
|
30 |
<a name="l00099"></a>00099 void (*handle_response) (<span class="keywordtype">int</span> frame, <span class="keywordtype">int</span> received); |
|
31 |
<a name="l00100"></a>00100 |
|
32 |
<a name="l00110"></a>00110 void (*handle_receive) (<span class="keywordtype">char</span> type, <span class="keywordtype">int</span> source, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* packet, |
|
33 |
<a name="l00111"></a>00111 <span class="keywordtype">int</span> length); |
|
34 |
<a name="l00112"></a>00112 |
|
35 |
<a name="l00116"></a>00116 void (*unregister) (void); |
|
36 |
<a name="l00117"></a>00117 |
|
37 |
<a name="l00118"></a>00118 } <a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>; |
|
38 |
<a name="l00119"></a>00119 |
|
39 |
<a name="l00121"></a>00121 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g629ceefdf83847af356d90e2df27041c" title="Initialize the wireless library.">wl_init</a>(<span class="keywordtype">void</span>); |
|
40 |
<a name="l00123"></a>00123 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g66075ff87a1c9f2c0d7938a26c7830f2" title="Uninitialize the wireless library.">wl_terminate</a>(<span class="keywordtype">void</span>); |
|
41 |
<a name="l00125"></a>00125 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g5c1f1a0e20fc718e59edc29246afd703" title="Perform wireless library functionality.">wl_do</a>(<span class="keywordtype">void</span>); |
|
42 |
<a name="l00127"></a>00127 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g183343ed0594ec1c2b79bb4085d57107" title="Register a packet group with the wireless library.">wl_register_packet_group</a>(<a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>* h); |
|
43 |
<a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#gcdbedf6465798abc7af3bf5fea3d4dd7" title="Unregister a packet group with the wireless library.">wl_unregister_packet_group</a>(<a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>* h); |
|
44 |
<a name="l00130"></a>00130 |
|
45 |
<a name="l00132"></a>00132 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#ga7175b13dbfc0b11b341fbe0ad7c637c" title="Send a packet to a specific robot in any PAN.">wl_send_robot_to_robot_global_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, |
|
46 |
<a name="l00133"></a>00133 <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">int</span> dest, <span class="keywordtype">char</span> frame); |
|
47 |
<a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#gafaca74445d215cef2b2e0ae1a1c72ba" title="Send a packet to a specific robot in our PAN.">wl_send_robot_to_robot_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, |
|
48 |
<a name="l00136"></a>00136 <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">int</span> dest, <span class="keywordtype">char</span> frame); |
|
49 |
<a name="l00138"></a>00138 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#gdd534c99c49d5207fe09f02af304c1ad" title="Send a packet to all robots.">wl_send_global_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, |
|
50 |
<a name="l00139"></a>00139 <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">char</span> frame); |
|
51 |
<a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g0a1a0e4d885f0e0dde87160a16daa0aa" title="Send a packet to all robots in our PAN.">wl_send_pan_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, |
|
52 |
<a name="l00142"></a>00142 <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">char</span> frame); |
|
53 |
<a name="l00143"></a>00143 |
|
54 |
<a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g211ccf907dce4493813573e20264e542" title="Set the PAN we are using.">wl_set_pan</a>(<span class="keywordtype">int</span> pan); |
|
55 |
<a name="l00147"></a>00147 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g4e6b5c97d40a8e7557a1b4b90a7d34f7" title="Get the PAN we are using.">wl_get_pan</a>(<span class="keywordtype">void</span>); |
|
56 |
<a name="l00149"></a>00149 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g9aac809e57c9eb93a2905ed544c93aba" title="Set the channel we are using.">wl_set_channel</a>(<span class="keywordtype">int</span> channel); |
|
57 |
<a name="l00151"></a>00151 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g2d65d3e35b193da4213755c4bf61ab6b" title="Get the channel we are using.">wl_get_channel</a>(<span class="keywordtype">void</span>); |
|
58 |
<a name="l00153"></a>00153 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g90cb41c855ac3da028e8f1278bd49f4f" title="Get the 16-bit address of the XBee module.">wl_get_xbee_id</a>(<span class="keywordtype">void</span>); |
|
59 |
<a name="l00155"></a>00155 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g344dead0023100eb40f8670a92c9ce5c" title="Set the com port on a computer, undefined on the robot.">wl_set_com_port</a>(<span class="keywordtype">char</span>* port); |
|
60 |
<a name="l00156"></a>00156 <span class="comment">// end defgroup</span> |
|
61 |
<a name="l00158"></a>00158 |
|
62 |
<a name="l00159"></a>00159 <span class="preprocessor">#endif</span> |
|
63 |
<a name="l00160"></a>00160 <span class="preprocessor"></span> |
|
64 |
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Nov 8 23:27:22 2007 for libwireless by |
|
22 |
<a name="l00043"></a>00043 <span class="comment"></span><span class="comment">//TODO: a PacketGroupHandler is at least 10 bytes (I don't know if function pointers are 2 bytes</span> |
|
23 |
<a name="l00044"></a>00044 <span class="comment">// or 4 bytes). That means that in the c file, your array of packet groups is at least 160 bytes.</span> |
|
24 |
<a name="l00045"></a>00045 <span class="comment">// Normally that might be fine (the robot's avr chips have 4k SRAM), but austin's chip only has</span> |
|
25 |
<a name="l00046"></a>00046 <span class="comment">// 1k SRAM, so if this number can be reduced or if the size of the struct could be reduced, that would be a plus.</span> |
|
26 |
<a name="l00047"></a><a class="code" href="wireless_8h.html#f083cc95511287866eeb4337fdc75eeb">00047</a> <span class="preprocessor">#define WL_MAX_PACKET_GROUPS 16</span> |
|
27 |
<a name="l00048"></a>00048 <span class="preprocessor"></span> |
|
28 |
<a name="l00079"></a>00079 <span class="comment">//TODO: the order of member variables in this struct should be changed in case the compile packs the struct</span> |
|
29 |
<a name="l00080"></a>00080 <span class="comment">// In order to achieve the best packing, the variables should be listed in order of decreasing memory size.</span> |
|
30 |
<a name="l00081"></a>00081 <span class="comment">// Thus, pointers should be first, followed by int, followed by char.</span> |
|
31 |
<a name="l00082"></a><a class="code" href="structPacketGroupHandler.html">00082</a> <span class="keyword">typedef</span> <span class="keyword">struct</span> |
|
32 |
<a name="l00083"></a>00083 { |
|
33 |
<a name="l00089"></a>00089 <span class="comment">//TODO: if this number must be less than or equal to WL_MAX_PACKET_GROUPS, don't you only need</span> |
|
34 |
<a name="l00090"></a>00090 <span class="comment">// one byte for it and it can be made an unsigned char?</span> |
|
35 |
<a name="l00091"></a><a class="code" href="structPacketGroupHandler.html#f0849c643f1b1e257ccfe96110109950">00091</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> groupCode; |
|
36 |
<a name="l00092"></a>00092 |
|
37 |
<a name="l00097"></a>00097 void (*timeout_handler) (void); |
|
38 |
<a name="l00098"></a>00098 |
|
39 |
<a name="l00108"></a>00108 void (*handle_response) (<span class="keywordtype">int</span> frame, <span class="keywordtype">int</span> received); |
|
40 |
<a name="l00109"></a>00109 |
|
41 |
<a name="l00119"></a>00119 void (*handle_receive) (<span class="keywordtype">char</span> type, <span class="keywordtype">int</span> source, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* packet, <span class="keywordtype">int</span> length); |
|
42 |
<a name="l00120"></a>00120 |
|
43 |
<a name="l00124"></a>00124 void (*unregister) (void); |
|
44 |
<a name="l00125"></a>00125 |
|
45 |
<a name="l00126"></a>00126 } <a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>; |
|
46 |
<a name="l00127"></a>00127 |
|
47 |
<a name="l00129"></a>00129 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#gedd4562415e273ce6537f9c1a0f2701b" title="Initialize the wireless library.">wl_init</a>(<span class="keywordtype">void</span>); |
|
48 |
<a name="l00131"></a>00131 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g66075ff87a1c9f2c0d7938a26c7830f2" title="Uninitialize the wireless library.">wl_terminate</a>(<span class="keywordtype">void</span>); |
|
49 |
<a name="l00133"></a>00133 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g5c1f1a0e20fc718e59edc29246afd703" title="Perform wireless library functionality.">wl_do</a>(<span class="keywordtype">void</span>); |
|
50 |
<a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g183343ed0594ec1c2b79bb4085d57107" title="Register a packet group with the wireless library.">wl_register_packet_group</a>(<a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>* h); |
|
51 |
<a name="l00137"></a>00137 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#gcdbedf6465798abc7af3bf5fea3d4dd7" title="Unregister a packet group with the wireless library.">wl_unregister_packet_group</a>(<a class="code" href="structPacketGroupHandler.html">PacketGroupHandler</a>* h); |
|
52 |
<a name="l00138"></a>00138 |
|
53 |
<a name="l00140"></a>00140 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g6e841a6ef0504538d8650a0a2f5fa869" title="Send a packet to a specific robot in any PAN.">wl_send_robot_to_robot_global_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">int</span> dest, <span class="keywordtype">char</span> frame); |
|
54 |
<a name="l00142"></a>00142 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#gf8fbadf62eeb754b98b200328fb7a8be" title="Send a packet to a specific robot in our PAN.">wl_send_robot_to_robot_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">int</span> dest, <span class="keywordtype">char</span> frame); |
|
55 |
<a name="l00144"></a>00144 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#gda6b187ea58cee5aec18725bf7f24b9a" title="Send a packet to all robots.">wl_send_global_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">char</span> frame); |
|
56 |
<a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g0a1a0e4d885f0e0dde87160a16daa0aa" title="Send a packet to all robots in our PAN.">wl_send_pan_packet</a>(<span class="keywordtype">char</span> group, <span class="keywordtype">char</span> type, <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> len, <span class="keywordtype">char</span> frame); |
|
57 |
<a name="l00147"></a>00147 |
|
58 |
<a name="l00149"></a>00149 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g754445d2353a70963a489651cff554c1" title="Set the PAN we are using.">wl_set_pan</a>(<span class="keywordtype">int</span> pan); |
|
59 |
<a name="l00151"></a>00151 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g4e6b5c97d40a8e7557a1b4b90a7d34f7" title="Get the PAN we are using.">wl_get_pan</a>(<span class="keywordtype">void</span>); |
|
60 |
<a name="l00153"></a>00153 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g51d3fe958d44fd92f0e0830ced13139d" title="Set the channel we are using.">wl_set_channel</a>(<span class="keywordtype">int</span> channel); |
|
61 |
<a name="l00155"></a>00155 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g2d65d3e35b193da4213755c4bf61ab6b" title="Get the channel we are using.">wl_get_channel</a>(<span class="keywordtype">void</span>); |
|
62 |
<a name="l00157"></a>00157 <span class="keywordtype">int</span> <a class="code" href="group__wireless.html#g6c75a84ff5f9a2bdc156aba522d2adf7" title="Get the 16-bit address of the XBee module.">wl_get_xbee_id</a>(<span class="keywordtype">void</span>); |
|
63 |
<a name="l00159"></a>00159 <span class="keywordtype">void</span> <a class="code" href="group__wireless.html#g344dead0023100eb40f8670a92c9ce5c" title="Set the com port on a computer, undefined on the robot.">wl_set_com_port</a>(<span class="keywordtype">char</span>* port); |
|
64 |
<a name="l00160"></a>00160 <span class="comment">// end defgroup</span> |
|
65 |
<a name="l00162"></a>00162 |
|
66 |
<a name="l00163"></a>00163 <span class="preprocessor">#endif</span> |
|
67 |
<a name="l00164"></a>00164 <span class="preprocessor"></span> |
|
68 |
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Mon Apr 28 17:49:53 2008 for libwireless by |
|
65 | 69 |
<a href="http://www.doxygen.org/index.html"> |
66 | 70 |
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.3 </small></address> |
67 | 71 |
</body> |
Also available in: Unified diff