Skip to content

Commit

Permalink
deploy: 590936d
Browse files Browse the repository at this point in the history
  • Loading branch information
SaikiranGudla committed Oct 4, 2024
1 parent 3ab32c8 commit 05fe0f5
Show file tree
Hide file tree
Showing 47 changed files with 747 additions and 625 deletions.
1 change: 1 addition & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ The following have device-specific implementations in MATLAB and Simulink. In ge
"AD4030-24", "Zedboard", "Yes", "No", "ADI (2021b)"
"AD4630-16", "Zedboard", "Yes", "No", "ADI (2021b)"
"AD4630-24", "Zedboard", "Yes", "No", "ADI (2021b)"
"ADAQ4224", "Zedboard", "Yes", "No", "ADI (2021b)"
"AD4858", "Zedboard", "Yes", "No", "ADI (2021b)"
"AD2S1210", "Zedboard", "Yes", "No", "ADI (2021b)"
"AD4000", "Zedboard", "Yes", "No", "ADI (2021b)"
Expand Down
2 changes: 1 addition & 1 deletion _static/app.umd.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion _static/app.umd.js.map

Large diffs are not rendered by default.

61 changes: 28 additions & 33 deletions _static/esd-warning.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion _static/style.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion _static/style.min.css.map

Large diffs are not rendered by default.

35 changes: 19 additions & 16 deletions common/data_streaming.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,18 @@

<title>Data Streaming &#8212; Precision Toolbox documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=8e8a900e" />
<link rel="stylesheet" type="text/css" href="../_static/style.min.css?v=a3ba2641" />
<link rel="stylesheet" type="text/css" href="../_static/style.min.css?v=765fa3cc" />
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script defer="" src="../_static/app.umd.js?v=7b10be7e"></script>
<script defer="" src="../_static/app.umd.js?v=c93eadd1"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Examples" href="examples.html" />
<link rel="prev" title="Installation" href="installation.html" />


<meta name="robots" content="noindex">

<meta name="global_root" content="../../">
<meta name="repo" content="PrecisionToolbox">


Expand Down Expand Up @@ -77,14 +76,16 @@

<div class="repotoc-tree overlay">
<root>
<a href="../../documentation/eval/index.html">Evaluation Boards</a>
<a href="../../documentation/university/index.html">University Program</a>
<a href="../../documentation/index.html">System Level</a>
<a href="../../hdl/index.html">HDL</a>
<a href="../../no-OS/index.html">no-OS</a>
<a href="../../testbenches/index.html">HDL Testbenches</a>
<a href="../../pyadi-iio/index.html">Hardware Python Interfaces</a>
<a href="../../libiio/index.html">libiio</a>
<a href="../../no-OS/index.html">no-OS</a>
<a href="../../precision-converters-firmware/index.html">Precision Converters Firmware</a>
<a href="../../doctools/index.html">Doctools</a>
<a href="../index.html" class="current">Precision Toolbox</a>
<a href="../../scopy/index.html">Scopy</a>
<a href="../../doctools/index.html">Doctools</a>
</root>

</div>
Expand Down Expand Up @@ -122,14 +123,16 @@
</label>
<div class="repotoc-tree">
<root>
<a href="../../documentation/eval/index.html">Evaluation Boards</a>
<a href="../../documentation/university/index.html">University Program</a>
<a href="../../documentation/index.html">System Level</a>
<a href="../../hdl/index.html">HDL</a>
<a href="../../no-OS/index.html">no-OS</a>
<a href="../../testbenches/index.html">HDL Testbenches</a>
<a href="../../pyadi-iio/index.html">Hardware Python Interfaces</a>
<a href="../../libiio/index.html">libiio</a>
<a href="../../no-OS/index.html">no-OS</a>
<a href="../../precision-converters-firmware/index.html">Precision Converters Firmware</a>
<a href="../../doctools/index.html">Doctools</a>
<a href="../index.html" class="current">Precision Toolbox</a>
<a href="../../scopy/index.html">Scopy</a>
<a href="../../doctools/index.html">Doctools</a>
</root>

</div>
Expand Down Expand Up @@ -190,7 +193,7 @@
<div class="body" role="main">

<section id="data-streaming">
<h1>Data Streaming<a class="headerlink" href="#data-streaming" title="Link to this heading"></a></h1>
<h1>Data Streaming<a class="headerlink" href="#data-streaming" title="Link to this heading">#</a></h1>
<p>Remote data streaming to and from hardware is made available through <a class="reference external" href="https://www.mathworks.com/help/matlab/matlab_prog/what-are-system-objects.html">system object interfaces</a> , which are unique for each component or platform. The hardware interfacing system objects provide a since class to both configure a given platform and move data back and forth from the device.</p>
<p>Command and control of hardware from MATLAB is accomplished by leveraging the <a class="reference external" href="https://wiki.analog.com/software/linux/docs/iio/iio">IIO drivers</a> built into the target platform’s kernel and <a class="reference external" href="https://wiki.analog.com/resources/tools-software/linux-software/libiio">libiio</a> which provides remote backends to control drivers across different backends. Backends can be Ethernet/IP/USB based. Below is a diagram of the different components in the stack for a setup targeting the evaluation of the AD7380, but the setup will be nearly similar for other ADCs as well.</p>
<blockquote>
Expand All @@ -199,7 +202,7 @@ <h1>Data Streaming<a class="headerlink" href="#data-streaming" title="Link to th
</div></blockquote>
<p>Since libiio is cross-platform it can be used from Windows, Linux, or macOS based systems. It is also a lower level library independent of MATLAB, so when moving toward production or untethered systems similar APIs that are used in MATLAB can be used in C, C++, Python, or other languages.</p>
<section id="connecting-and-configuration">
<h2>Connecting and Configuration<a class="headerlink" href="#connecting-and-configuration" title="Link to this heading"></a></h2>
<h2>Connecting and Configuration<a class="headerlink" href="#connecting-and-configuration" title="Link to this heading">#</a></h2>
<p>Connecting to hardware is done by setting the <strong>uri</strong> property of the system object interface. The <strong>uri</strong> for libiio always has the convention “<em>&lt; backend &gt;:&lt; address &gt;</em>”, where <em>backend</em> can be ethernet, ip or usb. <em>address</em> will be specific to the backend. This is documented in the <a class="reference external" href="https://analogdevicesinc.github.io/libiio/master/libiio/group__Context.html#gafdcee40508700fa395370b6c636e16fe">libiio API</a> .</p>
<p>Below is a basic example of setting up a generic ADC using an Ethernet/IP backend:</p>
<div class="highlight-MATLAB notranslate"><div class="highlight"><pre><span></span><span class="n">rx</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">adi</span><span class="p">.</span><span class="n">ADxxxx</span><span class="p">.</span><span class="n">Rx</span><span class="p">;</span>
Expand Down Expand Up @@ -232,7 +235,7 @@ <h2>Connecting and Configuration<a class="headerlink" href="#connecting-and-conf
</div>
</section>
<section id="receiving-data">
<h2>Receiving Data<a class="headerlink" href="#receiving-data" title="Link to this heading"></a></h2>
<h2>Receiving Data<a class="headerlink" href="#receiving-data" title="Link to this heading">#</a></h2>
<p>To receive or capture data from a given device first you must instantiate that device’s interface class. For a generic ADC, this would be as follows:</p>
<div class="highlight-MATLAB notranslate"><div class="highlight"><pre><span></span><span class="n">rx</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">adi</span><span class="p">.</span><span class="n">ADxxxx</span><span class="p">.</span><span class="n">Rx</span><span class="p">;</span>
</pre></div>
Expand All @@ -250,7 +253,7 @@ <h2>Receiving Data<a class="headerlink" href="#receiving-data" title="Link to th
<p>Both method calls are equivalent, and the produced matrix <strong>data</strong> will be of size [SamplesPerFrame x length(EnabledChannels)]. <strong>EnabledChannels</strong> determines the channels which data will be collected from. <strong>EnabledChannels</strong> is a [1xN] vector with indexes starting at 1 of the desired channels.</p>
</section>
<section id="continuous-data-acquisition">
<h2>Continuous Data Acquisition<a class="headerlink" href="#continuous-data-acquisition" title="Link to this heading"></a></h2>
<h2>Continuous Data Acquisition<a class="headerlink" href="#continuous-data-acquisition" title="Link to this heading">#</a></h2>
<p>If you are capturing multiple frames or buffers of data, then there might arise situations where discontinuities appear in the samples, when plotted.</p>
<p>Some detail and tips are discussed in this wiki page on <a class="reference external" href="https://wiki.analog.com/resources/tools-software/linux-software/libiio_tips_tricks">IIO System Considerations, Tips and Tricks</a></p>
<p>The IIO buffer size is governed by the SamplesPerFrame property of the System Object classes. The kernelBuffersCount is also a property defined for the classes, and can be modified.</p>
Expand Down
Loading

0 comments on commit 05fe0f5

Please sign in to comment.