Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 2bcfde21a73ffa0573b5ca7b311a2f76 > files > 52

bladerf-doc-2018.12-0.rc3.1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>libbladeRF: Frequency tuning</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libbladeRF
   &#160;<span id="projectnumber">1.7.2</span>
   </div>
   <div id="projectbrief">Nuand bladeRF library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="modules.html"><span>API&#160;Sections</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Frequency tuning</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<p>These functions provide the ability to tune the RX and TX modules.</p>
<p>See <a href="tuning.html" class="el">this page</a> for more detailed information about how the API performs this tuning, and for example code snippets.</p>
<p>These functions are thread-safe. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbladerf__quick__tune.html">bladerf_quick_tune</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga8b8763af3cf5857790f9833d56920a55"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga8b8763af3cf5857790f9833d56920a55">BLADERF_FREQUENCY_MIN_XB200</a>&#160;&#160;&#160;0u</td></tr>
<tr class="separator:ga8b8763af3cf5857790f9833d56920a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa46ed8570608321efdf796eb6a7cf44"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#gaaa46ed8570608321efdf796eb6a7cf44">BLADERF_FREQUENCY_MIN</a>&#160;&#160;&#160;237500000u</td></tr>
<tr class="separator:gaaa46ed8570608321efdf796eb6a7cf44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga660038deb6716e096672ef59355c9f3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga660038deb6716e096672ef59355c9f3e">BLADERF_FREQUENCY_MAX</a>&#160;&#160;&#160;3800000000u</td></tr>
<tr class="separator:ga660038deb6716e096672ef59355c9f3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga427413a564b18acdf6958e3717199d71"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga427413a564b18acdf6958e3717199d71">BLADERF_RETUNE_NOW</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ga427413a564b18acdf6958e3717199d71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga1052a36566cb6dc311242981c9ab4c47"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga1052a36566cb6dc311242981c9ab4c47">bladerf_tuning_mode</a> { <a class="el" href="group___f_n___t_u_n_i_n_g.html#gga1052a36566cb6dc311242981c9ab4c47a627c35784cefd1b1392e300c07d5d411">BLADERF_TUNING_MODE_INVALID</a> = -1, 
<a class="el" href="group___f_n___t_u_n_i_n_g.html#gga1052a36566cb6dc311242981c9ab4c47afb5144afdbc8e304a2992bba407abdac">BLADERF_TUNING_MODE_HOST</a>, 
<a class="el" href="group___f_n___t_u_n_i_n_g.html#gga1052a36566cb6dc311242981c9ab4c47a33a3048b606d675c49a1b61ea686924b">BLADERF_TUNING_MODE_FPGA</a>
 }</td></tr>
<tr class="separator:ga1052a36566cb6dc311242981c9ab4c47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab9ce992c9de0378f65beda4c8ab94d90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#gab9ce992c9de0378f65beda4c8ab94d90">bladerf_select_band</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, unsigned int frequency)</td></tr>
<tr class="separator:gab9ce992c9de0378f65beda4c8ab94d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga466bda3044a773832c7679253cf38976"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga466bda3044a773832c7679253cf38976">bladerf_set_frequency</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, unsigned int frequency)</td></tr>
<tr class="separator:ga466bda3044a773832c7679253cf38976"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga268b47eb4aed73a8da7a4a65c35cc082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga268b47eb4aed73a8da7a4a65c35cc082">bladerf_schedule_retune</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, uint64_t timestamp, unsigned int frequency, struct <a class="el" href="structbladerf__quick__tune.html">bladerf_quick_tune</a> *quick_tune)</td></tr>
<tr class="separator:ga268b47eb4aed73a8da7a4a65c35cc082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7158b8fc37f0ca1858b09f7b44413b44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga7158b8fc37f0ca1858b09f7b44413b44">bladerf_cancel_scheduled_retunes</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module)</td></tr>
<tr class="separator:ga7158b8fc37f0ca1858b09f7b44413b44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5de40335f5594a6e92af51698c74486b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga5de40335f5594a6e92af51698c74486b">bladerf_get_frequency</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, unsigned int *frequency)</td></tr>
<tr class="separator:ga5de40335f5594a6e92af51698c74486b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe81ca087e0d50863548b8ec83869527"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#gabe81ca087e0d50863548b8ec83869527">bladerf_get_quick_tune</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, struct <a class="el" href="structbladerf__quick__tune.html">bladerf_quick_tune</a> *quick_tune)</td></tr>
<tr class="separator:gabe81ca087e0d50863548b8ec83869527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fcddbdffebc03da8f96781b0b6d096b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga0fcddbdffebc03da8f96781b0b6d096b">bladerf_set_tuning_mode</a> (struct bladerf *dev, <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga1052a36566cb6dc311242981c9ab4c47">bladerf_tuning_mode</a> mode)</td></tr>
<tr class="separator:ga0fcddbdffebc03da8f96781b0b6d096b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga660038deb6716e096672ef59355c9f3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BLADERF_FREQUENCY_MAX&#160;&#160;&#160;3800000000u</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Maximum tunable frequency, in Hz </p>

<p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l01053">1053</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaaa46ed8570608321efdf796eb6a7cf44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BLADERF_FREQUENCY_MIN&#160;&#160;&#160;237500000u</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Minimum tunable frequency (without an XB-200 attached), in Hz </p>

<p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l01050">1050</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga8b8763af3cf5857790f9833d56920a55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BLADERF_FREQUENCY_MIN_XB200&#160;&#160;&#160;0u</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Minimum tunable frequency (with an XB-200 attached), in HZ.</p>
<p>While this value is the lowest permitted, note that the components on the XB-200 are only rated down to 50 MHz. Be aware that performance will likely degrade as you tune to lower frequencies. </p>

<p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l01047">1047</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga427413a564b18acdf6958e3717199d71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BLADERF_RETUNE_NOW&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Specifies that scheduled retune should occur immediately when using <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga268b47eb4aed73a8da7a4a65c35cc082">bladerf_schedule_retune()</a>. </p>

<p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l01059">1059</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga1052a36566cb6dc311242981c9ab4c47"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga1052a36566cb6dc311242981c9ab4c47">bladerf_tuning_mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Frequency tuning modes</p>
<p>BLADERF_TUNING_MODE_HOST is the default if either of the following conditions are true:</p><ul>
<li>libbladeRF &lt; v1.3.0</li>
<li>FPGA &lt; v0.2.0</li>
</ul>
<p>BLADERF_TUNING_MODE_FPGA is the default if both of the following conditions are true:</p><ul>
<li>libbladeRF &gt;= v1.3.0</li>
<li>FPGA &gt;= v0.2.0</li>
</ul>
<p>The default mode can be overridden by setting a BLADERF_DEFAULT_TUNING_MODE environment variable to "host" or "fpga". Overriding this value with a mode not supported by the FPGA will result in failures or unexpected behavior. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga1052a36566cb6dc311242981c9ab4c47a627c35784cefd1b1392e300c07d5d411"></a>BLADERF_TUNING_MODE_INVALID&#160;</td><td class="fielddoc">
<p>Indicates an invalid mode is set </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga1052a36566cb6dc311242981c9ab4c47afb5144afdbc8e304a2992bba407abdac"></a>BLADERF_TUNING_MODE_HOST&#160;</td><td class="fielddoc">
<p>Perform tuning algorithm on the host. This is slower, but provides easier accessiblity to diagnostic information. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga1052a36566cb6dc311242981c9ab4c47a33a3048b606d675c49a1b61ea686924b"></a>BLADERF_TUNING_MODE_FPGA&#160;</td><td class="fielddoc">
<p>Perform tuning algorithm on the FPGA for faster tuning. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l01078">1078</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga7158b8fc37f0ca1858b09f7b44413b44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_cancel_scheduled_retunes </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Cancel all pending scheduled retune operations for the specified module.</p>
<p>This will be done automatically during <a class="el" href="group___f_n___i_n_i_t.html#ga78676b94de9a8aae49d72a9ef2f0e4d9">bladerf_close()</a> to ensure that previously queued retunes do not continue to occur after closing and then later re-opening a device.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramname">module</td><td>Module to cancel pending operations on</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5de40335f5594a6e92af51698c74486b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_get_frequency </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>frequency</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get module's current frequency in Hz</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramname">module</td><td>Module to configure </td></tr>
    <tr><td class="paramname">frequency</td><td>Pointer to the returned frequency</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl>

</div>
</div>
<a class="anchor" id="gabe81ca087e0d50863548b8ec83869527"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_get_quick_tune </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structbladerf__quick__tune.html">bladerf_quick_tune</a> *&#160;</td>
          <td class="paramname"><em>quick_tune</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Fetch parameters used to tune the transceiver to the current frequency for use with <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga268b47eb4aed73a8da7a4a65c35cc082">bladerf_schedule_retune()</a> to perform a "quick retune."</p>
<p>This allows for a faster retune, with a potential trade off of increased phase noise. Note that these parameters are sensitive to changes in the operating environment, and should be "refreshed" if planning to use the "quick retune" functionality over a long period of time.</p>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga466bda3044a773832c7679253cf38976">bladerf_set_frequency()</a> or <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga268b47eb4aed73a8da7a4a65c35cc082">bladerf_schedule_retune()</a> have previously been used to retune to the desired frequency.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">module</td><td>Module to query </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">quick_tune</td><td>Quick retune parameters</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga268b47eb4aed73a8da7a4a65c35cc082"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_schedule_retune </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>timestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>frequency</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structbladerf__quick__tune.html">bladerf_quick_tune</a> *&#160;</td>
          <td class="paramname"><em>quick_tune</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Schedule a frequency retune to occur at specified sample timestamp value.</p>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group___f_n___d_a_t_a___s_y_n_c.html#gacde68e74a8f7d27100b071634b2e65c5">bladerf_sync_config()</a> must have been called with the BLADERF_FORMAT_SC16_Q11_META format for the associated module in order to enable timestamps. (The timestamped metadata format must be enabled in order to use this function.)</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle</td></tr>
    <tr><td class="paramname">module</td><td>Module to retune</td></tr>
    <tr><td class="paramname">timestamp</td><td>Module's sample timestamp to perform the retune operation. If this value is in the past, the retune will occur immediately. To perform the retune immediately, specify BLADERF_RETUNE_NOW.</td></tr>
    <tr><td class="paramname">frequency</td><td>Desired frequency, in Hz.</td></tr>
    <tr><td class="paramname">quick_tune</td><td>If NULL, the <code>frequency</code> parameter will be used. If non-NULL, the provided "quick retune" values will be applied to the transceiver to tune it according to a previous state retrieved via <a class="el" href="group___f_n___t_u_n_i_n_g.html#gabe81ca087e0d50863548b8ec83869527">bladerf_get_quick_tune()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure. If the underlying queue of scheduled retune requests becomes full, BLADERF_ERR_QUEUE_FULL will be returned. In this case, it should be possible to schedule a retune after the timestamp of one of the earlier requests occurs. </dd></dl>

</div>
</div>
<a class="anchor" id="gab9ce992c9de0378f65beda4c8ab94d90"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_select_band </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>frequency</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Select the appropriate band path given a frequency in Hz.</p>
<p>Most API users will not need to use this function, as <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga466bda3044a773832c7679253cf38976">bladerf_set_frequency()</a> calls this internally after tuning the device.</p>
<p>The high band (LNA2 and PA2) is used for <code>frequency</code> &gt;= 1.5 GHz. Otherwise, The low band (LNA1 and PA1) is used.</p>
<p>Frequency values outside the range of [ <a class="el" href="group___f_n___t_u_n_i_n_g.html#gaaa46ed8570608321efdf796eb6a7cf44">BLADERF_FREQUENCY_MIN</a>, <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga660038deb6716e096672ef59355c9f3e">BLADERF_FREQUENCY_MAX</a> ] will be clamped.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramname">module</td><td>Module to configure </td></tr>
    <tr><td class="paramname">frequency</td><td>Tuned frequency</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga466bda3044a773832c7679253cf38976"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_set_frequency </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a>&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>frequency</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set module's frequency in Hz.</p>
<p>Values outside the range of [ <a class="el" href="group___f_n___t_u_n_i_n_g.html#gaaa46ed8570608321efdf796eb6a7cf44">BLADERF_FREQUENCY_MIN</a>, <a class="el" href="group___f_n___t_u_n_i_n_g.html#ga660038deb6716e096672ef59355c9f3e">BLADERF_FREQUENCY_MAX</a> ] will be clamped.</p>
<p>For best results, it is recommended to keep the RX and TX frequencies at least 1 MHz apart, and to digitally mix on the RX side if reception closer to the TX frequency is required.</p>
<p>This calls <a class="el" href="group___f_n___t_u_n_i_n_g.html#gab9ce992c9de0378f65beda4c8ab94d90">bladerf_select_band()</a> internally.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramname">module</td><td>Module to configure </td></tr>
    <tr><td class="paramname">frequency</td><td>Desired frequency</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga0fcddbdffebc03da8f96781b0b6d096b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="libblade_r_f_8h.html#a5e3652cae8b48c1ad174f0b06bbd06d0">API_EXPORT</a> int <a class="el" href="libblade_r_f_8h.html#a66285a1fe575693f5f275b212891222e">CALL_CONV</a> bladerf_set_tuning_mode </td>
          <td>(</td>
          <td class="paramtype">struct bladerf *&#160;</td>
          <td class="paramname"><em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___f_n___t_u_n_i_n_g.html#ga1052a36566cb6dc311242981c9ab4c47">bladerf_tuning_mode</a>&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the device's tuning mode</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dev</td><td>Device handle </td></tr>
    <tr><td class="paramname">mode</td><td>Desired tuning mode. Note that the available modes depends on the FPGA version.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, value from <a class="el" href="group___r_e_t_c_o_d_e_s.html">Error codes</a> list on failure </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jun 29 2016 16:51:01 for libbladeRF by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>