<!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: Expansion boards</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  <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 Page</span></a></li> <li class="current"><a href="modules.html"><span>API 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="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Expansion boards</div> </div> </div><!--header--> <div class="contents"> <a name="details" id="details"></a><h2 class="groupheader">Description</h2> <p>This group of functions provides the ability to control and configure expansion boards such as the XB-100, XB-200, and XB-300.</p> <p>In general, one should call <a class="el" href="group___f_n___x_b.html#ga9fb4c2d62dcdc2f05b23098a35beacc5">bladerf_expansion_attach()</a> immediately after opening the device.</p> <p>Hotplug and expansion board removal is not supported. It is expected that the expansion boards are attached at power-on and remain attached until power is removed.</p> <p>These functions are thread-safe. </p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:gaf5376b7092ea9750302429c2613529e7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a> { <a class="el" href="group___f_n___x_b.html#ggaf5376b7092ea9750302429c2613529e7a0d24702c7fcfbf0cc29bb985c1ea07f7">BLADERF_XB_NONE</a> = 0, <a class="el" href="group___f_n___x_b.html#ggaf5376b7092ea9750302429c2613529e7a9c86694c80d2611cc5711a8db8eec737">BLADERF_XB_100</a>, <a class="el" href="group___f_n___x_b.html#ggaf5376b7092ea9750302429c2613529e7a08295c6fb1b14a9e38e9d28b8d49519e">BLADERF_XB_200</a>, <a class="el" href="group___f_n___x_b.html#ggaf5376b7092ea9750302429c2613529e7a91caa551ba9957688b7c10da2b89a0a8">BLADERF_XB_300</a> }</td></tr> <tr class="separator:gaf5376b7092ea9750302429c2613529e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac09757a833752dc85327739963be3103"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a> { <br />   <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103a3bc25be1c798b4c269880306a24810c7">BLADERF_XB200_50M</a> = 0, <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103a6ffaf9049b78b3304334388f446f981d">BLADERF_XB200_144M</a>, <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103a4d1f72ebcdb4da30c8b07ba6472d82ac">BLADERF_XB200_222M</a>, <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103ab1e8779f01f4b125dc25b7d881e38c0f">BLADERF_XB200_CUSTOM</a>, <br />   <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103afbf5ab6d2a8157d1a16e63266e418da7">BLADERF_XB200_AUTO_1DB</a>, <a class="el" href="group___f_n___x_b.html#ggac09757a833752dc85327739963be3103a9a32e4b51be43e3e84abcb2aef2c2190">BLADERF_XB200_AUTO_3DB</a> <br /> }</td></tr> <tr class="separator:gac09757a833752dc85327739963be3103"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga310a6253b9b58d79313dd775d619366a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a> { <a class="el" href="group___f_n___x_b.html#gga310a6253b9b58d79313dd775d619366aaa2f33275d3e4f04cc9414b9478752898">BLADERF_XB200_BYPASS</a> = 0, <a class="el" href="group___f_n___x_b.html#gga310a6253b9b58d79313dd775d619366aadd5f99f793d7f9be9f5eade3ddfbdb59">BLADERF_XB200_MIX</a> }</td></tr> <tr class="separator:ga310a6253b9b58d79313dd775d619366a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad6d4d5a669d2444dbfe81a5949502528"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a> { <a class="el" href="group___f_n___x_b.html#ggad6d4d5a669d2444dbfe81a5949502528a24e7f3212eca9bbd6d65039b3a54d33b">BLADERF_XB300_TRX_INVAL</a> = -1, <a class="el" href="group___f_n___x_b.html#ggad6d4d5a669d2444dbfe81a5949502528a5cd2ded553bbe729f804cffaf6587eee">BLADERF_XB300_TRX_TX</a> = 0, <a class="el" href="group___f_n___x_b.html#ggad6d4d5a669d2444dbfe81a5949502528a2aa1a5af45a88851911c4dda4e22a1aa">BLADERF_XB300_TRX_RX</a>, <a class="el" href="group___f_n___x_b.html#ggad6d4d5a669d2444dbfe81a5949502528a9ee9a59d8bcfcb273b3e1092bdf8028a">BLADERF_XB300_TRX_UNSET</a> }</td></tr> <tr class="separator:gad6d4d5a669d2444dbfe81a5949502528"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga47c13af159709851356a0dd1f7cbded6"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a> { <a class="el" href="group___f_n___x_b.html#gga47c13af159709851356a0dd1f7cbded6a695ba4bcafbed8b896220b29fe425207">BLADERF_XB300_AMP_INVAL</a> = -1, <a class="el" href="group___f_n___x_b.html#gga47c13af159709851356a0dd1f7cbded6a6d093439c43695d7e335c205ae5ab9f2">BLADERF_XB300_AMP_PA</a> = 0, <a class="el" href="group___f_n___x_b.html#gga47c13af159709851356a0dd1f7cbded6a450c04c9b94eb6f73528677ec61b2e37">BLADERF_XB300_AMP_LNA</a>, <a class="el" href="group___f_n___x_b.html#gga47c13af159709851356a0dd1f7cbded6ad348bfde9940ee597ee361f326180a3a">BLADERF_XB300_AMP_PA_AUX</a> }</td></tr> <tr class="separator:ga47c13af159709851356a0dd1f7cbded6"><td class="memSeparator" colspan="2"> </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:ga9fb4c2d62dcdc2f05b23098a35beacc5"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga9fb4c2d62dcdc2f05b23098a35beacc5">bladerf_expansion_attach</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a> xb)</td></tr> <tr class="separator:ga9fb4c2d62dcdc2f05b23098a35beacc5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac9d4f9e8727ab2ffe8925495bc895ada"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gac9d4f9e8727ab2ffe8925495bc895ada">bladerf_expansion_get_attached</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a> *xb)</td></tr> <tr class="separator:gac9d4f9e8727ab2ffe8925495bc895ada"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0a6c1acf444cf9702c5c22461ffd06f5"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga0a6c1acf444cf9702c5c22461ffd06f5">bladerf_xb200_set_filterbank</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> mod, <a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a> filter)</td></tr> <tr class="separator:ga0a6c1acf444cf9702c5c22461ffd06f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeebd7589a545314e85a8433994ac7f03"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gaeebd7589a545314e85a8433994ac7f03">bladerf_xb200_get_filterbank</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, <a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a> *filter)</td></tr> <tr class="separator:gaeebd7589a545314e85a8433994ac7f03"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga18d62a2bb78434b7fcd78ce6bc534357"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga18d62a2bb78434b7fcd78ce6bc534357">bladerf_xb200_set_path</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, <a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a> path)</td></tr> <tr class="separator:ga18d62a2bb78434b7fcd78ce6bc534357"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga07e50e3407d3b46eda9d7387c77a852b"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga07e50e3407d3b46eda9d7387c77a852b">bladerf_xb200_get_path</a> (struct bladerf *dev, <a class="el" href="group___f_n___m_o_d_u_l_e.html#gab12571146a3d4c5d79ac497a74b3fb5e">bladerf_module</a> module, <a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a> *path)</td></tr> <tr class="separator:ga07e50e3407d3b46eda9d7387c77a852b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0449727710f603810c64974408d42e9a"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga0449727710f603810c64974408d42e9a">bladerf_xb300_set_trx</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a> trx)</td></tr> <tr class="separator:ga0449727710f603810c64974408d42e9a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab2fb1bc2172073fa58ac9a852ffa1bb1"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gab2fb1bc2172073fa58ac9a852ffa1bb1">bladerf_xb300_get_trx</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a> *trx)</td></tr> <tr class="separator:gab2fb1bc2172073fa58ac9a852ffa1bb1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga99f8173e2f6196ec2e5023a293954226"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#ga99f8173e2f6196ec2e5023a293954226">bladerf_xb300_set_amplifier_enable</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a> amp, bool enable)</td></tr> <tr class="separator:ga99f8173e2f6196ec2e5023a293954226"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab937a142225b2ce01c2493297c14d2fd"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gab937a142225b2ce01c2493297c14d2fd">bladerf_xb300_get_amplifier_enable</a> (struct bladerf *dev, <a class="el" href="group___f_n___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a> amp, bool *enable)</td></tr> <tr class="separator:gab937a142225b2ce01c2493297c14d2fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaadf57e0e38c382eb235524ce519a19cd"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___f_n___x_b.html#gaadf57e0e38c382eb235524ce519a19cd">bladerf_xb300_get_output_power</a> (struct bladerf *dev, float *val)</td></tr> <tr class="separator:gaadf57e0e38c382eb235524ce519a19cd"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="gaf5376b7092ea9750302429c2613529e7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a></td> </tr> </table> </div><div class="memdoc"> <p>Expansion boards </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaf5376b7092ea9750302429c2613529e7a0d24702c7fcfbf0cc29bb985c1ea07f7"></a>BLADERF_XB_NONE </td><td class="fielddoc"> <p>No expansion boards attached </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggaf5376b7092ea9750302429c2613529e7a9c86694c80d2611cc5711a8db8eec737"></a>BLADERF_XB_100 </td><td class="fielddoc"> <p>XB-100 GPIO expansion board. This device is not yet supported in libbladeRF, and is here as a placeholder for future support. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggaf5376b7092ea9750302429c2613529e7a08295c6fb1b14a9e38e9d28b8d49519e"></a>BLADERF_XB_200 </td><td class="fielddoc"> <p>XB-200 Transverter board </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggaf5376b7092ea9750302429c2613529e7a91caa551ba9957688b7c10da2b89a0a8"></a>BLADERF_XB_300 </td><td class="fielddoc"> <p>XB-300 Amplifier board </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02028">2028</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <a class="anchor" id="gac09757a833752dc85327739963be3103"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a></td> </tr> </table> </div><div class="memdoc"> <p>XB-200 filter selection options </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103a3bc25be1c798b4c269880306a24810c7"></a>BLADERF_XB200_50M </td><td class="fielddoc"> <p>50-54 MHz (6 meter band) filterbank </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103a6ffaf9049b78b3304334388f446f981d"></a>BLADERF_XB200_144M </td><td class="fielddoc"> <p>144-148 MHz (2 meter band) filterbank </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103a4d1f72ebcdb4da30c8b07ba6472d82ac"></a>BLADERF_XB200_222M </td><td class="fielddoc"> <p>222-225 MHz (1.25 meter band) filterbank.</p> <p>Note that this filter option is technically wider, covering 206-235 MHz. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103ab1e8779f01f4b125dc25b7d881e38c0f"></a>BLADERF_XB200_CUSTOM </td><td class="fielddoc"> <p>This option enables the RX/TX module's custom filter bank path across the associated FILT and FILT-ANT SMA connectors on the XB-200 board.</p> <p>For reception, it is often possible to simply connect the RXFILT and RXFILT-ANT connectors with an SMA cable (effectively, "no filter"). This allows for reception of signals outside of the frequency range of the on-board filters, with some potential trade-off in signal quality.</p> <p>For transmission, <b>always</b> use an appropriate filter on the custom filter path to avoid spurious emissions. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103afbf5ab6d2a8157d1a16e63266e418da7"></a>BLADERF_XB200_AUTO_1DB </td><td class="fielddoc"> <p>When this option is selected, the other filter options are automatically selected depending on the RX or TX module's current frequency, based upon the 1dB points of the on-board filters. For frequencies outside the range of the on-board filters, the custom path is selected. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggac09757a833752dc85327739963be3103a9a32e4b51be43e3e84abcb2aef2c2190"></a>BLADERF_XB200_AUTO_3DB </td><td class="fielddoc"> <p>When this option is selected, the other filter options are automatically selected depending on the RX or TX module's current frequency, based upon the 3dB points of the on-board filters. For frequencies outside the range of the on-board filters, the custom path is selected. </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02041">2041</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <a class="anchor" id="ga310a6253b9b58d79313dd775d619366a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a></td> </tr> </table> </div><div class="memdoc"> <p>XB-200 signal paths </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga310a6253b9b58d79313dd775d619366aaa2f33275d3e4f04cc9414b9478752898"></a>BLADERF_XB200_BYPASS </td><td class="fielddoc"> <p>Bypass the XB-200 mixer </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga310a6253b9b58d79313dd775d619366aadd5f99f793d7f9be9f5eade3ddfbdb59"></a>BLADERF_XB200_MIX </td><td class="fielddoc"> <p>Pass signals through the XB-200 mixer </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02090">2090</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <a class="anchor" id="ga47c13af159709851356a0dd1f7cbded6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a></td> </tr> </table> </div><div class="memdoc"> <p>XB-300 Amplifier selection </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga47c13af159709851356a0dd1f7cbded6a695ba4bcafbed8b896220b29fe425207"></a>BLADERF_XB300_AMP_INVAL </td><td class="fielddoc"> <p>Invalid amplifier selection </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga47c13af159709851356a0dd1f7cbded6a6d093439c43695d7e335c205ae5ab9f2"></a>BLADERF_XB300_AMP_PA </td><td class="fielddoc"> <p>TX Power amplifier </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga47c13af159709851356a0dd1f7cbded6a450c04c9b94eb6f73528677ec61b2e37"></a>BLADERF_XB300_AMP_LNA </td><td class="fielddoc"> <p>RX LNA </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga47c13af159709851356a0dd1f7cbded6ad348bfde9940ee597ee361f326180a3a"></a>BLADERF_XB300_AMP_PA_AUX </td><td class="fielddoc"> <p>Auxillary Power amplifier </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02108">2108</a> of file <a class="el" href="libblade_r_f_8h_source.html">libbladeRF.h</a>.</p> </div> </div> <a class="anchor" id="gad6d4d5a669d2444dbfe81a5949502528"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group___f_n___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a></td> </tr> </table> </div><div class="memdoc"> <p>XB-300 TRX setting </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad6d4d5a669d2444dbfe81a5949502528a24e7f3212eca9bbd6d65039b3a54d33b"></a>BLADERF_XB300_TRX_INVAL </td><td class="fielddoc"> <p>Invalid TRX selection </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggad6d4d5a669d2444dbfe81a5949502528a5cd2ded553bbe729f804cffaf6587eee"></a>BLADERF_XB300_TRX_TX </td><td class="fielddoc"> <p>TRX antenna operates as TX </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggad6d4d5a669d2444dbfe81a5949502528a2aa1a5af45a88851911c4dda4e22a1aa"></a>BLADERF_XB300_TRX_RX </td><td class="fielddoc"> <p>TRX antenna operates as RX </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="ggad6d4d5a669d2444dbfe81a5949502528a9ee9a59d8bcfcb273b3e1092bdf8028a"></a>BLADERF_XB300_TRX_UNSET </td><td class="fielddoc"> <p>TRX antenna unset </p> </td></tr> </table> <p>Definition at line <a class="el" href="libblade_r_f_8h_source.html#l02098">2098</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="ga9fb4c2d62dcdc2f05b23098a35beacc5"></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_expansion_attach </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a> </td> <td class="paramname"><em>xb</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Attach and enable an expansion board's features</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">xb</td><td>Expansion board</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="gac9d4f9e8727ab2ffe8925495bc895ada"></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_expansion_get_attached </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#gaf5376b7092ea9750302429c2613529e7">bladerf_xb</a> * </td> <td class="paramname"><em>xb</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Determine which expansion board is attached</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">xb</td><td>Expansion board</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="gaeebd7589a545314e85a8433994ac7f03"></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_xb200_get_filterbank </td> <td>(</td> <td class="paramtype">struct bladerf * </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> </td> <td class="paramname"><em>module</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a> * </td> <td class="paramname"><em>filter</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get current XB-200 filterbank</p> <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">filter</td><td>Pointer to filterbank, only updated if return value is 0.</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="ga07e50e3407d3b46eda9d7387c77a852b"></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_xb200_get_path </td> <td>(</td> <td class="paramtype">struct bladerf * </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> </td> <td class="paramname"><em>module</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a> * </td> <td class="paramname"><em>path</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get current XB-200 signal path</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 query </td></tr> <tr><td class="paramname">path</td><td>Pointer to XB200 signal path</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="ga0a6c1acf444cf9702c5c22461ffd06f5"></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_xb200_set_filterbank </td> <td>(</td> <td class="paramtype">struct bladerf * </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> </td> <td class="paramname"><em>mod</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___f_n___x_b.html#gac09757a833752dc85327739963be3103">bladerf_xb200_filter</a> </td> <td class="paramname"><em>filter</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set XB-200 filterbank</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">mod</td><td>Module </td></tr> <tr><td class="paramname">filter</td><td>XB200 filterbank</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="ga18d62a2bb78434b7fcd78ce6bc534357"></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_xb200_set_path </td> <td>(</td> <td class="paramtype">struct bladerf * </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> </td> <td class="paramname"><em>module</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group___f_n___x_b.html#ga310a6253b9b58d79313dd775d619366a">bladerf_xb200_path</a> </td> <td class="paramname"><em>path</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set XB-200 signal path</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">path</td><td>Desired XB-200 signal path</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="gab937a142225b2ce01c2493297c14d2fd"></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_xb300_get_amplifier_enable </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a> </td> <td class="paramname"><em>amp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"><em>enable</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get state of selected XB-300 amplifier</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">amp</td><td>XB-300 amplifier </td></tr> <tr><td class="paramname">enable</td><td>Set true to enable or false to disable</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="gaadf57e0e38c382eb235524ce519a19cd"></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_xb300_get_output_power </td> <td>(</td> <td class="paramtype">struct bladerf * </td> <td class="paramname"><em>dev</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get current PA PDET output power in dBm</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">val</td><td>Output power in dBm</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="gab2fb1bc2172073fa58ac9a852ffa1bb1"></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_xb300_get_trx </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a> * </td> <td class="paramname"><em>trx</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get the current XB-300 signal path</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">trx</td><td>XB300 TRX antenna setting</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="ga99f8173e2f6196ec2e5023a293954226"></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_xb300_set_amplifier_enable </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#ga47c13af159709851356a0dd1f7cbded6">bladerf_xb300_amplifier</a> </td> <td class="paramname"><em>amp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>enable</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Enable or disable selected XB-300 amplifier</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">amp</td><td>XB-300 amplifier </td></tr> <tr><td class="paramname">enable</td><td>Set true to enable or false to disable</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="ga0449727710f603810c64974408d42e9a"></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_xb300_set_trx </td> <td>(</td> <td class="paramtype">struct bladerf * </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___x_b.html#gad6d4d5a669d2444dbfe81a5949502528">bladerf_xb300_trx</a> </td> <td class="paramname"><em>trx</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Configure the XB-300 TRX path</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">trx</td><td>Desired XB-300 TRX setting</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>0 on success, BLADERF_ERR_* 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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.11 </small></address> </body> </html>