source: PlatformSupport/CustomPeripherals/pcores/radio_controller_v2_00_a/doc/html/api/group__user__functions.html

Last change on this file was 1784, checked in by murphpo, 12 years ago
  • Property svn:mime-type set to text/html
File size: 38.1 KB
Line 
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<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<title>radio_controller Driver: Functions</title>
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<script type="text/javascript" src="jquery.js"></script>
9<script type="text/javascript" src="dynsections.js"></script>
10<link href="navtree.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14  $(document).ready(initResizable);
15</script>
16<link href="warp_docs.css" rel="stylesheet" type="text/css" />
17</head>
18<body>
19<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20<div id="titlearea">
21<table cellspacing="0" cellpadding="0">
22 <tbody>
23 <tr style="height: 56px;">
24  <td style="padding-left: 0.5em;">
25   <div id="projectname">radio_controller Driver
26   </div>
27   <div id="projectbrief">Driver for WARP radio_controller (radio_controller_v3_00_b)</div>
28  </td>
29 </tr>
30 </tbody>
31</table>
32</div>
33<!-- end header part -->
34<!-- Generated by Doxygen 1.8.2 -->
35  <div id="navrow1" class="tabs">
36    <ul class="tablist">
37      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
38      <li><a href="modules.html"><span>Doc&#160;Sections</span></a></li>
39    </ul>
40  </div>
41</div><!-- top -->
42<div id="side-nav" class="ui-resizable side-nav-resizable">
43  <div id="nav-tree">
44    <div id="nav-tree-contents">
45      <div id="nav-sync" class="sync"></div>
46    </div>
47  </div>
48  <div id="splitbar" style="-moz-user-select:none;" 
49       class="ui-resizable-handle">
50  </div>
51</div>
52<script type="text/javascript">
53$(document).ready(function(){initNavTree('group__user__functions.html','');});
54</script>
55<div id="doc-content">
56<div class="header">
57  <div class="summary">
58<a href="#func-members">Functions</a>  </div>
59  <div class="headertitle">
60<div class="title">Functions</div>  </div>
61</div><!--header-->
62<div class="contents">
63<table class="memberdecls">
64<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
65Functions</h2></td></tr>
66<tr class="memitem:ga7f630d74cd6a0429670f8e52d932695e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga7f630d74cd6a0429670f8e52d932695e">radio_controller_init</a> (u32 ba, u32 rfSel, u8 clkDiv_SPI, u8 clkDiv_TxDelays)</td></tr>
67<tr class="separator:ga7f630d74cd6a0429670f8e52d932695e"><td class="memSeparator" colspan="2">&#160;</td></tr>
68<tr class="memitem:ga09fef68a4bac159f22db93ae63a3bffc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga09fef68a4bac159f22db93ae63a3bffc">radio_controller_TxEnable</a> (u32 ba, u32 rfSel)</td></tr>
69<tr class="separator:ga09fef68a4bac159f22db93ae63a3bffc"><td class="memSeparator" colspan="2">&#160;</td></tr>
70<tr class="memitem:gabfdd4d424019d1d01d320d4775919af0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gabfdd4d424019d1d01d320d4775919af0">radio_controller_RxEnable</a> (u32 ba, u32 rfSel)</td></tr>
71<tr class="separator:gabfdd4d424019d1d01d320d4775919af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
72<tr class="memitem:ga84e0b13e11c119edc842e35225023efb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga84e0b13e11c119edc842e35225023efb">radio_controller_TxRxDisable</a> (u32 ba, u32 rfSel)</td></tr>
73<tr class="separator:ga84e0b13e11c119edc842e35225023efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
74<tr class="memitem:ga4fcd903e883715146b1a904348689cbb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga4fcd903e883715146b1a904348689cbb">radio_controller_setCenterFrequency</a> (u32 ba, u32 rfSel, u8 bandSel, u8 chanNum)</td></tr>
75<tr class="separator:ga4fcd903e883715146b1a904348689cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
76<tr class="memitem:gabbb4c2e41e0dd781a3466e4363fb2118"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gabbb4c2e41e0dd781a3466e4363fb2118">radio_controller_SPI_read</a> (u32 ba, u32 rfSel, u8 regAddr)</td></tr>
77<tr class="separator:gabbb4c2e41e0dd781a3466e4363fb2118"><td class="memSeparator" colspan="2">&#160;</td></tr>
78<tr class="memitem:ga81dfe85a8d566b70b0ec9a40929fd9ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga81dfe85a8d566b70b0ec9a40929fd9ca">radio_controller_SPI_setRegBits</a> (u32 ba, u32 rfSel, u8 regAddr, u16 regDataMask, u16 regData)</td></tr>
79<tr class="separator:ga81dfe85a8d566b70b0ec9a40929fd9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
80<tr class="memitem:gaace2dae66e7300109541d3eb28f077ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gaace2dae66e7300109541d3eb28f077ca">radio_controller_setRxHP</a> (u32 ba, u32 rfSel, u8 mode)</td></tr>
81<tr class="separator:gaace2dae66e7300109541d3eb28f077ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
82<tr class="memitem:ga826345238feb347e50eea339bd2dac20"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga826345238feb347e50eea339bd2dac20">radio_controller_setCtrlSource</a> (u32 ba, u32 rfSel, u32 ctrlSrcMask, u8 ctrlSrc)</td></tr>
83<tr class="separator:ga826345238feb347e50eea339bd2dac20"><td class="memSeparator" colspan="2">&#160;</td></tr>
84<tr class="memitem:ga9d27c1ea105095d9c115e1f1e57e0c4d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga9d27c1ea105095d9c115e1f1e57e0c4d">radio_controller_setTxGainTarget</a> (u32 ba, u32 rfSel, u8 gainTarget)</td></tr>
85<tr class="separator:ga9d27c1ea105095d9c115e1f1e57e0c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
86<tr class="memitem:ga186796933726ec0cf28f2c41582c1dfa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga186796933726ec0cf28f2c41582c1dfa">radio_controller_setTxGainSource</a> (u32 ba, u32 rfSel, u8 gainSrc)</td></tr>
87<tr class="separator:ga186796933726ec0cf28f2c41582c1dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
88<tr class="memitem:gaef674408611a8f17a48585572d0c8ca5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gaef674408611a8f17a48585572d0c8ca5">radio_controller_setRxGainSource</a> (u32 ba, u32 rfSel, u8 gainSrc)</td></tr>
89<tr class="separator:gaef674408611a8f17a48585572d0c8ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
90<tr class="memitem:ga944ffa6c7f0a935871da169aee312132"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga944ffa6c7f0a935871da169aee312132">radio_controller_setRadioParam</a> (u32 ba, u32 rfSel, u32 paramID, u32 paramVal)</td></tr>
91<tr class="separator:ga944ffa6c7f0a935871da169aee312132"><td class="memSeparator" colspan="2">&#160;</td></tr>
92<tr class="memitem:gabd1e63692ebf0c98798a4d4e88b7ac70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#gabd1e63692ebf0c98798a4d4e88b7ac70">radio_controller_apply_TxDCO_calibration</a> (u32 ad_ba, u32 iic_ba, u32 rfSel)</td></tr>
93<tr class="separator:gabd1e63692ebf0c98798a4d4e88b7ac70"><td class="memSeparator" colspan="2">&#160;</td></tr>
94<tr class="memitem:ga436734a82d0b20840976a277c009f412"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__user__functions.html#ga436734a82d0b20840976a277c009f412">rc_usleep</a> (int d)</td></tr>
95<tr class="separator:ga436734a82d0b20840976a277c009f412"><td class="memSeparator" colspan="2">&#160;</td></tr>
96</table>
97<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
98<p>Example: </p>
99<div class="fragment"><div class="line"><span class="comment">//Assumes user code sets RC_BASEADDR to base address of radio_controller core, as set in xparameters.h</span></div>
100<div class="line"></div>
101<div class="line"><span class="comment">//Initialize the radio controller logic</span></div>
102<div class="line"><a class="code" href="group__user__functions.html#ga7f630d74cd6a0429670f8e52d932695e" title="Initializes the radio controller core and the selected MAX2829 transceivers. The selected transceiver...">radio_controller_init</a>(RC_CONTROLLER, 1, 1);</div>
103</div><!-- fragment --> <h2 class="groupheader">Function Documentation</h2>
104<a class="anchor" id="ga7f630d74cd6a0429670f8e52d932695e"></a>
105<div class="memitem">
106<div class="memproto">
107      <table class="memname">
108        <tr>
109          <td class="memname">int radio_controller_init </td>
110          <td>(</td>
111          <td class="paramtype">u32&#160;</td>
112          <td class="paramname"><em>ba</em>, </td>
113        </tr>
114        <tr>
115          <td class="paramkey"></td>
116          <td></td>
117          <td class="paramtype">u32&#160;</td>
118          <td class="paramname"><em>rfSel</em>, </td>
119        </tr>
120        <tr>
121          <td class="paramkey"></td>
122          <td></td>
123          <td class="paramtype">u8&#160;</td>
124          <td class="paramname"><em>clkDiv_SPI</em>, </td>
125        </tr>
126        <tr>
127          <td class="paramkey"></td>
128          <td></td>
129          <td class="paramtype">u8&#160;</td>
130          <td class="paramname"><em>clkDiv_TxDelays</em>&#160;</td>
131        </tr>
132        <tr>
133          <td></td>
134          <td>)</td>
135          <td></td><td></td>
136        </tr>
137      </table>
138</div><div class="memdoc">
139
140<p>Initializes the radio controller core and the selected MAX2829 transceivers. The selected transceivers are reset, configured with sane defaults and set to the Standby state. User code should call this function once at boot for all RF interfaces. </p>
141<dl class="params"><dt>Parameters</dt><dd>
142  <table class="params">
143    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
144    <tr><td class="paramname">rfSel</td><td>Selects RF interface to initialize (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
145    <tr><td class="paramname">clkDiv_SPI</td><td>Clock divider for SPI serial clock (set to 3 for 160MHz bus) </td></tr>
146    <tr><td class="paramname">clkDiv_TxDelays</td><td>Clock divider for Tx sequencing state machine (set to 1 for normal operation) </td></tr>
147  </table>
148  </dd>
149</dl>
150<dl class="section return"><dt>Returns</dt><dd>Returns -1 if any MAX2829 indicates no PLL lock after init; otherwise returns 0 </dd></dl>
151
152</div>
153</div>
154<a class="anchor" id="ga09fef68a4bac159f22db93ae63a3bffc"></a>
155<div class="memitem">
156<div class="memproto">
157      <table class="memname">
158        <tr>
159          <td class="memname">int radio_controller_TxEnable </td>
160          <td>(</td>
161          <td class="paramtype">u32&#160;</td>
162          <td class="paramname"><em>ba</em>, </td>
163        </tr>
164        <tr>
165          <td class="paramkey"></td>
166          <td></td>
167          <td class="paramtype">u32&#160;</td>
168          <td class="paramname"><em>rfSel</em>&#160;</td>
169        </tr>
170        <tr>
171          <td></td>
172          <td>)</td>
173          <td></td><td></td>
174        </tr>
175      </table>
176</div><div class="memdoc">
177
178<p>Sets the selected RF interfaces to the Transmit state. The corresponding MAX2829s, PAs and RF switches are all set to the correct state for transmission. This call initiates the Tx sequencing state machine. Refer to the <a href="http://warp.rice.edu/trac/wiki/cores/radio_controller">radio_controller user guide</a> for more details. </p>
179<dl class="params"><dt>Parameters</dt><dd>
180  <table class="params">
181    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
182    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
183  </table>
184  </dd>
185</dl>
186<dl class="section return"><dt>Returns</dt><dd>Returns non-zero value if an input parameter was invalid; else returns 0 </dd></dl>
187
188</div>
189</div>
190<a class="anchor" id="gabfdd4d424019d1d01d320d4775919af0"></a>
191<div class="memitem">
192<div class="memproto">
193      <table class="memname">
194        <tr>
195          <td class="memname">int radio_controller_RxEnable </td>
196          <td>(</td>
197          <td class="paramtype">u32&#160;</td>
198          <td class="paramname"><em>ba</em>, </td>
199        </tr>
200        <tr>
201          <td class="paramkey"></td>
202          <td></td>
203          <td class="paramtype">u32&#160;</td>
204          <td class="paramname"><em>rfSel</em>&#160;</td>
205        </tr>
206        <tr>
207          <td></td>
208          <td>)</td>
209          <td></td><td></td>
210        </tr>
211      </table>
212</div><div class="memdoc">
213
214<p>Sets the selected RF interfaces to the Receive state. The corresponding MAX2829s and RF switches are set to the correct state for reception. The PAs in the selected RF interfaces are disabled. </p>
215<dl class="params"><dt>Parameters</dt><dd>
216  <table class="params">
217    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
218    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
219  </table>
220  </dd>
221</dl>
222<dl class="section return"><dt>Returns</dt><dd>Returns non-zero value if an input parameter was invalid; else returns 0 </dd></dl>
223
224</div>
225</div>
226<a class="anchor" id="ga84e0b13e11c119edc842e35225023efb"></a>
227<div class="memitem">
228<div class="memproto">
229      <table class="memname">
230        <tr>
231          <td class="memname">int radio_controller_TxRxDisable </td>
232          <td>(</td>
233          <td class="paramtype">u32&#160;</td>
234          <td class="paramname"><em>ba</em>, </td>
235        </tr>
236        <tr>
237          <td class="paramkey"></td>
238          <td></td>
239          <td class="paramtype">u32&#160;</td>
240          <td class="paramname"><em>rfSel</em>&#160;</td>
241        </tr>
242        <tr>
243          <td></td>
244          <td>)</td>
245          <td></td><td></td>
246        </tr>
247      </table>
248</div><div class="memdoc">
249
250<p>Sets the selected RF interfaces to the Standby state (Tx and Rx disabled). The corresponding MAX2829s and PAs are set to the correct state for standby. </p>
251<dl class="params"><dt>Parameters</dt><dd>
252  <table class="params">
253    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
254    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
255  </table>
256  </dd>
257</dl>
258<dl class="section return"><dt>Returns</dt><dd>Returns non-zero value if an input parameter was invalid; else returns 0 </dd></dl>
259
260</div>
261</div>
262<a class="anchor" id="ga4fcd903e883715146b1a904348689cbb"></a>
263<div class="memitem">
264<div class="memproto">
265      <table class="memname">
266        <tr>
267          <td class="memname">int radio_controller_setCenterFrequency </td>
268          <td>(</td>
269          <td class="paramtype">u32&#160;</td>
270          <td class="paramname"><em>ba</em>, </td>
271        </tr>
272        <tr>
273          <td class="paramkey"></td>
274          <td></td>
275          <td class="paramtype">u32&#160;</td>
276          <td class="paramname"><em>rfSel</em>, </td>
277        </tr>
278        <tr>
279          <td class="paramkey"></td>
280          <td></td>
281          <td class="paramtype">u8&#160;</td>
282          <td class="paramname"><em>bandSel</em>, </td>
283        </tr>
284        <tr>
285          <td class="paramkey"></td>
286          <td></td>
287          <td class="paramtype">u8&#160;</td>
288          <td class="paramname"><em>chanNum</em>&#160;</td>
289        </tr>
290        <tr>
291          <td></td>
292          <td>)</td>
293          <td></td><td></td>
294        </tr>
295      </table>
296</div><div class="memdoc">
297
298<p>Sets the selected RF interfaces to the Standby state (Tx and Rx disabled). The corresponding MAX2829s and PAs are set to the correct state for standby. </p>
299<dl class="params"><dt>Parameters</dt><dd>
300  <table class="params">
301    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
302    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
303    <tr><td class="paramname">bandSel</td><td>Selects the 2.4GHz or 5GHz band; must be RC_24GHZ or RC_5GHZ </td></tr>
304    <tr><td class="paramname">chanNum</td><td>New center frequency channel number, in [1,14] for 2.4GHz or [1,23] for 5GHz. The channel numbers and corresponding center frequencies are listed in the table below. </td></tr>
305  </table>
306  </dd>
307</dl>
308<dl class="section return"><dt>Returns</dt><dd>Returns non-zero value if an input parameter was invalid; else returns 0</dd></dl>
309<table class="doxtable">
310<tr>
311<th>2.4GHz <br/>
312 Chan </th><th>Freq <br/>
313 (MHz) </th><th></th><th>5GHz <br/>
314 Chan </th><th>Freq <br/>
315 (MHz)</th></tr>
316<tr>
317<td>1 </td><td>2412 </td><td></td><td>1 </td><td>5180 </td></tr>
318<tr>
319<td>2 </td><td>2417 </td><td></td><td>2 </td><td>5200 </td></tr>
320<tr>
321<td>3 </td><td>2422 </td><td></td><td>3 </td><td>5220 </td></tr>
322<tr>
323<td>4 </td><td>2427 </td><td></td><td>4 </td><td>5240 </td></tr>
324<tr>
325<td>5 </td><td>2432 </td><td></td><td>5 </td><td>5260 </td></tr>
326<tr>
327<td>6 </td><td>2437 </td><td></td><td>6 </td><td>5280 </td></tr>
328<tr>
329<td>7 </td><td>2442 </td><td></td><td>7 </td><td>5300 </td></tr>
330<tr>
331<td>8 </td><td>2447 </td><td></td><td>8 </td><td>5320 </td></tr>
332<tr>
333<td>9 </td><td>2452 </td><td></td><td>9 </td><td>5500 </td></tr>
334<tr>
335<td>10 </td><td>2457 </td><td></td><td>10 </td><td>5520 </td></tr>
336<tr>
337<td>11 </td><td>2462 </td><td></td><td>11 </td><td>5540 </td></tr>
338<tr>
339<td>12 </td><td>2467 </td><td></td><td>12 </td><td>5560 </td></tr>
340<tr>
341<td>13 </td><td>2472 </td><td></td><td>13 </td><td>5580 </td></tr>
342<tr>
343<td>14 </td><td>2484 </td><td></td><td>14 </td><td>5600 </td></tr>
344<tr>
345<td>- </td><td>- </td><td></td><td>15 </td><td>5620 </td></tr>
346<tr>
347<td>- </td><td>- </td><td></td><td>16 </td><td>5640 </td></tr>
348<tr>
349<td>- </td><td>- </td><td></td><td>17 </td><td>5660 </td></tr>
350<tr>
351<td>- </td><td>- </td><td></td><td>18 </td><td>5680 </td></tr>
352<tr>
353<td>- </td><td>- </td><td></td><td>19 </td><td>5700 </td></tr>
354<tr>
355<td>- </td><td>- </td><td></td><td>20 </td><td>5745 </td></tr>
356<tr>
357<td>- </td><td>- </td><td></td><td>21 </td><td>5765 </td></tr>
358<tr>
359<td>- </td><td>- </td><td></td><td>22 </td><td>5785 </td></tr>
360<tr>
361<td>- </td><td>- </td><td></td><td>23 </td><td>5805 </td></tr>
362</table>
363
364</div>
365</div>
366<a class="anchor" id="gabbb4c2e41e0dd781a3466e4363fb2118"></a>
367<div class="memitem">
368<div class="memproto">
369      <table class="memname">
370        <tr>
371          <td class="memname">u16 radio_controller_SPI_read </td>
372          <td>(</td>
373          <td class="paramtype">u32&#160;</td>
374          <td class="paramname"><em>ba</em>, </td>
375        </tr>
376        <tr>
377          <td class="paramkey"></td>
378          <td></td>
379          <td class="paramtype">u32&#160;</td>
380          <td class="paramname"><em>rfSel</em>, </td>
381        </tr>
382        <tr>
383          <td class="paramkey"></td>
384          <td></td>
385          <td class="paramtype">u8&#160;</td>
386          <td class="paramname"><em>regAddr</em>&#160;</td>
387        </tr>
388        <tr>
389          <td></td>
390          <td>)</td>
391          <td></td><td></td>
392        </tr>
393      </table>
394</div><div class="memdoc">
395
396<p>Reads the radio controller "mirror" register corresponding to the MAX2829 register at regAddr. </p>
397<dl class="params"><dt>Parameters</dt><dd>
398  <table class="params">
399    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
400    <tr><td class="paramname">rfSel</td><td>Selects RF interface to read (must be one of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
401    <tr><td class="paramname">regAddr</td><td>Register address to read, in [0x0,0xC] </td></tr>
402  </table>
403  </dd>
404</dl>
405<dl class="section return"><dt>Returns</dt><dd>Returns 255 if input parameters are invalid; otherwise returns 14-bit register value </dd></dl>
406
407</div>
408</div>
409<a class="anchor" id="ga81dfe85a8d566b70b0ec9a40929fd9ca"></a>
410<div class="memitem">
411<div class="memproto">
412      <table class="memname">
413        <tr>
414          <td class="memname">int radio_controller_SPI_setRegBits </td>
415          <td>(</td>
416          <td class="paramtype">u32&#160;</td>
417          <td class="paramname"><em>ba</em>, </td>
418        </tr>
419        <tr>
420          <td class="paramkey"></td>
421          <td></td>
422          <td class="paramtype">u32&#160;</td>
423          <td class="paramname"><em>rfSel</em>, </td>
424        </tr>
425        <tr>
426          <td class="paramkey"></td>
427          <td></td>
428          <td class="paramtype">u8&#160;</td>
429          <td class="paramname"><em>regAddr</em>, </td>
430        </tr>
431        <tr>
432          <td class="paramkey"></td>
433          <td></td>
434          <td class="paramtype">u16&#160;</td>
435          <td class="paramname"><em>regDataMask</em>, </td>
436        </tr>
437        <tr>
438          <td class="paramkey"></td>
439          <td></td>
440          <td class="paramtype">u16&#160;</td>
441          <td class="paramname"><em>regData</em>&#160;</td>
442        </tr>
443        <tr>
444          <td></td>
445          <td>)</td>
446          <td></td><td></td>
447        </tr>
448      </table>
449</div><div class="memdoc">
450
451<p>Sets specific bits in a single register in selected MAX2829s. </p>
452<dl class="params"><dt>Parameters</dt><dd>
453  <table class="params">
454    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
455    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
456    <tr><td class="paramname">regAddr</td><td>Register address to write, in [0x0,0xC] </td></tr>
457    <tr><td class="paramname">regDataMask</td><td>14-bit mask of bits to affect (1 in mask selects bit for writing) </td></tr>
458    <tr><td class="paramname">regData</td><td>14-bit value to set; only bits with 1 in regDataMask are used </td></tr>
459  </table>
460  </dd>
461</dl>
462<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
463
464</div>
465</div>
466<a class="anchor" id="gaace2dae66e7300109541d3eb28f077ca"></a>
467<div class="memitem">
468<div class="memproto">
469      <table class="memname">
470        <tr>
471          <td class="memname">int radio_controller_setRxHP </td>
472          <td>(</td>
473          <td class="paramtype">u32&#160;</td>
474          <td class="paramname"><em>ba</em>, </td>
475        </tr>
476        <tr>
477          <td class="paramkey"></td>
478          <td></td>
479          <td class="paramtype">u32&#160;</td>
480          <td class="paramname"><em>rfSel</em>, </td>
481        </tr>
482        <tr>
483          <td class="paramkey"></td>
484          <td></td>
485          <td class="paramtype">u8&#160;</td>
486          <td class="paramname"><em>mode</em>&#160;</td>
487        </tr>
488        <tr>
489          <td></td>
490          <td>)</td>
491          <td></td><td></td>
492        </tr>
493      </table>
494</div><div class="memdoc">
495
496<p>Sets state of RXHP pin on selected MAX2829s. This function only affects state if the RXHP control source is set to software on the selected RF interfaces. </p>
497<dl class="params"><dt>Parameters</dt><dd>
498  <table class="params">
499    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
500    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
501    <tr><td class="paramname">mode</td><td>RXHP is asserted if mode=RC_RXHP_ON, else RXHP is deasserted </td></tr>
502  </table>
503  </dd>
504</dl>
505<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
506
507</div>
508</div>
509<a class="anchor" id="ga826345238feb347e50eea339bd2dac20"></a>
510<div class="memitem">
511<div class="memproto">
512      <table class="memname">
513        <tr>
514          <td class="memname">int radio_controller_setCtrlSource </td>
515          <td>(</td>
516          <td class="paramtype">u32&#160;</td>
517          <td class="paramname"><em>ba</em>, </td>
518        </tr>
519        <tr>
520          <td class="paramkey"></td>
521          <td></td>
522          <td class="paramtype">u32&#160;</td>
523          <td class="paramname"><em>rfSel</em>, </td>
524        </tr>
525        <tr>
526          <td class="paramkey"></td>
527          <td></td>
528          <td class="paramtype">u32&#160;</td>
529          <td class="paramname"><em>ctrlSrcMask</em>, </td>
530        </tr>
531        <tr>
532          <td class="paramkey"></td>
533          <td></td>
534          <td class="paramtype">u8&#160;</td>
535          <td class="paramname"><em>ctrlSrc</em>&#160;</td>
536        </tr>
537        <tr>
538          <td></td>
539          <td>)</td>
540          <td></td><td></td>
541        </tr>
542      </table>
543</div><div class="memdoc">
544
545<p>Selects between register or hardware control for the various radio control signals on the selected RF interfaces. </p>
546<dl class="params"><dt>Parameters</dt><dd>
547  <table class="params">
548    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
549    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
550    <tr><td class="paramname">ctrlSrcMask</td><td>Specifies which control signals should have new control source; OR'd combination of [RC_REG0_TXEN_CTRLSRC, RC_REG0_RXEN_CTRLSRC, RC_REG0_RXHP_CTRLSRC, RC_REG0_SHDN_CTRLSRC] </td></tr>
551    <tr><td class="paramname">ctrlSrc</td><td>Selects register (from C code) or hardware (usr_ ports) control; must be RC_CTRLSRC_REG or RC_CTRLSRC_HW </td></tr>
552  </table>
553  </dd>
554</dl>
555<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
556
557</div>
558</div>
559<a class="anchor" id="ga9d27c1ea105095d9c115e1f1e57e0c4d"></a>
560<div class="memitem">
561<div class="memproto">
562      <table class="memname">
563        <tr>
564          <td class="memname">int radio_controller_setTxGainTarget </td>
565          <td>(</td>
566          <td class="paramtype">u32&#160;</td>
567          <td class="paramname"><em>ba</em>, </td>
568        </tr>
569        <tr>
570          <td class="paramkey"></td>
571          <td></td>
572          <td class="paramtype">u32&#160;</td>
573          <td class="paramname"><em>rfSel</em>, </td>
574        </tr>
575        <tr>
576          <td class="paramkey"></td>
577          <td></td>
578          <td class="paramtype">u8&#160;</td>
579          <td class="paramname"><em>gainTarget</em>&#160;</td>
580        </tr>
581        <tr>
582          <td></td>
583          <td>)</td>
584          <td></td><td></td>
585        </tr>
586      </table>
587</div><div class="memdoc">
588
589<p>Sets the final Tx VGA gain set by the Tx sequencing state machine for the selected RF interfaces. </p>
590<dl class="params"><dt>Parameters</dt><dd>
591  <table class="params">
592    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
593    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
594    <tr><td class="paramname">gainTarget</td><td>Tx VGA gain setting, in [0,63] </td></tr>
595  </table>
596  </dd>
597</dl>
598<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
599
600</div>
601</div>
602<a class="anchor" id="ga186796933726ec0cf28f2c41582c1dfa"></a>
603<div class="memitem">
604<div class="memproto">
605      <table class="memname">
606        <tr>
607          <td class="memname">int radio_controller_setTxGainSource </td>
608          <td>(</td>
609          <td class="paramtype">u32&#160;</td>
610          <td class="paramname"><em>ba</em>, </td>
611        </tr>
612        <tr>
613          <td class="paramkey"></td>
614          <td></td>
615          <td class="paramtype">u32&#160;</td>
616          <td class="paramname"><em>rfSel</em>, </td>
617        </tr>
618        <tr>
619          <td class="paramkey"></td>
620          <td></td>
621          <td class="paramtype">u8&#160;</td>
622          <td class="paramname"><em>gainSrc</em>&#160;</td>
623        </tr>
624        <tr>
625          <td></td>
626          <td>)</td>
627          <td></td><td></td>
628        </tr>
629      </table>
630</div><div class="memdoc">
631
632<p>Sets the control source for Tx gains in the selected RF interfaces. </p>
633<dl class="params"><dt>Parameters</dt><dd>
634  <table class="params">
635    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
636    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
637    <tr><td class="paramname">gainSrc</td><td>must be one of [RC_GAINSRC_SPI, RC_GAINSRC_REG, RC_GAINSRC_HW], for SPI control, register control or hardware (usr_RFx_TxGain port) control </td></tr>
638  </table>
639  </dd>
640</dl>
641<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
642
643</div>
644</div>
645<a class="anchor" id="gaef674408611a8f17a48585572d0c8ca5"></a>
646<div class="memitem">
647<div class="memproto">
648      <table class="memname">
649        <tr>
650          <td class="memname">int radio_controller_setRxGainSource </td>
651          <td>(</td>
652          <td class="paramtype">u32&#160;</td>
653          <td class="paramname"><em>ba</em>, </td>
654        </tr>
655        <tr>
656          <td class="paramkey"></td>
657          <td></td>
658          <td class="paramtype">u32&#160;</td>
659          <td class="paramname"><em>rfSel</em>, </td>
660        </tr>
661        <tr>
662          <td class="paramkey"></td>
663          <td></td>
664          <td class="paramtype">u8&#160;</td>
665          <td class="paramname"><em>gainSrc</em>&#160;</td>
666        </tr>
667        <tr>
668          <td></td>
669          <td>)</td>
670          <td></td><td></td>
671        </tr>
672      </table>
673</div><div class="memdoc">
674
675<p>Sets the control source for Rx gains in the selected RF interfaces. Note that when hardware control is selected, the corresponding RXHP should also be set for hardware control using <a class="el" href="group__user__functions.html#ga826345238feb347e50eea339bd2dac20" title="Selects between register or hardware control for the various radio control signals on the selected RF...">radio_controller_setCtrlSource()</a>. </p>
676<dl class="params"><dt>Parameters</dt><dd>
677  <table class="params">
678    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
679    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
680    <tr><td class="paramname">gainSrc</td><td>must be one of [RC_GAINSRC_SPI, RC_GAINSRC_REG, RC_GAINSRC_HW], for SPI control, register control or hardware (usr_RFx_TxGain port) control </td></tr>
681  </table>
682  </dd>
683</dl>
684<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0 </dd></dl>
685
686</div>
687</div>
688<a class="anchor" id="ga944ffa6c7f0a935871da169aee312132"></a>
689<div class="memitem">
690<div class="memproto">
691      <table class="memname">
692        <tr>
693          <td class="memname">int radio_controller_setRadioParam </td>
694          <td>(</td>
695          <td class="paramtype">u32&#160;</td>
696          <td class="paramname"><em>ba</em>, </td>
697        </tr>
698        <tr>
699          <td class="paramkey"></td>
700          <td></td>
701          <td class="paramtype">u32&#160;</td>
702          <td class="paramname"><em>rfSel</em>, </td>
703        </tr>
704        <tr>
705          <td class="paramkey"></td>
706          <td></td>
707          <td class="paramtype">u32&#160;</td>
708          <td class="paramname"><em>paramID</em>, </td>
709        </tr>
710        <tr>
711          <td class="paramkey"></td>
712          <td></td>
713          <td class="paramtype">u32&#160;</td>
714          <td class="paramname"><em>paramVal</em>&#160;</td>
715        </tr>
716        <tr>
717          <td></td>
718          <td>)</td>
719          <td></td><td></td>
720        </tr>
721      </table>
722</div><div class="memdoc">
723
724<p>Sets a MAX2829 parameter via a SPI register write. </p>
725<dl class="params"><dt>Parameters</dt><dd>
726  <table class="params">
727    <tr><td class="paramname">ba</td><td>Base memory address of radio_controller pcore </td></tr>
728    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
729    <tr><td class="paramname">paramID</td><td>Parameter ID to update. Must be valid RC_PARAMID_* (see table below) </td></tr>
730    <tr><td class="paramname">paramVal</td><td>Parameter value to set. Valid values depend on the selected parameter (see table below) </td></tr>
731  </table>
732  </dd>
733</dl>
734<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if input parameters are invalid; otherwise returns 0</dd></dl>
735<table class="doxtable">
736<tr>
737<th>Parameter ID </th><th>Description </th><th>Parameter Values</th></tr>
738<tr>
739<td>RC_PARAMID_RXGAIN_RF </td><td>Rx RF gain value </td><td>1: 0dB<br/>
7402: 15dB<br/>
7413: 30dB </td></tr>
742<tr>
743<td>RC_PARAMID_RXGAIN_BB </td><td>Rx baseband gain value </td><td>[0,31]: approx [0,63]dB </td></tr>
744<tr>
745<td>RC_PARAMID_TXGAIN_RF </td><td>Tx RF gain value </td><td>[0,63]: approx [0,31]dB </td></tr>
746<tr>
747<td>RC_PARAMID_TXGAIN_BB </td><td>Tx baseband gain value </td><td>0: 0<br/>
7481: -1.5dB<br/>
7492: -3dB<br/>
7503: -5dB </td></tr>
751<tr>
752<td>RC_PARAMID_TXLPF_BW </td><td>Tx low pass filter corner frequency<br/>
753 (Tx bandwidth is 2x corner frequency) </td><td>1: 12MHz<br/>
7542: 18MHz<br/>
7553: 24MHz </td></tr>
756<tr>
757<td>RC_PARAMID_RXLPF_BW </td><td>Rx low pass filter corner frequency<br/>
758 (Rx bandwidth is 2x corner frequency) </td><td>0: 7.5MHz<br/>
7591: 9.5MHz<br/>
7602: 14MHz<br/>
7613: 18MHz </td></tr>
762<tr>
763<td>RC_PARAMID_RXLPF_BW_FINE </td><td>Rx low pass filter corner fine adjustment </td><td>0: 90%<br/>
7641: 95%<br/>
7652: 100%<br/>
7663: 105%<br/>
7674: 110% </td></tr>
768<tr>
769<td>RC_PARAMID_RXHPF_HIGH_CUTOFF_EN </td><td>Set corner frequency for Rx high pass filter when RXHP=0</td><td>0: Low corner (100Hz)<br/>
7701: High corner (30kHz) </td></tr>
771<tr>
772<td>RC_PARAMID_RSSI_HIGH_BW_EN </td><td>En/disable high bandwidth RSSI signal </td><td>0: Disable high bandwidth RSSI<br/>
7731: Enable high bandwidth RSSI </td></tr>
774<tr>
775<td>RC_PARAMID_TXLINEARITY_PADRIVER </td><td>Linearity of Tx PA driver circuit </td><td>[0,3]: [min,max] linearity </td></tr>
776<tr>
777<td>RC_PARAMID_TXLINEARITY_VGA </td><td>Linearity of Tx VGA circuit </td><td>[0,3]: [min,max] linearity </td></tr>
778<tr>
779<td>RC_PARAMID_TXLINEARITY_UPCONV </td><td>Linearity of Tx upconverter circuit </td><td>[0,3]: [min,max] linearity </td></tr>
780<tr>
781<td>RC_PARAMID_TXGAINS_SPI_CTRL_EN </td><td>En/disable SPI control of Tx gains </td><td>0: Disable SPI control<br/>
7821: Enable SPI control </td></tr>
783<tr>
784<td>RC_PARAMID_RXGAINS_SPI_CTRL_EN </td><td>En/disable SPI control of Rx gains </td><td>0: Disable SPI control<br/>
7851: Enable SPI control </td></tr>
786</table>
787
788</div>
789</div>
790<a class="anchor" id="gabd1e63692ebf0c98798a4d4e88b7ac70"></a>
791<div class="memitem">
792<div class="memproto">
793      <table class="memname">
794        <tr>
795          <td class="memname">int radio_controller_apply_TxDCO_calibration </td>
796          <td>(</td>
797          <td class="paramtype">u32&#160;</td>
798          <td class="paramname"><em>ad_ba</em>, </td>
799        </tr>
800        <tr>
801          <td class="paramkey"></td>
802          <td></td>
803          <td class="paramtype">u32&#160;</td>
804          <td class="paramname"><em>iic_ba</em>, </td>
805        </tr>
806        <tr>
807          <td class="paramkey"></td>
808          <td></td>
809          <td class="paramtype">u32&#160;</td>
810          <td class="paramname"><em>rfSel</em>&#160;</td>
811        </tr>
812        <tr>
813          <td></td>
814          <td>)</td>
815          <td></td><td></td>
816        </tr>
817      </table>
818</div><div class="memdoc">
819
820<p>Reads the TxDCO calibration values from the EEPROM and writes the values to the DACs of the selected RF interface. This function requires the w3_iic_eeprom and w3_ad_controller cores. </p>
821<dl class="params"><dt>Parameters</dt><dd>
822  <table class="params">
823    <tr><td class="paramname">ad_ba</td><td>Base memory address of w3_ad_controller core </td></tr>
824    <tr><td class="paramname">iic_ba</td><td>Base memory address of w3_iic_eeprom core </td></tr>
825    <tr><td class="paramname">rfSel</td><td>Selects RF interfaces to affect (OR'd combination of [RC_RFA, RC_RFB, RC_RFC, RC_RFD]) </td></tr>
826  </table>
827  </dd>
828</dl>
829<dl class="section return"><dt>Returns</dt><dd>Returns non-zero if w3_ad_controller or w3_iic_eeprom core is not found; otherwise returns 0 </dd></dl>
830
831</div>
832</div>
833<a class="anchor" id="ga436734a82d0b20840976a277c009f412"></a>
834<div class="memitem">
835<div class="memproto">
836      <table class="memname">
837        <tr>
838          <td class="memname">void rc_usleep </td>
839          <td>(</td>
840          <td class="paramtype">int&#160;</td>
841          <td class="paramname"><em>d</em></td><td>)</td>
842          <td></td>
843        </tr>
844      </table>
845</div><div class="memdoc">
846
847<p>Simple pseudo-usleep implementation (since MicroBlaze lacks internal timer for native usleep implementation). The actual sleep time is not guaranteed to be d microseconds. </p>
848<dl class="params"><dt>Parameters</dt><dd>
849  <table class="params">
850    <tr><td class="paramname">d</td><td>Number of "microseconds" to sleep (proportional to sleep time; actual sleep time will depend on processor and instruction memory clocks) </td></tr>
851  </table>
852  </dd>
853</dl>
854
855</div>
856</div>
857</div><!-- contents -->
858</div><!-- doc-content -->
859<!-- start footer part -->
860<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
861  <ul>
862    <li class="footer">Generated on Sun Aug 12 2012 22:05:49 for radio_controller Driver by doxygen v1.8.2</li>
863  </ul>
864</div>
865</body>
866</html>
Note: See TracBrowser for help on using the repository browser.