diff --git a/sphinx/build/doctrees/Ohmpi.doctree b/sphinx/build/doctrees/Ohmpi.doctree index c424fc16ba32d7bb3c46e4e84459d9752b106309..db0adc276a79841ea18b556effb3bffeffddd681 100644 Binary files a/sphinx/build/doctrees/Ohmpi.doctree and b/sphinx/build/doctrees/Ohmpi.doctree differ diff --git a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_01.doctree b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_01.doctree index 69431c2378ea4be5da9621f145dace45cbcb396f..5c218325aa4db129d7ece172ad68fcbaaa35df12 100644 Binary files a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_01.doctree and b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_01.doctree differ diff --git a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_02.doctree b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_02.doctree index ca5c64db92f93c3868169f272b425743a7eaa031..302c43df7187223b836fdba49543476691419046 100644 Binary files a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_02.doctree and b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_02.doctree differ diff --git a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_03.doctree b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_03.doctree index 837b57cd7e11dc72c474929212dbea39bc4e43b8..eaab787b20ab8838b375b473009bcd4c4545290c 100644 Binary files a/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_03.doctree and b/sphinx/build/doctrees/Ohmpi_V2_00/V2_00_step_03.doctree differ diff --git a/sphinx/build/doctrees/V1_01.doctree b/sphinx/build/doctrees/V1_01.doctree index b5caea72c89b5c227f088c6170d3b74e7007f75f..eb108fa8cb2d46437302616ccf2030d17191940c 100644 Binary files a/sphinx/build/doctrees/V1_01.doctree and b/sphinx/build/doctrees/V1_01.doctree differ diff --git a/sphinx/build/doctrees/V1_02.doctree b/sphinx/build/doctrees/V1_02.doctree index fe5cf932bd8281ae103d88bfcefa08f972369992..2d01fe649819e94ded7678bbb8915e0eeee9cb32 100644 Binary files a/sphinx/build/doctrees/V1_02.doctree and b/sphinx/build/doctrees/V1_02.doctree differ diff --git a/sphinx/build/doctrees/V2_00.doctree b/sphinx/build/doctrees/V2_00.doctree index 27be1440d1791f9dd17d3532f1dcfd2eb63f31fb..bf2f47db316ccfeceeb391e9844a8cc044017928 100644 Binary files a/sphinx/build/doctrees/V2_00.doctree and b/sphinx/build/doctrees/V2_00.doctree differ diff --git a/sphinx/build/doctrees/environment.pickle b/sphinx/build/doctrees/environment.pickle index 1bdbe4c465f903295fd55b66b711a779dab07ec0..408b0e5c17ce97bbd626939afb9f46e465a97061 100644 Binary files a/sphinx/build/doctrees/environment.pickle and b/sphinx/build/doctrees/environment.pickle differ diff --git a/sphinx/build/doctrees/index.doctree b/sphinx/build/doctrees/index.doctree index 4b9a4f0a43d66273f16ec6b96b1dfda0bbbde60f..e2ae9d6c5f081eeee0f1f30ce3c1a27ef4dec866 100644 Binary files a/sphinx/build/doctrees/index.doctree and b/sphinx/build/doctrees/index.doctree differ diff --git a/sphinx/build/html/.buildinfo b/sphinx/build/html/.buildinfo index a28443296dfd2901fe7a8b5eefc5e5e858257358..6118c998223c9c1632d1040d35e03f0ca214929d 100644 --- a/sphinx/build/html/.buildinfo +++ b/sphinx/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 85882ff0ddf883585509119f73a6ac8e +config: 4ac17d5203f4fed9801b331b002090ea tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/sphinx/build/html/Ohmpi.html b/sphinx/build/html/Ohmpi.html index 2fca021c02e78844afa25bcc637fba48e1d1ae8f..0df4c2caabc028b19a44b1786d2e94ea2cd9287c 100644 --- a/sphinx/build/html/Ohmpi.html +++ b/sphinx/build/html/Ohmpi.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>OhmPi project — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>OhmPi project — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -74,10 +75,10 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="ohmpi-project"> -<h1>OhmPi project<a class="headerlink" href="#ohmpi-project" title="Permalink to this headline">¶</a></h1> -<div class="section" id="partenaires"> -<h2><strong>Partenaires</strong><a class="headerlink" href="#partenaires" title="Permalink to this headline">¶</a></h2> + <section id="ohmpi-project"> +<h1>OhmPi project<a class="headerlink" href="#ohmpi-project" title="Permalink to this headline">ïƒ</a></h1> +<section id="partenaires"> +<h2><strong>Partenaires</strong><a class="headerlink" href="#partenaires" title="Permalink to this headline">ïƒ</a></h2> <a class="reference internal image-reference" href="_images/logo_ohmpi.JPG"><img alt="Logo OhmPi" class="align-center" src="_images/logo_ohmpi.JPG" style="width: 350px; height: 250px;" /></a> <p>Authors:</p> <div class="line-block"> @@ -110,23 +111,23 @@ <p>Creation date : Juillet 2020.</p> <p>Update : 04 août 2021.</p> <p>Status of document: In progress.</p> -<div class="section" id="citing-ohmpi"> -<h3><strong>Citing OhmPi</strong><a class="headerlink" href="#citing-ohmpi" title="Permalink to this headline">¶</a></h3> +<section id="citing-ohmpi"> +<h3><strong>Citing OhmPi</strong><a class="headerlink" href="#citing-ohmpi" title="Permalink to this headline">ïƒ</a></h3> <p><em>Rémi Clement, Yannick Fargier, Vivien Dubois, Julien Gance, Emile Gros, et al.. OhmPi: An open</em> <em>source data logger for dedicated applications of electrical resistivity imaging at the small and laboratory</em> <em>scale. HardwareX, Elsevier, 2020, 8, 24 p. ff10.1016/j.ohx.2020.e00122ff.</em></p> -</div> -<div class="section" id="introduction-to-ohmpi"> -<h3><strong>Introduction to OhmPi</strong><a class="headerlink" href="#introduction-to-ohmpi" title="Permalink to this headline">¶</a></h3> +</section> +<section id="introduction-to-ohmpi"> +<h3><strong>Introduction to OhmPi</strong><a class="headerlink" href="#introduction-to-ohmpi" title="Permalink to this headline">ïƒ</a></h3> <p>This documentation presents the development of a low-cost, open hardware resistivity meter to provide the scientific community with a robust and flexible tool for small-scale experiments. Called OhmPi, this basic resistivity meterfeatures current injection and measurement functions associated with a multiplexer that allows performing automatic measurements with up to 32 electrodes.OhmPi’s philosophy is to provide a fully open source and open hardware tool / to the near surface scientific community.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Everyone willing to get involved is welcome in OhmPi Project!.</p> </div> -</div> -</div> -</div> +</section> +</section> +</section> </div> diff --git a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_01.html b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_01.html index 334179d93098eecc6814f7f9778885b2de1390e9..7429e88bf4a73ca20fcdc1868812f19cb9d6819d 100644 --- a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_01.html +++ b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_01.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>STEP n°1 : Raspberry Pi configuration — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <title>STEP n°1 : Raspberry Pi configuration — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="../_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + + <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> - <script src="../_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="../_static/js/theme.js"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> @@ -83,10 +84,10 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="step-n1-raspberry-pi-configuration"> -<h1><strong>STEP n°1</strong> : Raspberry Pi configuration<a class="headerlink" href="#step-n1-raspberry-pi-configuration" title="Permalink to this headline">¶</a></h1> -<div class="section" id="part-a-os-installation"> -<h2><strong>PART A</strong> OS installation<a class="headerlink" href="#part-a-os-installation" title="Permalink to this headline">¶</a></h2> + <section id="step-n1-raspberry-pi-configuration"> +<h1><strong>STEP n°1</strong> : Raspberry Pi configuration<a class="headerlink" href="#step-n1-raspberry-pi-configuration" title="Permalink to this headline">ïƒ</a></h1> +<section id="part-a-os-installation"> +<h2><strong>PART A</strong> OS installation<a class="headerlink" href="#part-a-os-installation" title="Permalink to this headline">ïƒ</a></h2> <table class="docutils align-default"> <colgroup> <col style="width: 78%" /> @@ -123,9 +124,9 @@ For this step, the installation instructions are well described on the Raspberry <div class="admonition note"> <p class="admonition-title">Note</p> <p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/raspbian_version.jpg"><img alt="alternate text" src="../_images/raspbian_version.jpg" style="width: 800px; height: 400px;" /></a> -</div> +</figure> </div> <div class="admonition warning"> <p class="admonition-title">Warning</p> @@ -161,9 +162,9 @@ To ensure that the GPIOs are in Low position, you will need to modify the /boot/ <li><p>Press Ctrl +x to escap and return to the terminal</p></li> <li><p>Close the terminal</p></li> </ol> -</div> -<div class="section" id="part-b-virtual-environnement-and-packages"> -<h2><strong>PART B</strong> Virtual Environnement and packages<a class="headerlink" href="#part-b-virtual-environnement-and-packages" title="Permalink to this headline">¶</a></h2> +</section> +<section id="part-b-virtual-environnement-and-packages"> +<h2><strong>PART B</strong> Virtual Environnement and packages<a class="headerlink" href="#part-b-virtual-environnement-and-packages" title="Permalink to this headline">ïƒ</a></h2> <p>A virtual environment is a way to have multiple, parallel instances of the Python interpreter, each with different package sets and different configurations. Each virtual environment contains a discrete copy of the Python interpreter, including copies of its support utilities. It also protects your system in case of problems with the packages.</p> <p>All dependencies are specified in requirements.txt</p> @@ -198,33 +199,33 @@ to leave the virtual environment simply type:</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">deactivate</span> </pre></div> </div> -</div> -<div class="section" id="part-c-activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> -<h2><strong>PART C</strong> Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#part-c-activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">¶</a></h2> +</section> +<section id="part-c-activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> +<h2><strong>PART C</strong> Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#part-c-activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">ïƒ</a></h2> <p>If you decided to use a virtual environment, it is necessary to setup Thonny Python IDE the first time you use it.</p> <p>1- Run the Thonny Python IDE software, Click on raspebrry acces <strong>menu > programming> Thonny pythonIDE</strong></p> <p>2- Thonny’s interface opens, Python runs on the Root (Python 3.7.3 (/usr/bin/python3))</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/thonny_first_interface.jpg"><img alt="alternate text" src="../_images/thonny_first_interface.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>3-Click on <strong>Run>select interpreter</strong>, a new window opens click on interpret</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/thonny_option.jpg"><img alt="alternate text" src="../_images/thonny_option.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>4-On the new open windows select <strong>alternative Pyhton3 or virtual environnement</strong></p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/thonny_interpreter.jpg"><img alt="alternate text" src="../_images/thonny_interpreter.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p> <p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p> <p>7- In the <strong>known interpreter</strong> tab the path of the virtual environnementshould appear</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/thonny_interpreter_folder.jpg"><img alt="alternate text" src="../_images/thonny_interpreter_folder.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>8- Close the window by clicking on <strong>ok</strong>.</p> <p>9- Close thonny to save modifications</p> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_02.html b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_02.html index dad3c8422d5a87616f6227110133f3fa5cf7e6a3..49144cf9e96bf6814f8c05a8775fd19051810dc8 100644 --- a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_02.html +++ b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_02.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>STEP n°2: Measurement board — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <title>STEP n°2: Measurement board — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="../_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + + <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> - <script src="../_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="../_static/js/theme.js"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> @@ -83,17 +84,17 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="step-n2-measurement-board"> -<h1><strong>STEP n°2</strong>: Measurement board<a class="headerlink" href="#step-n2-measurement-board" title="Permalink to this headline">¶</a></h1> -<div class="section" id="part-a-assembly-of-measurement-board"> -<h2><strong>PART A</strong> Assembly of measurement board<a class="headerlink" href="#part-a-assembly-of-measurement-board" title="Permalink to this headline">¶</a></h2> -<div class="section" id="required-components"> -<h3>Required components<a class="headerlink" href="#required-components" title="Permalink to this headline">¶</a></h3> -<div class="align-center figure"> + <section id="step-n2-measurement-board"> +<h1><strong>STEP n°2</strong>: Measurement board<a class="headerlink" href="#step-n2-measurement-board" title="Permalink to this headline">ïƒ</a></h1> +<section id="part-a-assembly-of-measurement-board"> +<h2><strong>PART A</strong> Assembly of measurement board<a class="headerlink" href="#part-a-assembly-of-measurement-board" title="Permalink to this headline">ïƒ</a></h2> +<section id="required-components"> +<h3>Required components<a class="headerlink" href="#required-components" title="Permalink to this headline">ïƒ</a></h3> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/00_mes_board_components.jpg"><img alt="alternate text" src="../_images/00_mes_board_components.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <table class="colwidths-given docutils align-default" id="id1"> -<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption> +<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id1" title="Permalink to this table">ïƒ</a></caption> <colgroup> <col style="width: 8%" /> <col style="width: 18%" /> @@ -157,10 +158,7 @@ <td><p>0,2</p></td> <td><p>0,8</p></td> <td><p>KEMET</p></td> -<td><blockquote> -<div><p>C320C104K1</p> -</div></blockquote> -</td> +<td><p>C320C104K1</p></td> <td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/KEMET/C320C104K1R5TA7303?qs=c4UyoTs%2FLq1th4mcyOeTmA%3D%3D">https://www.mouser.fr/ProductDetail/KEMET/C320C104K1R5TA7303?qs=c4UyoTs%2FLq1th4mcyOeTmA%3D%3D</a></p></td> </tr> <tr class="row-odd"><td><p>Resistor 1 Kohm 0.5W +- 0.1%</p></td> @@ -307,14 +305,22 @@ <td><p>R25-3002002</p></td> <td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Harwin/R25-3002002?qs=W0yvOO0ixfENUv0hsdC4%2FQ%3D%3D">https://www.mouser.fr/ProductDetail/Harwin/R25-3002002?qs=W0yvOO0ixfENUv0hsdC4%2FQ%3D%3D</a></p></td> </tr> +<tr class="row-odd"><td><p>DIP Dual In Line Socket 2*9</p></td> +<td><p>1</p></td> +<td><p>1,86</p></td> +<td><p>1,86</p></td> +<td><p>Preci-dip</p></td> +<td><p>437-1108331841001101</p></td> +<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Preci-dip/110-83-318-41-001101?qs=FtMuP6KVi2TNQOezIAQ%2FPA%3D%3D">https://www.mouser.fr/ProductDetail/Preci-dip/110-83-318-41-001101?qs=FtMuP6KVi2TNQOezIAQ%2FPA%3D%3D</a></p></td> +</tr> </tbody> </table> -</div> -<div class="section" id="description"> -<h3>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h3> -<div class="align-center figure"> +</section> +<section id="description"> +<h3>Description<a class="headerlink" href="#description" title="Permalink to this headline">ïƒ</a></h3> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/schema_measurement_board.jpg"><img alt="alternate text" src="../_images/schema_measurement_board.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>Figure shows the general schematics for the electronic measurement board developed. We have developed a complete “plug and play†measurement board. To measure electrical resistivity with Raspberry Pi. two ADS1115 were used,one for the voltage measurement one for the current measurement, as proposed by Florsch [7]. The ADS1115 @@ -666,10 +672,10 @@ corners)</p></td> </tr> </tbody> </table> -</div> -</div> -<div class="section" id="part-b-start-up-of-the-measurement-board"> -<h2><strong>PART B</strong> Start-up of the measurement board<a class="headerlink" href="#part-b-start-up-of-the-measurement-board" title="Permalink to this headline">¶</a></h2> +</section> +</section> +<section id="part-b-start-up-of-the-measurement-board"> +<h2><strong>PART B</strong> Start-up of the measurement board<a class="headerlink" href="#part-b-start-up-of-the-measurement-board" title="Permalink to this headline">ïƒ</a></h2> <table class="docutils align-default"> <colgroup> <col style="width: 100%" /> @@ -680,7 +686,7 @@ corners)</p></td> </tbody> </table> <table class="colwidths-given docutils align-default" id="id2"> -<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id2" title="Permalink to this table">¶</a></caption> +<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id2" title="Permalink to this table">ïƒ</a></caption> <colgroup> <col style="width: 8%" /> <col style="width: 18%" /> @@ -804,9 +810,9 @@ Raspberry Pi’s power port.</p></td> </tr> </tbody> </table> -</div> -<div class="section" id="part-c-check-the-measurement-board"> -<h2><strong>PART C</strong> Check the measurement board<a class="headerlink" href="#part-c-check-the-measurement-board" title="Permalink to this headline">¶</a></h2> +</section> +<section id="part-c-check-the-measurement-board"> +<h2><strong>PART C</strong> Check the measurement board<a class="headerlink" href="#part-c-check-the-measurement-board" title="Permalink to this headline">ïƒ</a></h2> <blockquote> <div><p>Run the terminal, and write</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">i2cdetect</span> <span class="o">-</span><span class="n">y</span> <span class="mi">1</span> @@ -952,8 +958,8 @@ get the following result (220 ohm)</p></td> </tr> </tbody> </table> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_03.html b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_03.html index 83d0cf6b196cb67c9cc5eab1469f0ac2313eca06..22f054957ba236a030524634bb874ad33b42e6d8 100644 --- a/sphinx/build/html/Ohmpi_V2_00/V2_00_step_03.html +++ b/sphinx/build/html/Ohmpi_V2_00/V2_00_step_03.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>STEP n°3: MUX board — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <title>STEP n°3: MUX board — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="../_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> + + <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/doctools.js"></script> - <script src="../_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="../_static/js/theme.js"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> @@ -81,23 +82,23 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="step-n3-mux-board"> -<h1><strong>STEP n°3</strong>: MUX board<a class="headerlink" href="#step-n3-mux-board" title="Permalink to this headline">¶</a></h1> + <section id="step-n3-mux-board"> +<h1><strong>STEP n°3</strong>: MUX board<a class="headerlink" href="#step-n3-mux-board" title="Permalink to this headline">ïƒ</a></h1> <p>The multiplexing of the channels is a mechanical multiplexing based on OMRON’s manufacturing relays (G5LE-1-VD 12 VDC). Each relay is combined with a ZVN4206A power MOFSET. The raspberry has only 30 GPIOs, which is not enough to activate all the 64 electrodes, which represent 512 GPIOs. We used gpio expender I2C (MCP23017). We have associated these components with an I2C muliplexer of type type TCA9548A from adafruit. This combination allows to go up to 512 GPIOs and up to 128 electrodes. Each card has its own digital address between 0X70 and 0X77. In the following presentation for an Ohmpi 64 electrodes, we will use the addresses 0X70 for channel A, 0X71 for channel B, 0X72 for channel M and 0X73 for channel N. 0X73 for the N channel. 4 MUX board will be needed to multiplex an Ohmpi 64 electrodes.</p> -<div class="section" id="part-a-assembly-of-mux-board"> -<h2><strong>PART A</strong> Assembly of MUX board<a class="headerlink" href="#part-a-assembly-of-mux-board" title="Permalink to this headline">¶</a></h2> -<div class="section" id="required-components"> -<h3>Required components<a class="headerlink" href="#required-components" title="Permalink to this headline">¶</a></h3> -<div class="align-center figure"> +<section id="part-a-assembly-of-mux-board"> +<h2><strong>PART A</strong> Assembly of MUX board<a class="headerlink" href="#part-a-assembly-of-mux-board" title="Permalink to this headline">ïƒ</a></h2> +<section id="required-components"> +<h3>Required components<a class="headerlink" href="#required-components" title="Permalink to this headline">ïƒ</a></h3> +<figure class="align-center"> <a class="reference internal image-reference" href="../_images/MUX_board_componement.jpg"><img alt="alternate text" src="../_images/MUX_board_componement.jpg" style="width: 600px; height: 650px;" /></a> -</div> +</figure> <table class="colwidths-given docutils align-default" id="id1"> -<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption> +<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id1" title="Permalink to this table">ïƒ</a></caption> <colgroup> <col style="width: 8%" /> <col style="width: 18%" /> @@ -420,10 +421,10 @@ In the following presentation for an Ohmpi 64 electrodes, we will use the addres <p class="admonition-title">Note</p> <p>This step must be duplicated 4 times for every Mux card.</p> </div> -</div> -</div> -<div class="section" id="part-b-mux-board-address"> -<h2><strong>PART B</strong> MUX board address<a class="headerlink" href="#part-b-mux-board-address" title="Permalink to this headline">¶</a></h2> +</section> +</section> +<section id="part-b-mux-board-address"> +<h2><strong>PART B</strong> MUX board address<a class="headerlink" href="#part-b-mux-board-address" title="Permalink to this headline">ïƒ</a></h2> <p>To build an ohmpi it is necessary to have 4 MUX boards, with 4 different addresses. It is therefore necessary to identify each board, by assigning an address, which will be allocated in the Ohmpi code. We present here the addresses selected by default.</p> <p>For the A electrode board, we suggest addressing it with address 0x70:</p> @@ -461,7 +462,7 @@ electrode name on the mux board (A).</p></td> <tr class="row-even"><td><p>Mount the jumpers and note the value of the address and the electrode name on the mux board (B).</p></td> </tr> -<tr class="row-odd"><td><img alt="../_images/B_0x71-a.jpg" src="../_images/B_0x71-a.jpg" /> +<tr class="row-odd"><td><img alt="Ohmpi_V2_00/step_n_3/b/B_0x71-a.jpg" src="Ohmpi_V2_00/step_n_3/b/B_0x71-a.jpg" /> </td> </tr> <tr class="row-even"><td><p>Zoom on the jumper</p></td> @@ -476,13 +477,13 @@ electrode name on the mux board (B).</p></td> </colgroup> <tbody> <tr class="row-odd"><td rowspan="4"><p>3</p></td> -<td><img alt="../_images/M_0x72.jpg" src="../_images/M_0x72.jpg" /> +<td><img alt="Ohmpi_V2_00/step_n_3/b/M_0x72.jpg" src="Ohmpi_V2_00/step_n_3/b/M_0x72.jpg" /> </td> </tr> <tr class="row-even"><td><p>Mount the jumpers and note the value of the address and the electrode name on the mux board (B).</p></td> </tr> -<tr class="row-odd"><td><img alt="../_images/M_0x72-a.jpg" src="../_images/M_0x72-a.jpg" /> +<tr class="row-odd"><td><img alt="Ohmpi_V2_00/step_n_3/b/M_0x72-a.jpg" src="Ohmpi_V2_00/step_n_3/b/M_0x72-a.jpg" /> </td> </tr> <tr class="row-even"><td><p>Zoom on the jumper</p></td> @@ -510,8 +511,8 @@ electrode name on the mux board (B).</p></td> </tr> </tbody> </table> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/V1_01.html b/sphinx/build/html/V1_01.html index e39b5bcd05fc3df33d2d120906257e843db1d862..c1e494e0d507caa27c5decec300a1aad75494182 100644 --- a/sphinx/build/html/V1_01.html +++ b/sphinx/build/html/V1_01.html @@ -1,19 +1,21 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>OhmPi V 1.01 (limited to 32 electrodes) — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>OhmPi V 1.01 (limited to 32 electrodes) — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> + <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -96,22 +98,22 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="ohmpi-v-1-01-limited-to-32-electrodes"> -<h1>OhmPi V 1.01 (limited to 32 electrodes)<a class="headerlink" href="#ohmpi-v-1-01-limited-to-32-electrodes" title="Permalink to this headline">¶</a></h1> + <section id="ohmpi-v-1-01-limited-to-32-electrodes"> +<h1>OhmPi V 1.01 (limited to 32 electrodes)<a class="headerlink" href="#ohmpi-v-1-01-limited-to-32-electrodes" title="Permalink to this headline">ïƒ</a></h1> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>This version corresponds to the version published in the Hardware X journal. However, we have corrected the bugs that existed on this version and explained the missing mounting points in detail below. We invite you to refer to this document to assemble Ohmpi V1.01.</p> </div> -<div class="section" id="the-philosophy-of-ohmpi"> -<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">¶</a></h2> +<section id="the-philosophy-of-ohmpi"> +<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">ïƒ</a></h2> <p>The philosophy of Ohmpi V1.01 is to offer a multi electrode resistivity meter, from a set of commercially available electronic cards it is a resistivity meter limited to 32 electrodes only. It is limited to low-current injection, but suitable for small laboratory experiments and small field time monitoring</p> -</div> -<div class="section" id="technical-data"> -<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">¶</a></h2> +</section> +<section id="technical-data"> +<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">ïƒ</a></h2> <table class="docutils align-default"> <colgroup> <col style="width: 50%" /> @@ -166,11 +168,11 @@ control system</p></td> </tr> </tbody> </table> -</div> -<div class="section" id="raspberry-pi-configuration"> -<h2>Raspberry Pi configuration<a class="headerlink" href="#raspberry-pi-configuration" title="Permalink to this headline">¶</a></h2> -<div class="section" id="os-installation"> -<h3>OS installation<a class="headerlink" href="#os-installation" title="Permalink to this headline">¶</a></h3> +</section> +<section id="raspberry-pi-configuration"> +<h2>Raspberry Pi configuration<a class="headerlink" href="#raspberry-pi-configuration" title="Permalink to this headline">ïƒ</a></h2> +<section id="os-installation"> +<h3>OS installation<a class="headerlink" href="#os-installation" title="Permalink to this headline">ïƒ</a></h3> <p>The first step is to start up the Raspberry Pi board, including installation of an OS (operating system). For this step, the installation instructions are well described on the Raspberry website</p> <ol class="arabic simple"> @@ -180,9 +182,9 @@ For this step, the installation instructions are well described on the Raspberry <div class="admonition note"> <p class="admonition-title">Note</p> <p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/raspbian_version1.jpg"><img alt="alternate text" src="_images/raspbian_version1.jpg" style="width: 800px; height: 400px;" /></a> -</div> +</figure> </div> <div class="admonition warning"> <p class="admonition-title">Warning</p> @@ -218,9 +220,9 @@ To ensure that the GPIOs are in Low position, you will need to modify the /boot/ <li><p>Press Ctrl +x to escap and return to the terminal</p></li> <li><p>Close the terminal</p></li> </ol> -</div> -<div class="section" id="virtual-environnement-and-packages"> -<h3>Virtual Environnement and packages<a class="headerlink" href="#virtual-environnement-and-packages" title="Permalink to this headline">¶</a></h3> +</section> +<section id="virtual-environnement-and-packages"> +<h3>Virtual Environnement and packages<a class="headerlink" href="#virtual-environnement-and-packages" title="Permalink to this headline">ïƒ</a></h3> <p>All dependencies are specified in requirements.txt</p> <div class="admonition note"> <p class="admonition-title">Note</p> @@ -252,39 +254,39 @@ to leave the virtual environment simply type:</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">deactivate</span> </pre></div> </div> -</div> -<div class="section" id="activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> -<h3>Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">¶</a></h3> +</section> +<section id="activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> +<h3>Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">ïƒ</a></h3> <p>If you decided to use a virtual environment, it is necessary to setup Thonny Python IDE the first time you use it.</p> <p>1- Run the Thonny Python IDE software, Click on raspebrry acces <strong>menu > programming> Thonny pythonIDE</strong></p> <p>2- Thonny’s interface opens, Python runs on the Root (Python 3.7.3 (/usr/bin/python3))</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_first_interface2.jpg"><img alt="alternate text" src="_images/thonny_first_interface2.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>3-Click on <strong>Run>select interpreter</strong>, a new window opens click on interpret</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_option1.jpg"><img alt="alternate text" src="_images/thonny_option1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>4-On the new open windows select <strong>alternative Pyhton3 or virtual environnement</strong></p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_interpreter1.jpg"><img alt="alternate text" src="_images/thonny_interpreter1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p> <p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p> <p>7- In the <strong>known interpreter</strong> tab the path of the virtual environnementshould appear</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_interpreter_folder1.jpg"><img alt="alternate text" src="_images/thonny_interpreter_folder1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>8- Close the window by clicking on <strong>ok</strong>.</p> <p>9- Close thonny to save modifications</p> -</div> -</div> -<div class="section" id="assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi"> -<h2>Assembly of the measuring/current injection cards, and connection with the Raspberry Pi<a class="headerlink" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi" title="Permalink to this headline">¶</a></h2> -<div class="section" id="electrical-resistivity-measurements-board"> -<h3>Electrical resistivity measurements board<a class="headerlink" href="#electrical-resistivity-measurements-board" title="Permalink to this headline">¶</a></h3> -<div class="section" id="a-description"> -<h4>a) Description<a class="headerlink" href="#a-description" title="Permalink to this headline">¶</a></h4> +</section> +</section> +<section id="assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi"> +<h2>Assembly of the measuring/current injection cards, and connection with the Raspberry Pi<a class="headerlink" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi" title="Permalink to this headline">ïƒ</a></h2> +<section id="electrical-resistivity-measurements-board"> +<h3>Electrical resistivity measurements board<a class="headerlink" href="#electrical-resistivity-measurements-board" title="Permalink to this headline">ïƒ</a></h3> +<section id="a-description"> +<h4>a) Description<a class="headerlink" href="#a-description" title="Permalink to this headline">ïƒ</a></h4> <p>To measure electrical resistivity with Raspberry Pi, an ADS1115 was introduced, as proposed by Florsch [7]. The ADS1115 is a 16-bit ADC (Analog-to-Digital Converter), with an adaptable gain. Its value has been set at 2/3 in this study. The input signal value could lie between - to + 6.114 V. The ADS1115 is mounted on a board adapted from an in-house design. @@ -316,13 +318,15 @@ electric field in the ground, with the total input impedance value being estimat A shortcut between Electrodes A and B will generate excessive currents, whose intensities depend on the type of battery used. A lithium ion battery or automobile-type lead-acid battery can deliver a strong enough current to damage the board and, as such, constitutes a potential hazard. We therefore recommend adding a 1.5-A fuse between the battery and resistor R9.</p> -<div class="align-center figure" id="id1"> +<figure class="align-center" id="id1"> <a class="reference internal image-reference" href="_images/schema_measurement_board1.jpg"><img alt="alternate text" src="_images/schema_measurement_board1.jpg" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Measurement board</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p> -</div> -</div> -<div class="section" id="b-implementation"> -<h4>b) Implementation<a class="headerlink" href="#b-implementation" title="Permalink to this headline">¶</a></h4> +<figcaption> +<p><span class="caption-text">Measurement board</span><a class="headerlink" href="#id1" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> +</section> +<section id="b-implementation"> +<h4>b) Implementation<a class="headerlink" href="#b-implementation" title="Permalink to this headline">ïƒ</a></h4> <p>The measurement board must be printed using the PCB file (Source file repository), with components soldered onto it by following the steps described below and illustrated in the following figure :</p> <ul> @@ -337,23 +341,16 @@ it by following the steps described below and illustrated in the following figur \[coeff p2 = (R7 + R6) / R7\]</div> <div class="math notranslate nohighlight"> \[coeff p3 = (R9 + R8) / R9\]</div> -<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>36 -37 -38 -39 -40 -41 -42 -43</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="sd">"""</span> -<span class="sd"> hardware parameters</span> -<span class="sd"> """</span> - <span class="n">R_ref</span> <span class="o">=</span> <span class="mi">50</span> <span class="c1"># reference resistance value in ohm</span> - <span class="n">coef_p0</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P0, measurement in V/V</span> - <span class="n">coef_p1</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P1, measurement in V/V</span> - <span class="n">coef_p2</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P2, measurement in V/V</span> - <span class="n">coef_p3</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P3, measurement in V/V</span> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="linenos">36</span> <span class="sd">"""</span> +<span class="linenos">37</span><span class="sd"> hardware parameters</span> +<span class="linenos">38</span><span class="sd"> """</span> +<span class="linenos">39</span> <span class="n">R_ref</span> <span class="o">=</span> <span class="mi">50</span> <span class="c1"># reference resistance value in ohm</span> +<span class="linenos">40</span> <span class="n">coef_p0</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P0, measurement in V/V</span> +<span class="linenos">41</span> <span class="n">coef_p1</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P1, measurement in V/V</span> +<span class="linenos">42</span> <span class="n">coef_p2</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P2, measurement in V/V</span> +<span class="linenos">43</span> <span class="n">coef_p3</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P3, measurement in V/V</span> </pre></div> -</td></tr></table></div> +</div> <p>The coefficient parameters can be adjusted in lines 40 to 43 of the ohmpi.py code.</p> </div></blockquote> </dd> @@ -370,18 +367,22 @@ or stronger power supply, it would be possible to adjust the divider bridge valu Once all the components have been soldered together, the measurement board can be connected to the Raspberry Pi and the battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes.</p> -<div class="align-center figure" id="id2"> +<figure class="align-center" id="id2"> <a class="reference internal image-reference" href="_images/measurement_board.jpg"><img alt="alternate text" src="_images/measurement_board.jpg" style="width: 800px; height: 500px;" /></a> -<p class="caption"><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ± 1%, c)adding the 1.5-Kohm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p> -</div> -<div class="align-center figure" id="id3"> +<figcaption> +<p><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ± 1%, c)adding the 1.5-Kohm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> +<figure class="align-center" id="id3"> <a class="reference internal image-reference" href="_images/measurement_board-2.jpg"><img alt="alternate text" src="_images/measurement_board-2.jpg" style="width: 800px; height: 700px;" /></a> -<p class="caption"><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image">¶</a></p> -</div> -</div> -</div> -<div class="section" id="current-injection-board"> -<h3>Current injection board<a class="headerlink" href="#current-injection-board" title="Permalink to this headline">¶</a></h3> +<figcaption> +<p><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> +</section> +</section> +<section id="current-injection-board"> +<h3>Current injection board<a class="headerlink" href="#current-injection-board" title="Permalink to this headline">ïƒ</a></h3> <p>To carry out the electrical resistivity measurement, the first step consists of injecting current into the ground. In our case, a simple 9-V lead-acid battery is used to create an electrical potential difference that results in current circulating into the ground. The current is injected through electrodes A and B (see Fig. 2). This @@ -393,10 +394,12 @@ to the GPIO 7 on the Raspberry Pi and therefore activate simultaneously. The rol the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by the GPIO 8 in the open position, the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.</p> -<div class="align-center figure" id="id4"> +<figure class="align-center" id="id4"> <a class="reference internal image-reference" href="_images/current_board.jpg"><img alt="alternate text" src="_images/current_board.jpg" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>The next step consists of featuring the 4-channel relay module used for current injection and its assembly. The wiring between the relays must be carried out in strict accordance with Fig. 10. This card must then be connected to the Raspberry Pi and the measurement card. On the Raspberry Pi, it is necessary to connect inputs In1 and In2 to the same GPIO. For this @@ -404,21 +407,23 @@ purpose, it is necessary to solder together the two pins on the 4-channel relay the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspberry Pi. Now connect relays 1, 2, 3 and 4, as shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board.</p> -<div class="align-center figure" id="id5"> +<figure class="align-center" id="id5"> <a class="reference internal image-reference" href="_images/installation_current_board.jpg"><img alt="alternate text" src="_images/installation_current_board.jpg" style="width: 800px; height: 700px;" /></a> -<p class="caption"><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>Congratulations, you have build a 4 electrodes resistivity-meter.</p> -</div> -<div class="section" id="frist-four-electrodes-resistivity-mesurement"> -<h3>Frist four electrodes resistivity mesurement<a class="headerlink" href="#frist-four-electrodes-resistivity-mesurement" title="Permalink to this headline">¶</a></h3> +</section> +<section id="frist-four-electrodes-resistivity-mesurement"> +<h3>Frist four electrodes resistivity mesurement<a class="headerlink" href="#frist-four-electrodes-resistivity-mesurement" title="Permalink to this headline">ïƒ</a></h3> <p>Under construction !</p> <p>Describe the way to valide the first part of the instruction. Electrical resistivity measurement on test circuit</p> -</div> -</div> -<div class="section" id="multiplexer-implentation"> -<h2>Multiplexer implentation<a class="headerlink" href="#multiplexer-implentation" title="Permalink to this headline">¶</a></h2> +</section> +</section> +<section id="multiplexer-implentation"> +<h2>Multiplexer implentation<a class="headerlink" href="#multiplexer-implentation" title="Permalink to this headline">ïƒ</a></h2> <p>The resistivity measurement is conducted on four terminals (A, B, M and N). The user could perform each measurement by manually plugging four electrodes into the four channel terminals. In practice, ERT requires several tens or thousands of measurements conducted on different electrode arrays. A multiplexer is therefore used to connect each channel to one of @@ -428,10 +433,12 @@ modules with 16 channels each. On the first board, on each MUX, 15 relays out of configuration enables making smaller multiplexers (8 or 16 electrodes only). On the other hand, if you prefer upping to 64 electrodes, which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.</p> -<div class="align-center figure" id="id6"> +<figure class="align-center" id="id6"> <a class="reference internal image-reference" href="_images/multiplexer_implementation.jpg"><img alt="alternate text" src="_images/multiplexer_implementation.jpg" style="width: 800px; height: 500px;" /></a> -<p class="caption"><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>For this purpose, 0.5-mm² cables with end caps are used and their length adjusted for each connection in order to produce a clean assembly. The length was adjusted so that the distance between the two points to be connected could be directly measured on the board once they had been assembled one above the other, in adding an extra 3 cm. The wires at the ends need to be stripped and the end caps added. @@ -440,10 +447,12 @@ As a final step, connect the cables to the correct connectors. This operation mu for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.</p> <blockquote> -<div><div class="align-center figure" id="id7"> +<div><figure class="align-center" id="id7"> <a class="reference internal image-reference" href="_images/connection.jpg"><img alt="alternate text" src="_images/connection.jpg" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> </div></blockquote> <p>For the 16-channel relay shield no. 1, these steps must be followed: * Position a test circuit with 10 horizontal and 10 vertical holes on the pins of the 16-channel relay shield board. @@ -505,40 +514,44 @@ The next step consists of connecting the relay card inputs to the Raspberry Pi a <blockquote> <div><p>Connection of the GPIOs to each multiplexer</p> </div></blockquote> -</div> -<div class="section" id="electrode-connection"> -<h2>Electrode connection<a class="headerlink" href="#electrode-connection" title="Permalink to this headline">¶</a></h2> +</section> +<section id="electrode-connection"> +<h2>Electrode connection<a class="headerlink" href="#electrode-connection" title="Permalink to this headline">ïƒ</a></h2> <p>At this point, all that remains is to connect the electrodes of each multiplexer to a terminal block (Fig. 13). In our set-up, screw terminals assembled on a din rail were used. According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.</p> -<div class="align-center figure" id="id8"> +<figure class="align-center" id="id8"> <a class="reference internal image-reference" href="_images/cable.jpg"><img alt="alternate text" src="_images/cable.jpg" style="width: 800px; height: 300px;" /></a> -<p class="caption"><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>the next figure provides an example of multiplexer relay connections for electrode no. 1: this electrode of multiplexer MUX A must be connected to electrode no. 1 of MUX B. Moreover, electrode no. 1 of MUX B must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes.</p> -<div class="align-center figure" id="id9"> +<figure class="align-center" id="id9"> <a class="reference internal image-reference" href="_images/electrode_cable.jpg"><img alt="alternate text" src="_images/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a> -<p class="caption"><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>The 16 channel relay cards exist in 5-V and 12-V , in the bottom figure we have 12-V cards that we will directly connect to the battery. In case you bought 16 channel relay 5-V cards, you will need to add a DC/DC 12-V/5-V converter. You can use a STEP DOWN MODULE DC-DC (Velleman WPM404) and set the voltage to 5V with the potentiometer.</p> </div> -</div> -<div class="section" id="operating-instruction"> -<h2>Operating instruction<a class="headerlink" href="#operating-instruction" title="Permalink to this headline">¶</a></h2> -<div class="section" id="preliminary-procedure-only-for-the-initial-operation"> -<h3>Preliminary procedure (Only for the initial operation)<a class="headerlink" href="#preliminary-procedure-only-for-the-initial-operation" title="Permalink to this headline">¶</a></h3> +</section> +<section id="operating-instruction"> +<h2>Operating instruction<a class="headerlink" href="#operating-instruction" title="Permalink to this headline">ïƒ</a></h2> +<section id="preliminary-procedure-only-for-the-initial-operation"> +<h3>Preliminary procedure (Only for the initial operation)<a class="headerlink" href="#preliminary-procedure-only-for-the-initial-operation" title="Permalink to this headline">ïƒ</a></h3> <p>The open source code must be downloaded at the Open Science Framework source file repository for this manuscript (<a class="reference external" href="https://osf.io/dzwb4/">https://osf.io/dzwb4/</a>) or at the following Gitlab repository address: <a class="reference external" href="https://gitlab.irstea.fr/reversaal/OhmPi">https://gitlab.irstea.fr/reversaal/OhmPi</a>. The code must be then unzipped into a selected folder (e.g. OhmPi-master). A “readme†file is proposed in the directory to assist with installation of the software and required python packages. It is strongly recommended to create a python virtual environment for installing the required packages and running the code.</p> -</div> -<div class="section" id="startup-procedure"> -<h3>Startup procedure<a class="headerlink" href="#startup-procedure" title="Permalink to this headline">¶</a></h3> +</section> +<section id="startup-procedure"> +<h3>Startup procedure<a class="headerlink" href="#startup-procedure" title="Permalink to this headline">ïƒ</a></h3> <p>As an initial operating instruction, all batteries must be disconnected before any hardware handling. Ensure that the battery is charged at full capacity. Plug all the electrodes (32 or fewer) into the screw terminals. The Raspberry Pi must be plugged into a computer screen, with a mouse and keyboard accessed remotely. The Raspberry Pi must then be plugged into the power supply (for laboratory measurements) or a power bank (5V - 2A for field measurements). At this point, you’ll need to access the Raspbian operating system. Inside the previously created folder “ohmPiâ€, @@ -547,37 +560,30 @@ function may be adjusted/optimized depending on the measurement attributes. For plugged into the hardware; the “ohmpi.py†source code must be run within a python3 environment (or a virtual environment if one has been created) either in the terminal or using Thonny. You should now hear the characteristic sound of a relay switching as a result of electrode permutation. After each quadrupole measurement, the potential difference as well as the current intensity and resistance are displayed on the screen. A measurement file is automatically created and named “measure.csvâ€; it will be placed in the same folder.</p> -</div> -<div class="section" id="electrical-resistivity-measurement-parameters-description"> -<h3>Electrical resistivity measurement parameters description<a class="headerlink" href="#electrical-resistivity-measurement-parameters-description" title="Permalink to this headline">¶</a></h3> -<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>27 -28 -29 -30 -31 -32 -33 -34</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="sd">"""</span> -<span class="sd"> measurement parameters</span> -<span class="sd"> """</span> - <span class="n">nb_electrodes</span> <span class="o">=</span> <span class="mi">32</span> <span class="c1"># maximum number of electrodes on the resistivity meter</span> - <span class="n">injection_duration</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># Current injection duration in second</span> - <span class="n">nbr_meas</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># Number of times the quadripole sequence is repeated</span> - <span class="n">sequence_delay</span><span class="o">=</span> <span class="mi">30</span> <span class="c1"># Delay in seconds between 2 sequences</span> - <span class="n">stack</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># repetition of the current injection for each quadripole</span> +</section> +<section id="electrical-resistivity-measurement-parameters-description"> +<h3>Electrical resistivity measurement parameters description<a class="headerlink" href="#electrical-resistivity-measurement-parameters-description" title="Permalink to this headline">ïƒ</a></h3> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="linenos">27</span> <span class="sd">"""</span> +<span class="linenos">28</span><span class="sd"> measurement parameters</span> +<span class="linenos">29</span><span class="sd"> """</span> +<span class="linenos">30</span> <span class="n">nb_electrodes</span> <span class="o">=</span> <span class="mi">32</span> <span class="c1"># maximum number of electrodes on the resistivity meter</span> +<span class="linenos">31</span> <span class="n">injection_duration</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># Current injection duration in second</span> +<span class="linenos">32</span> <span class="n">nbr_meas</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># Number of times the quadripole sequence is repeated</span> +<span class="linenos">33</span> <span class="n">sequence_delay</span><span class="o">=</span> <span class="mi">30</span> <span class="c1"># Delay in seconds between 2 sequences</span> +<span class="linenos">34</span> <span class="n">stack</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># repetition of the current injection for each quadripole</span> </pre></div> -</td></tr></table></div> -<p>The measurement parameters can be adjusted in lines 27 to 30 of the ohmpi.py code.</p> </div> -</div> -<div class="section" id="complete-list-of-components"> -<h2>Complete list of components<a class="headerlink" href="#complete-list-of-components" title="Permalink to this headline">¶</a></h2> +<p>The measurement parameters can be adjusted in lines 27 to 30 of the ohmpi.py code.</p> +</section> +</section> +<section id="complete-list-of-components"> +<h2>Complete list of components<a class="headerlink" href="#complete-list-of-components" title="Permalink to this headline">ïƒ</a></h2> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>The list evolve a little bit after the publication of the article, it is necessary to refer to this list, the article is out of date</p> </div> <table class="colwidths-given docutils align-default" id="id10"> -<caption><span class="caption-text">Table Title</span><a class="headerlink" href="#id10" title="Permalink to this table">¶</a></caption> +<caption><span class="caption-text">Table Title</span><a class="headerlink" href="#id10" title="Permalink to this table">ïƒ</a></caption> <colgroup> <col style="width: 8%" /> <col style="width: 18%" /> @@ -738,8 +744,8 @@ are displayed on the screen. A measurement file is automatically created and nam </tr> </tbody> </table> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/V1_02.html b/sphinx/build/html/V1_02.html index 6b2f19822a78618b5c86bd9f7ced602c263a30e5..e73d5fa543ce9ebf18be882a76640b2effec5841 100644 --- a/sphinx/build/html/V1_02.html +++ b/sphinx/build/html/V1_02.html @@ -1,19 +1,21 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>OhmPi V 1.02 (limited to 32 electrodes) — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>OhmPi V 1.02 (limited to 32 electrodes) — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> + <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -96,20 +98,20 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="ohmpi-v-1-02-limited-to-32-electrodes"> -<h1>OhmPi V 1.02 (limited to 32 electrodes)<a class="headerlink" href="#ohmpi-v-1-02-limited-to-32-electrodes" title="Permalink to this headline">¶</a></h1> + <section id="ohmpi-v-1-02-limited-to-32-electrodes"> +<h1>OhmPi V 1.02 (limited to 32 electrodes)<a class="headerlink" href="#ohmpi-v-1-02-limited-to-32-electrodes" title="Permalink to this headline">ïƒ</a></h1> <div class="admonition note"> <p class="admonition-title">Note</p> <p>In this version, we have improved the electronic measurement board. To upgrade from version 1.01 to 1.02, you just have to replace the measurement board by the new one proposed here.</p> </div> -<div class="section" id="the-philosophy-of-ohmpi"> -<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">¶</a></h2> +<section id="the-philosophy-of-ohmpi"> +<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">ïƒ</a></h2> <p>The philosophy of Ohmpi V1.01 is to offer a multi electrode resistivity meter, from a set of commercially available electronic cards it is a resistivity meter limited to 32 electrodes only. It is limited to low-current injection, but suitable for small laboratory experiments and small field time monitoring</p> -</div> -<div class="section" id="technical-data"> -<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">¶</a></h2> +</section> +<section id="technical-data"> +<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">ïƒ</a></h2> <table class="docutils align-default"> <colgroup> <col style="width: 50%" /> @@ -164,11 +166,11 @@ control system</p></td> </tr> </tbody> </table> -</div> -<div class="section" id="raspberry-pi-configuration"> -<h2>Raspberry Pi configuration<a class="headerlink" href="#raspberry-pi-configuration" title="Permalink to this headline">¶</a></h2> -<div class="section" id="os-installation"> -<h3>OS installation<a class="headerlink" href="#os-installation" title="Permalink to this headline">¶</a></h3> +</section> +<section id="raspberry-pi-configuration"> +<h2>Raspberry Pi configuration<a class="headerlink" href="#raspberry-pi-configuration" title="Permalink to this headline">ïƒ</a></h2> +<section id="os-installation"> +<h3>OS installation<a class="headerlink" href="#os-installation" title="Permalink to this headline">ïƒ</a></h3> <p>The first step is to start up the Raspberry Pi board, including installation of an OS (operating system). For this step, the installation instructions are well described on the Raspberry website</p> <ol class="arabic simple"> @@ -178,9 +180,9 @@ For this step, the installation instructions are well described on the Raspberry <div class="admonition note"> <p class="admonition-title">Note</p> <p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/raspbian_version1.jpg"><img alt="alternate text" src="_images/raspbian_version1.jpg" style="width: 800px; height: 400px;" /></a> -</div> +</figure> </div> <div class="admonition warning"> <p class="admonition-title">Warning</p> @@ -216,9 +218,9 @@ To ensure that the GPIOs are in Low position, you will need to modify the /boot/ <li><p>Press Ctrl +x to escap and return to the terminal</p></li> <li><p>Close the terminal</p></li> </ol> -</div> -<div class="section" id="virtual-environnement-and-packages"> -<h3>Virtual Environnement and packages<a class="headerlink" href="#virtual-environnement-and-packages" title="Permalink to this headline">¶</a></h3> +</section> +<section id="virtual-environnement-and-packages"> +<h3>Virtual Environnement and packages<a class="headerlink" href="#virtual-environnement-and-packages" title="Permalink to this headline">ïƒ</a></h3> <p>All dependencies are specified in requirements.txt</p> <div class="admonition note"> <p class="admonition-title">Note</p> @@ -250,39 +252,39 @@ to leave the virtual environment simply type:</p> <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">deactivate</span> </pre></div> </div> -</div> -<div class="section" id="activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> -<h3>Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">¶</a></h3> +</section> +<section id="activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi"> +<h3>Activate virtual environnement on Thonny (Python IDE) (on Rapberry Pi)<a class="headerlink" href="#activate-virtual-environnement-on-thonny-python-ide-on-rapberry-pi" title="Permalink to this headline">ïƒ</a></h3> <p>If you decided to use a virtual environment, it is necessary to setup Thonny Python IDE the first time you use it.</p> <p>1- Run the Thonny Python IDE software, Click on raspebrry acces <strong>menu > programming> Thonny pythonIDE</strong></p> <p>2- Thonny’s interface opens, Python runs on the Root (Python 3.7.3 (/usr/bin/python3))</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_first_interface2.jpg"><img alt="alternate text" src="_images/thonny_first_interface2.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>3-Click on <strong>Run>select interpreter</strong>, a new window opens click on interpret</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_option1.jpg"><img alt="alternate text" src="_images/thonny_option1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>4-On the new open windows select <strong>alternative Pyhton3 or virtual environnement</strong></p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_interpreter1.jpg"><img alt="alternate text" src="_images/thonny_interpreter1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p> <p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p> <p>7- In the <strong>known interpreter</strong> tab the path of the virtual environnementshould appear</p> -<div class="align-center figure"> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/thonny_interpreter_folder1.jpg"><img alt="alternate text" src="_images/thonny_interpreter_folder1.jpg" style="width: 600px; height: 450px;" /></a> -</div> +</figure> <p>8- Close the window by clicking on <strong>ok</strong>.</p> <p>9- Close thonny to save modifications</p> -</div> -</div> -<div class="section" id="assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi"> -<h2>Assembly of the measuring/current injection cards, and connection with the Raspberry Pi<a class="headerlink" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi" title="Permalink to this headline">¶</a></h2> -<div class="section" id="electrical-resistivity-measurements-board"> -<h3>Electrical resistivity measurements board<a class="headerlink" href="#electrical-resistivity-measurements-board" title="Permalink to this headline">¶</a></h3> -<div class="section" id="a-description"> -<h4>a) Description<a class="headerlink" href="#a-description" title="Permalink to this headline">¶</a></h4> +</section> +</section> +<section id="assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi"> +<h2>Assembly of the measuring/current injection cards, and connection with the Raspberry Pi<a class="headerlink" href="#assembly-of-the-measuring-current-injection-cards-and-connection-with-the-raspberry-pi" title="Permalink to this headline">ïƒ</a></h2> +<section id="electrical-resistivity-measurements-board"> +<h3>Electrical resistivity measurements board<a class="headerlink" href="#electrical-resistivity-measurements-board" title="Permalink to this headline">ïƒ</a></h3> +<section id="a-description"> +<h4>a) Description<a class="headerlink" href="#a-description" title="Permalink to this headline">ïƒ</a></h4> <p>To measure electrical resistivity with Raspberry Pi, an ADS1115 was introduced, as proposed by Florsch [7]. The ADS1115 is a 16-bit ADC (Analog-to-Digital Converter), with an adaptable gain. Its value has been set at 2/3 in this study. The input signal value could lie between - to + 6.114 V. The ADS1115 is mounted on a board adapted from an in-house design. @@ -319,17 +321,19 @@ In version 1.02, we have improved the electronic board of measurement. we have a We also added 4 capacitors on the +12v inputs of the fast operational amplifiers. These are decoupling capacitors (typically 100nF ceramic) between each power supply terminal and ground. The last point, we have added a four very high resistances of 10 MOhm, between the ground and the signal input on the operational amplifiers. This prevents the operational amplifiers from overheating.</p> -<div class="align-center figure" id="id1"> +<figure class="align-center" id="id1"> <a class="reference internal image-reference" href="_images/schema_measurement_board1_02.png"><img alt="alternate text" src="_images/schema_measurement_board1_02.png" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Measurement board (Ohmpi version 1.02)</span><a class="headerlink" href="#id1" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Measurement board (Ohmpi version 1.02)</span><a class="headerlink" href="#id1" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <div class="admonition note"> <p class="admonition-title">Note</p> <p>If you want to have very accurate measurements you can replace the resistors with a tolerance of 1% by resistors with a tolerance of 0.01% which will improve the measurement, but the cost will be higher.</p> </div> -</div> -<div class="section" id="b-implementation"> -<h4>b) Implementation<a class="headerlink" href="#b-implementation" title="Permalink to this headline">¶</a></h4> +</section> +<section id="b-implementation"> +<h4>b) Implementation<a class="headerlink" href="#b-implementation" title="Permalink to this headline">ïƒ</a></h4> <p>The measurement board must be printed using the PCB file (Source file repository), with components soldered onto it by following the steps described below and illustrated in the following figure :</p> <ul> @@ -344,23 +348,16 @@ it by following the steps described below and illustrated in the following figur \[coeff p2 = (R7 + R6) / R7\]</div> <div class="math notranslate nohighlight"> \[coeff p3 = (R9 + R8) / R9\]</div> -<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>36 -37 -38 -39 -40 -41 -42 -43</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="sd">"""</span> -<span class="sd"> hardware parameters</span> -<span class="sd"> """</span> - <span class="n">R_ref</span> <span class="o">=</span> <span class="mi">50</span> <span class="c1"># reference resistance value in ohm</span> - <span class="n">coef_p0</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P0, measurement in V/V</span> - <span class="n">coef_p1</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P1, measurement in V/V</span> - <span class="n">coef_p2</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P2, measurement in V/V</span> - <span class="n">coef_p3</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P3, measurement in V/V</span> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="linenos">36</span> <span class="sd">"""</span> +<span class="linenos">37</span><span class="sd"> hardware parameters</span> +<span class="linenos">38</span><span class="sd"> """</span> +<span class="linenos">39</span> <span class="n">R_ref</span> <span class="o">=</span> <span class="mi">50</span> <span class="c1"># reference resistance value in ohm</span> +<span class="linenos">40</span> <span class="n">coef_p0</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P0, measurement in V/V</span> +<span class="linenos">41</span> <span class="n">coef_p1</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P1, measurement in V/V</span> +<span class="linenos">42</span> <span class="n">coef_p2</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P2, measurement in V/V</span> +<span class="linenos">43</span> <span class="n">coef_p3</span> <span class="o">=</span> <span class="mf">2.5</span> <span class="c1"># slope for current conversion for ADS.P3, measurement in V/V</span> </pre></div> -</td></tr></table></div> +</div> <p>The coefficient parameters can be adjusted in lines 40 to 43 of the ohmpi.py code.</p> </div></blockquote> </dd> @@ -379,18 +376,22 @@ it by following the steps described below and illustrated in the following figur Once all the components have been soldered together, the measurement board can be connected to the Raspberry Pi and the battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to place a fuse holder with a 1.5-A fuse for safety purposes.</p> -<div class="align-center figure" id="id2"> +<figure class="align-center" id="id2"> <a class="reference internal image-reference" href="_images/measurement_board1-02.jpg"><img alt="alternate text" src="_images/measurement_board1-02.jpg" style="width: 800px; height: 700px;" /></a> -<p class="caption"><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ± 1%, c)adding the 1.5-Kohm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p> -</div> -<div class="align-center figure" id="id3"> +<figcaption> +<p><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-Kohm resistors ± 1%, c)adding the 1.5-Kohm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> +<figure class="align-center" id="id3"> <a class="reference internal image-reference" href="_images/measurement_board-2-V1-02.jpg"><img alt="alternate text" src="_images/measurement_board-2-V1-02.jpg" style="width: 800px; height: 700px;" /></a> -<p class="caption"><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image">¶</a></p> -</div> -</div> -</div> -<div class="section" id="current-injection-board"> -<h3>Current injection board<a class="headerlink" href="#current-injection-board" title="Permalink to this headline">¶</a></h3> +<figcaption> +<p><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> +</section> +</section> +<section id="current-injection-board"> +<h3>Current injection board<a class="headerlink" href="#current-injection-board" title="Permalink to this headline">ïƒ</a></h3> <p>To carry out the electrical resistivity measurement, the first step consists of injecting current into the ground. In our case, a simple 9-V lead-acid battery is used to create an electrical potential difference that results in current circulating into the ground. The current is injected through electrodes A and B (see Fig. 2). This @@ -402,10 +403,12 @@ to the GPIO 7 on the Raspberry Pi and therefore activate simultaneously. The rol the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by the GPIO 8 in the open position, the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.</p> -<div class="align-center figure" id="id4"> +<figure class="align-center" id="id4"> <a class="reference internal image-reference" href="_images/current_board.jpg"><img alt="alternate text" src="_images/current_board.jpg" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>The next step consists of featuring the 4-channel relay module used for current injection and its assembly. The wiring between the relays must be carried out in strict accordance with Fig. 10. This card must then be connected to the Raspberry Pi and the measurement card. On the Raspberry Pi, it is necessary to connect inputs In1 and In2 to the same GPIO. For this @@ -413,21 +416,23 @@ purpose, it is necessary to solder together the two pins on the 4-channel relay the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspberry Pi. Now connect relays 1, 2, 3 and 4, as shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively to terminals B and A of the measurement board.</p> -<div class="align-center figure" id="id5"> +<figure class="align-center" id="id5"> <a class="reference internal image-reference" href="_images/installation_current_board_1_02.jpg"><img alt="alternate text" src="_images/installation_current_board_1_02.jpg" style="width: 800px; height: 700px;" /></a> -<p class="caption"><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>Congratulations, you have build a 4 electrodes resistivity-meter.</p> -</div> -<div class="section" id="frist-four-electrodes-resistivity-mesurement"> -<h3>Frist four electrodes resistivity mesurement<a class="headerlink" href="#frist-four-electrodes-resistivity-mesurement" title="Permalink to this headline">¶</a></h3> +</section> +<section id="frist-four-electrodes-resistivity-mesurement"> +<h3>Frist four electrodes resistivity mesurement<a class="headerlink" href="#frist-four-electrodes-resistivity-mesurement" title="Permalink to this headline">ïƒ</a></h3> <p>Under construction !</p> <p>Describe the way to valide the first part of the instruction. Electrical resistivity measurement on test circuit</p> -</div> -</div> -<div class="section" id="multiplexer-implentation"> -<h2>Multiplexer implentation<a class="headerlink" href="#multiplexer-implentation" title="Permalink to this headline">¶</a></h2> +</section> +</section> +<section id="multiplexer-implentation"> +<h2>Multiplexer implentation<a class="headerlink" href="#multiplexer-implentation" title="Permalink to this headline">ïƒ</a></h2> <p>The resistivity measurement is conducted on four terminals (A, B, M and N). The user could perform each measurement by manually plugging four electrodes into the four channel terminals. In practice, ERT requires several tens or thousands of measurements conducted on different electrode arrays. A multiplexer is therefore used to connect each channel to one of @@ -437,10 +442,12 @@ modules with 16 channels each. On the first board, on each MUX, 15 relays out of configuration enables making smaller multiplexers (8 or 16 electrodes only). On the other hand, if you prefer upping to 64 electrodes, which is entirely possible, a GPIO channel multiplier will have to be used. To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.</p> -<div class="align-center figure" id="id6"> +<figure class="align-center" id="id6"> <a class="reference internal image-reference" href="_images/multiplexer_implementation.jpg"><img alt="alternate text" src="_images/multiplexer_implementation.jpg" style="width: 800px; height: 500px;" /></a> -<p class="caption"><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>For this purpose, 0.5-mm² cables with end caps are used and their length adjusted for each connection in order to produce a clean assembly. The length was adjusted so that the distance between the two points to be connected could be directly measured on the board once they had been assembled one above the other, in adding an extra 3 cm. The wires at the ends need to be stripped and the end caps added. @@ -449,10 +456,12 @@ As a final step, connect the cables to the correct connectors. This operation mu for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi, see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.</p> <blockquote> -<div><div class="align-center figure" id="id7"> +<div><figure class="align-center" id="id7"> <a class="reference internal image-reference" href="_images/connection.jpg"><img alt="alternate text" src="_images/connection.jpg" style="width: 800px; height: 400px;" /></a> -<p class="caption"><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> </div></blockquote> <p>For the 16-channel relay shield no. 1, these steps must be followed: * Position a test circuit with 10 horizontal and 10 vertical holes on the pins of the 16-channel relay shield board. @@ -514,40 +523,44 @@ The next step consists of connecting the relay card inputs to the Raspberry Pi a <blockquote> <div><p>Connection of the GPIOs to each multiplexer</p> </div></blockquote> -</div> -<div class="section" id="electrode-connection"> -<h2>Electrode connection<a class="headerlink" href="#electrode-connection" title="Permalink to this headline">¶</a></h2> +</section> +<section id="electrode-connection"> +<h2>Electrode connection<a class="headerlink" href="#electrode-connection" title="Permalink to this headline">ïƒ</a></h2> <p>At this point, all that remains is to connect the electrodes of each multiplexer to a terminal block (Fig. 13). In our set-up, screw terminals assembled on a din rail were used. According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.</p> -<div class="align-center figure" id="id8"> +<figure class="align-center" id="id8"> <a class="reference internal image-reference" href="_images/cable.jpg"><img alt="alternate text" src="_images/cable.jpg" style="width: 800px; height: 300px;" /></a> -<p class="caption"><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <p>the next figure provides an example of multiplexer relay connections for electrode no. 1: this electrode of multiplexer MUX A must be connected to electrode no. 1 of MUX B. Moreover, electrode no. 1 of MUX B must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. This operation must be repeated for all 32 electrodes.</p> -<div class="align-center figure" id="id9"> +<figure class="align-center" id="id9"> <a class="reference internal image-reference" href="_images/electrode_cable.jpg"><img alt="alternate text" src="_images/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a> -<p class="caption"><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image">¶</a></p> -</div> +<figcaption> +<p><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image">ïƒ</a></p> +</figcaption> +</figure> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>The 16 channel relay cards exist in 5-V and 12-V , in the bottom figure we have 12-V cards that we will directly connect to the battery. In case you bought 16 channel relay 5-V cards, you will need to add a DC/DC 12-V/5-V converter. You can use a STEP DOWN MODULE DC-DC (Velleman WPM404) and set the voltage to 5V with the potentiometer.</p> </div> -</div> -<div class="section" id="operating-instruction"> -<h2>Operating instruction<a class="headerlink" href="#operating-instruction" title="Permalink to this headline">¶</a></h2> -<div class="section" id="preliminary-procedure-only-for-the-initial-operation"> -<h3>Preliminary procedure (Only for the initial operation)<a class="headerlink" href="#preliminary-procedure-only-for-the-initial-operation" title="Permalink to this headline">¶</a></h3> +</section> +<section id="operating-instruction"> +<h2>Operating instruction<a class="headerlink" href="#operating-instruction" title="Permalink to this headline">ïƒ</a></h2> +<section id="preliminary-procedure-only-for-the-initial-operation"> +<h3>Preliminary procedure (Only for the initial operation)<a class="headerlink" href="#preliminary-procedure-only-for-the-initial-operation" title="Permalink to this headline">ïƒ</a></h3> <p>The open source code must be downloaded at the Open Science Framework source file repository for this manuscript (<a class="reference external" href="https://osf.io/dzwb4/">https://osf.io/dzwb4/</a>) or at the following Gitlab repository address: <a class="reference external" href="https://gitlab.irstea.fr/reversaal/OhmPi">https://gitlab.irstea.fr/reversaal/OhmPi</a>. The code must be then unzipped into a selected folder (e.g. OhmPi-master). A “readme†file is proposed in the directory to assist with installation of the software and required python packages. It is strongly recommended to create a python virtual environment for installing the required packages and running the code.</p> -</div> -<div class="section" id="startup-procedure"> -<h3>Startup procedure<a class="headerlink" href="#startup-procedure" title="Permalink to this headline">¶</a></h3> +</section> +<section id="startup-procedure"> +<h3>Startup procedure<a class="headerlink" href="#startup-procedure" title="Permalink to this headline">ïƒ</a></h3> <p>As an initial operating instruction, all batteries must be disconnected before any hardware handling. Ensure that the battery is charged at full capacity. Plug all the electrodes (32 or fewer) into the screw terminals. The Raspberry Pi must be plugged into a computer screen, with a mouse and keyboard accessed remotely. The Raspberry Pi must then be plugged into the power supply (for laboratory measurements) or a power bank (5V - 2A for field measurements). At this point, you’ll need to access the Raspbian operating system. Inside the previously created folder “ohmPiâ€, @@ -556,33 +569,28 @@ function may be adjusted/optimized depending on the measurement attributes. For plugged into the hardware; the “ohmpi.py†source code must be run within a python3 environment (or a virtual environment if one has been created) either in the terminal or using Thonny. You should now hear the characteristic sound of a relay switching as a result of electrode permutation. After each quadrupole measurement, the potential difference as well as the current intensity and resistance are displayed on the screen. A measurement file is automatically created and named “measure.csvâ€; it will be placed in the same folder.</p> -</div> -<div class="section" id="electrical-resistivity-measurement-parameters-description"> -<h3>Electrical resistivity measurement parameters description<a class="headerlink" href="#electrical-resistivity-measurement-parameters-description" title="Permalink to this headline">¶</a></h3> +</section> +<section id="electrical-resistivity-measurement-parameters-description"> +<h3>Electrical resistivity measurement parameters description<a class="headerlink" href="#electrical-resistivity-measurement-parameters-description" title="Permalink to this headline">ïƒ</a></h3> <p>In the version 1.02, the measurement parameters are in the Jason file (ohmpi_param.json).</p> -<div class="highlight-python notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1 -2 -3 -4 -5 -6</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="n">nb_electrodes</span> <span class="o">=</span> <span class="mi">32</span> <span class="c1"># maximum number of electrodes on the resistivity meter</span> - <span class="n">injection_duration</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># Current injection duration in second</span> - <span class="n">nbr_meas</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># Number of times the quadripole sequence is repeated</span> - <span class="n">sequence_delay</span><span class="o">=</span> <span class="mi">30</span> <span class="c1"># Delay in seconds between 2 sequences</span> - <span class="n">stack</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># repetition of the current injection for each quadripole</span> - <span class="n">export_path</span><span class="o">=</span> <span class="s2">"home/pi/Desktop/measurement.csv"</span> +<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span> <span class="n">nb_electrodes</span> <span class="o">=</span> <span class="mi">32</span> <span class="c1"># maximum number of electrodes on the resistivity meter</span> +<span class="linenos">2</span> <span class="n">injection_duration</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="c1"># Current injection duration in second</span> +<span class="linenos">3</span> <span class="n">nbr_meas</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># Number of times the quadripole sequence is repeated</span> +<span class="linenos">4</span> <span class="n">sequence_delay</span><span class="o">=</span> <span class="mi">30</span> <span class="c1"># Delay in seconds between 2 sequences</span> +<span class="linenos">5</span> <span class="n">stack</span><span class="o">=</span> <span class="mi">1</span> <span class="c1"># repetition of the current injection for each quadripole</span> +<span class="linenos">6</span> <span class="n">export_path</span><span class="o">=</span> <span class="s2">"home/pi/Desktop/measurement.csv"</span> </pre></div> -</td></tr></table></div> -</div> </div> -<div class="section" id="complete-list-of-components"> -<h2>Complete list of components<a class="headerlink" href="#complete-list-of-components" title="Permalink to this headline">¶</a></h2> +</section> +</section> +<section id="complete-list-of-components"> +<h2>Complete list of components<a class="headerlink" href="#complete-list-of-components" title="Permalink to this headline">ïƒ</a></h2> <div class="admonition warning"> <p class="admonition-title">Warning</p> <p>The list evolve a little bit after the publication of the article, it is necessary to refer to this list, the article is out of date</p> </div> <table class="colwidths-given docutils align-default" id="id10"> -<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id10" title="Permalink to this table">¶</a></caption> +<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id10" title="Permalink to this table">ïƒ</a></caption> <colgroup> <col style="width: 8%" /> <col style="width: 18%" /> @@ -750,8 +758,8 @@ are displayed on the screen. A measurement file is automatically created and nam </tr> </tbody> </table> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/V2_00.html b/sphinx/build/html/V2_00.html index 502af0539677c3aaf7b572c460e5477cc6ae7304..0e5d906f97b23c007f51c5af35d3e3f90eb099b6 100644 --- a/sphinx/build/html/V2_00.html +++ b/sphinx/build/html/V2_00.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>OhmPi V 2.xx (64 or 128 electrodes and 12V) — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>OhmPi V 2.xx (64 or 128 electrodes and 12V) — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -77,14 +78,14 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="ohmpi-v-2-xx-64-or-128-electrodes-and-12v"> -<h1>OhmPi V 2.xx (64 or 128 electrodes and 12V)<a class="headerlink" href="#ohmpi-v-2-xx-64-or-128-electrodes-and-12v" title="Permalink to this headline">¶</a></h1> -<div class="align-center figure"> + <section id="ohmpi-v-2-xx-64-or-128-electrodes-and-12v"> +<h1>OhmPi V 2.xx (64 or 128 electrodes and 12V)<a class="headerlink" href="#ohmpi-v-2-xx-64-or-128-electrodes-and-12v" title="Permalink to this headline">ïƒ</a></h1> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/Under-Construction.png"><img alt="Ohmpi 2" src="_images/Under-Construction.png" style="width: 500px; height: 250px;" /></a> -</div> -<div class="align-center figure"> +</figure> +<figure class="align-center"> <a class="reference internal image-reference" href="_images/image_ohmpi_2.jpg"><img alt="Ohmpi 2" src="_images/image_ohmpi_2.jpg" style="width: 800px; height: 600px;" /></a> -</div> +</figure> <div class="admonition note"> <p class="admonition-title">Note</p> <p>In this version, we have developed two new board types that allow the assembly of Ohmpi v2.00, a measurement board and a multiplexer board. @@ -95,15 +96,15 @@ This new version is made up of:</p> <li><p>A box</p></li> </ol> </div> -<div class="section" id="the-philosophy-of-ohmpi"> -<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">¶</a></h2> +<section id="the-philosophy-of-ohmpi"> +<h2>The philosophy of Ohmpi<a class="headerlink" href="#the-philosophy-of-ohmpi" title="Permalink to this headline">ïƒ</a></h2> <p>The philosophy of Ohmpi V2.00 is to offer a new DIY multielectrode resistivity meter. It is a resistivity meter with 64 electrodes , which can be upgraded to 128 electrodes. It is limited to low-current injection,but suitable for small laboratory experiments and small field time-lapse monitoring. Ohmpi, is developed by a team that seeks to share all its experience and wishes to improve and offer a more and more robust tool to the community.Ohmpi V2.00 is a completely different version from the previous one. We will stop the development on the previous version, to dedicate our efforts on this new version.</p> -</div> -<div class="section" id="technical-data"> -<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">¶</a></h2> +</section> +<section id="technical-data"> +<h2>Technical data<a class="headerlink" href="#technical-data" title="Permalink to this headline">ïƒ</a></h2> <table class="docutils align-default"> <colgroup> <col style="width: 33%" /> @@ -190,9 +191,9 @@ control system</p></td> </tr> </tbody> </table> -</div> -<div class="section" id="ohmpi-2-step-by-step"> -<h2>Ohmpi 2 step by step<a class="headerlink" href="#ohmpi-2-step-by-step" title="Permalink to this headline">¶</a></h2> +</section> +<section id="ohmpi-2-step-by-step"> +<h2>Ohmpi 2 step by step<a class="headerlink" href="#ohmpi-2-step-by-step" title="Permalink to this headline">ïƒ</a></h2> <div class="toctree-wrapper compound"> <ul> <li class="toctree-l1"><a class="reference internal" href="Ohmpi_V2_00/V2_00_step_01.html"><strong>STEP n°1</strong> : Raspberry Pi configuration</a><ul> @@ -221,8 +222,8 @@ control system</p></td> </li> </ul> </div> -</div> -</div> +</section> +</section> </div> diff --git a/sphinx/build/html/_static/basic.css b/sphinx/build/html/_static/basic.css index 24bc73e7f51edb00f73d5cf222632c875dce6657..912859b55d96750bff001bb79037a83a6c02332c 100644 --- a/sphinx/build/html/_static/basic.css +++ b/sphinx/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -277,25 +277,25 @@ p.rubric { font-weight: bold; } -img.align-left, .figure.align-left, object.align-left { +img.align-left, figure.align-left, .figure.align-left, object.align-left { clear: left; float: left; margin-right: 1em; } -img.align-right, .figure.align-right, object.align-right { +img.align-right, figure.align-right, .figure.align-right, object.align-right { clear: right; float: right; margin-left: 1em; } -img.align-center, .figure.align-center, object.align-center { +img.align-center, figure.align-center, .figure.align-center, object.align-center { display: block; margin-left: auto; margin-right: auto; } -img.align-default, .figure.align-default { +img.align-default, figure.align-default, .figure.align-default { display: block; margin-left: auto; margin-right: auto; @@ -319,7 +319,8 @@ img.align-default, .figure.align-default { /* -- sidebars -------------------------------------------------------------- */ -div.sidebar { +div.sidebar, +aside.sidebar { margin: 0 0 0.5em 1em; border: 1px solid #ddb; padding: 7px; @@ -377,12 +378,14 @@ div.body p.centered { /* -- content of sidebars/topics/admonitions -------------------------------- */ div.sidebar > :last-child, +aside.sidebar > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; } div.sidebar::after, +aside.sidebar::after, div.topic::after, div.admonition::after, blockquote::after { @@ -455,20 +458,22 @@ td > :last-child { /* -- figures --------------------------------------------------------------- */ -div.figure { +div.figure, figure { margin: 0.5em; padding: 0.5em; } -div.figure p.caption { +div.figure p.caption, figcaption { padding: 0.3em; } -div.figure p.caption span.caption-number { +div.figure p.caption span.caption-number, +figcaption span.caption-number { font-style: italic; } -div.figure p.caption span.caption-text { +div.figure p.caption span.caption-text, +figcaption span.caption-text { } /* -- field list styles ----------------------------------------------------- */ @@ -503,6 +508,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -629,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -764,8 +818,13 @@ div.code-block-caption code { } table.highlighttable td.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -780,16 +839,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/sphinx/build/html/_static/doctools.js b/sphinx/build/html/_static/doctools.js index daccd209dab05a75f5627390e37a6b764e93f547..8cbf1b161a6527c8c6ad1c4f1fdc156e065ab262 100644 --- a/sphinx/build/html/_static/doctools.js +++ b/sphinx/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -29,9 +29,14 @@ if (!window.console || !console.firebug) { /** * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL */ jQuery.urldecode = function(x) { - return decodeURIComponent(x).replace(/\+/g, ' '); + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); }; /** @@ -285,9 +290,10 @@ var Documentation = { initOnKeyListeners: function() { $(document).keydown(function(event) { var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea + // don't navigate when in search box, textarea, dropdown or button if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { + && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey + && !event.shiftKey) { switch (event.keyCode) { case 37: // left var prevHref = $('link[rel="prev"]').prop('href'); @@ -295,12 +301,14 @@ var Documentation = { window.location.href = prevHref; return false; } + break; case 39: // right var nextHref = $('link[rel="next"]').prop('href'); if (nextHref) { window.location.href = nextHref; return false; } + break; } } }); diff --git a/sphinx/build/html/_static/language_data.js b/sphinx/build/html/_static/language_data.js index d2b4ee91b0da7308cf5693804779c7b18c26252a..863704b310d1539241ef20e26ccce6af27f0ffce 100644 --- a/sphinx/build/html/_static/language_data.js +++ b/sphinx/build/html/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -13,7 +13,8 @@ var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; -/* Non-minified version JS is _stemmer.js if file is provided */ +/* Non-minified version is copied as a separate JS file, is available */ + /** * Porter Stemmer */ @@ -199,7 +200,6 @@ var Stemmer = function() { - var splitChars = (function() { var result = {}; var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, diff --git a/sphinx/build/html/_static/pygments.css b/sphinx/build/html/_static/pygments.css index 96529c7bd0646684a1e820b6c0105d4819cabcf8..be9feffb72350c3f6a6cea451ce4bd72951dff3b 100644 --- a/sphinx/build/html/_static/pygments.css +++ b/sphinx/build/html/_static/pygments.css @@ -1,8 +1,8 @@ pre { line-height: 125%; margin: 0; } -td.linenos pre { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -span.linenos { color: #000000; background-color: #f0f0f0; padding-left: 5px; padding-right: 5px; } -td.linenos pre.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } +span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } +td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #f8f8f8; } .highlight .c { color: #408080; font-style: italic } /* Comment */ diff --git a/sphinx/build/html/_static/searchtools.js b/sphinx/build/html/_static/searchtools.js index 970d0d9756053bf86fdf85d912de4b9a6398fd7b..58ff35c4345d19830352048b89abc8e7c06e4f20 100644 --- a/sphinx/build/html/_static/searchtools.js +++ b/sphinx/build/html/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2020 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -59,10 +59,10 @@ var Search = { _pulse_status : -1, htmlToText : function(htmlString) { - var htmlElement = document.createElement('span'); - htmlElement.innerHTML = htmlString; - $(htmlElement).find('.headerlink').remove(); - docContent = $(htmlElement).find('[role=main]')[0]; + var virtualDocument = document.implementation.createHTMLDocument('virtual'); + var htmlElement = $(htmlString, virtualDocument); + htmlElement.find('.headerlink').remove(); + docContent = htmlElement.find('[role=main]')[0]; if(docContent === undefined) { console.warn("Content block not found. Sphinx search tries to obtain it " + "via '[role=main]'. Could you check your theme or template."); @@ -248,7 +248,7 @@ var Search = { // results left, load the summary and display it if (results.length) { var item = results.pop(); - var listItem = $('<li style="display:none"></li>'); + var listItem = $('<li></li>'); var requestUrl = ""; var linkUrl = ""; if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') { @@ -273,28 +273,31 @@ var Search = { if (item[3]) { listItem.append($('<span> (' + item[3] + ')</span>')); Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { $.ajax({url: requestUrl, dataType: "text", complete: function(jqxhr, textstatus) { var data = jqxhr.responseText; if (data !== '' && data !== undefined) { - listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + var summary = Search.makeSearchSummary(data, searchterms, hlterms); + if (summary) { + listItem.append(summary); + } } Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); }}); } else { // no source available, just display title Search.output.append(listItem); - listItem.slideDown(5, function() { + setTimeout(function() { displayNextItem(); - }); + }, 5); } } // search finished, update title and status message @@ -379,6 +382,13 @@ var Search = { return results; }, + /** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions + */ + escapeRegExp : function(string) { + return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string + }, + /** * search for full-text terms in the index */ @@ -402,13 +412,14 @@ var Search = { ]; // add support for partial matches if (word.length > 2) { + var word_regex = this.escapeRegExp(word); for (var w in terms) { - if (w.match(word) && !terms[word]) { + if (w.match(word_regex) && !terms[word]) { _o.push({files: terms[w], score: Scorer.partialTerm}) } } for (var w in titleterms) { - if (w.match(word) && !titleterms[word]) { + if (w.match(word_regex) && !titleterms[word]) { _o.push({files: titleterms[w], score: Scorer.partialTitle}) } } @@ -490,6 +501,9 @@ var Search = { */ makeSearchSummary : function(htmlText, keywords, hlwords) { var text = Search.htmlToText(htmlText); + if (text == "") { + return null; + } var textLower = text.toLowerCase(); var start = 0; $.each(keywords, function() { @@ -501,7 +515,7 @@ var Search = { var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); - var rv = $('<div class="context"></div>').text(excerpt); + var rv = $('<p class="context"></p>').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); diff --git a/sphinx/build/html/_static/underscore.js b/sphinx/build/html/_static/underscore.js index 5b55f32beaca186f84cca115514f02cddbd1bbd5..cf177d4285ab55fbc16406a5ec827b80e7eecd53 100644 --- a/sphinx/build/html/_static/underscore.js +++ b/sphinx/build/html/_static/underscore.js @@ -1,31 +1,6 @@ -// Underscore.js 1.3.1 -// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. -// Underscore is freely distributable under the MIT license. -// Portions of Underscore are inspired or borrowed from Prototype, -// Oliver Steele's Functional, and John Resig's Micro-Templating. -// For all details and documentation: -// http://documentcloud.github.com/underscore -(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== -c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, -h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= -b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a== -null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= -function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= -e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= -function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})}); -return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, -c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest= -b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]); -return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c, -d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g}; -var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a, -c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true: -a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}}; -b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, -1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; -b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; -b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), -function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ -u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= -function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= -true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.13.1 +// https://underscorejs.org +// (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),T=x("Function"),k=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof k&&(T=function(n){return"function"==typeof n||!1});var D=T,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function $(n){return O(n)&&y(n)}function C(n){return function(){return n}}function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return g&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return g&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),dn=V?fn(vn):x("Map"),gn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return _(n)?U(n)?n.slice():xn({},n):n}function Bn(n){return U(n)?n:[n]}function Nn(n){return tn.toPath(n)}function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}function kn(n){return n}function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Rn(n){return n=Nn(n),function(r){return In(r,n)}}function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn(n)}function Pn(n,r){return Vn(n,r,1/0)}function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}function Un(){}function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=Bn,tn.iteratee=Pn;var zn=Date.now||function(){return(new Date).getTime()};function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var $n={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return nr(n,e,this,this,i)};return e}));rr.placeholder=tn;var tr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return nr(n,e,r,this,t.concat(u))}));return e})),er=K(Y);function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(er(a)&&(U(a)||L(a)))if(r>1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var or=j((function(n,r){var t=(r=ur(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=tr(n[e],n)}return n}));var ir=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ar=rr(ir,tn,1);function fr(n){return function(){return!n.apply(this,arguments)}}function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var vr=pr(1),hr=pr(-1);function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var gr=dr(1,vr,yr),br=dr(-1,hr);function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),gr(n,r,t)>=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Wn(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e,u),jr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Dr=kr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Rr=kr((function(n,r,t){n[t]=r})),Fr=kr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Vr=kr((function(n,r,t){n[t?0:1].push(r)}),!0),Pr=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qr(n,r,t){return r in t}var Ur=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Wr=j((function(n,r){var t,e=r[0];return D(e)?(e=fr(e),r.length>1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Er(o,c)||(o.push(c),u.push(f)):Er(u,f)||u.push(f)}return u}var Gr=j((function(n){return Jr(ur(n,!0,!0))}));function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Nr(n,e);return t}var Qr=j(Hr);function Xr(n,r){return n._chain?tn(r).chain():r}function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Xr(this,t.apply(tn,n))}})),tn}jr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Xr(this,t)}})),jr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Xr(this,n)}}));var Zr=Yr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&d(n)&&!isNaN(parseFloat(n))},isNaN:$,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:dn,isWeakMap:gn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:En,tap:function(n,r){return r(n),n},get:Tn,has:function(n,r){for(var t=(r=Nn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=qn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:kn,constant:C,noop:Un,toPath:Bn,property:Rn,propertyOf:function(n){return null==n?Un:function(r){return Tn(n,r)}},matcher:Dn,matches:Dn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Fn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Wn,now:zn,escape:Cn,unescape:Kn,templateSettings:Jn,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e=RegExp([(r.escape||Gn).source,(r.interpolate||Gn).source,(r.evaluate||Gn).source].join("|")+"|$","g"),u=0,o="__p+='";n.replace(e,(function(r,t,e,i,a){return o+=n.slice(u,a).replace(Qn,Xn),u=a+r.length,t?o+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?o+="'+\n((__t=("+e+"))==null?'':__t)+\n'":i&&(o+="';\n"+i+"\n__p+='"),r})),o+="';\n";var i,a=r.variable;if(a){if(!Yn.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{i=new Function(a,"_",o)}catch(n){throw n.source=o,n}var f=function(n){return i.call(this,n,tn)};return f.source="function("+a+"){\n"+o+"}",f},result:function(n,r,t){var e=(r=Nn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Zn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Pn,partial:rr,bind:tr,bindAll:or,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:ir,defer:ar,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:zn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=zn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return Tr(n,1/0)},sample:Tr,sortBy:function(n,r,t){var e=0;return r=qn(r,t),Nr(_r(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Dr,indexBy:Rr,countBy:Fr,partition:Vr,toArray:function(n){return n?U(n)?i.call(n):S(n)?n.match(Pr):er(n)?_r(n,kn):jn(n):[]},size:function(n){return null==n?0:er(n)?n.length:nn(n).length},pick:Ur,omit:Wr,first:Lr,head:Lr,take:Lr,initial:zr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:$r(n,Math.max(0,n.length-r))},rest:$r,tail:$r,drop:$r,compact:function(n){return Sr(n,Boolean)},flatten:function(n,r){return ur(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:Gr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Er(r,o)){var i;for(i=1;i<t&&Er(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Hr,transpose:Hr,zip:Qr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Yr,default:tn});return Zr._=Zr,Zr})); \ No newline at end of file diff --git a/sphinx/build/html/genindex.html b/sphinx/build/html/genindex.html index be2042b303e8c7fe1435974da59f574bcd02cb1c..46e796b5a8253e3d52950659f0590d731f78779a 100644 --- a/sphinx/build/html/genindex.html +++ b/sphinx/build/html/genindex.html @@ -3,17 +3,17 @@ <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Index — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>Index — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="#" /> <link rel="search" title="Search" href="search.html" /> diff --git a/sphinx/build/html/index.html b/sphinx/build/html/index.html index 218bf292e517ef03aa66d8875d3c86c366d1616c..83664afe896d395bd8b1635c0f21882ac08dbf83 100644 --- a/sphinx/build/html/index.html +++ b/sphinx/build/html/index.html @@ -1,19 +1,20 @@ <!DOCTYPE html> <html class="writer-html5" lang="en" > <head> - <meta charset="utf-8" /> + <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>OHMPI: Open source and open hardware resitivity-meter — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>OHMPI: Open source and open hardware resitivity-meter — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> @@ -66,16 +67,16 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <div class="section" id="ohmpi-open-source-and-open-hardware-resitivity-meter"> -<h1>OHMPI: Open source and open hardware resitivity-meter<a class="headerlink" href="#ohmpi-open-source-and-open-hardware-resitivity-meter" title="Permalink to this headline">¶</a></h1> -<div class="sidebar"> + <section id="ohmpi-open-source-and-open-hardware-resitivity-meter"> +<h1>OHMPI: Open source and open hardware resitivity-meter<a class="headerlink" href="#ohmpi-open-source-and-open-hardware-resitivity-meter" title="Permalink to this headline">ïƒ</a></h1> +<aside class="sidebar"> <p class="sidebar-title">Summary</p> <dl class="field-list simple"> <dt class="field-odd">Release</dt> <dd class="field-odd"><p>open hardware resistivity-meter</p> </dd> <dt class="field-even">Date</dt> -<dd class="field-even"><p>Jan 22, 2022</p> +<dd class="field-even"><p>Jan 30, 2022</p> </dd> <dt class="field-odd">Date start</dt> <dd class="field-odd"><p>July 2016</p> @@ -90,7 +91,7 @@ <dd class="field-even"><p>some mature, some in progress</p> </dd> </dl> -</div> +</aside> <div class="topic"> <p class="topic-title">OhmPi Document Center</p> <ul class="simple"> @@ -176,7 +177,7 @@ </li> </ul> </div> -</div> +</section> </div> diff --git a/sphinx/build/html/search.html b/sphinx/build/html/search.html index 689efaf19a81c3cc2fd0f1924e0652254b61119a..d659aac06ca56e2261c5385db899921e77ce5574 100644 --- a/sphinx/build/html/search.html +++ b/sphinx/build/html/search.html @@ -3,18 +3,18 @@ <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Search — Ohmpi: open hardware resistivity-meter documentation</title><link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> - <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <title>Search — Ohmpi: open hardware resistivity-meter documentation</title> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <!--[if lt IE 9]> <script src="_static/js/html5shiv.min.js"></script> <![endif]--> - <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script src="_static/language_data.js"></script> - <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> <script src="_static/js/theme.js"></script> <script src="_static/searchtools.js"></script> <script src="_static/language_data.js"></script> diff --git a/sphinx/build/html/searchindex.js b/sphinx/build/html/searchindex.js index 986c5449898ed9558d2ed3ca21676ebbb405da53..51e354b2937cc9c42d44c7bf1d1f9373e1a4e216 100644 --- a/sphinx/build/html/searchindex.js +++ b/sphinx/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["Ohmpi","Ohmpi_V2_00/V2_00_step_01","Ohmpi_V2_00/V2_00_step_02","Ohmpi_V2_00/V2_00_step_03","V1_01","V1_02","V2_00","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["Ohmpi.rst","Ohmpi_V2_00\\V2_00_step_01.rst","Ohmpi_V2_00\\V2_00_step_02.rst","Ohmpi_V2_00\\V2_00_step_03.rst","V1_01.rst","V1_02.rst","V2_00.rst","index.rst"],objects:{},objnames:{},objtypes:{},terms:{"000":[4,5],"001000":2,"001101":2,"008":3,"018":[4,5],"0251001":5,"02be":[2,3],"061":3,"091":3,"0x70":3,"0x71":3,"0x72":3,"0x73":3,"0x77":3,"100":[4,5],"100k":3,"100nf":[2,5],"101":[4,5],"10120158":3,"1012015810":3,"10120550":[2,3],"10120558":3,"10120862":3,"1016":0,"102110421":2,"103":[4,5],"103321":3,"1083":[4,5],"1085":2,"10v":5,"110":[2,4,5],"1115":[4,5],"114":[2,4,5],"11mm":2,"120":[2,3],"1211n":2,"1212":2,"1215":[2,5],"127":3,"128":[3,7],"12v":[2,4,5,7],"1332":[4,5],"140":3,"150":[3,4,5,6],"1548658":3,"1565235":[4,5],"1568649":[4,5],"1580994":3,"185":[4,5],"199":[4,5],"1kohm":2,"1n4007":3,"1x0":[4,5],"1x1":[4,5],"1x10":[2,4,5],"2016":7,"2020":0,"2021":0,"2022":7,"205":3,"220":2,"24300":3,"24v":[2,5],"252b7an":2,"252baqg":3,"252bdzonqg":2,"252be0w1orxzibqpw":2,"252be1bmvd":2,"252bg":2,"252bii":2,"252bnrpuooeq":2,"252bsz9b":3,"252bx":2,"252bz3hvktao":3,"252bzuq":3,"254":[2,3],"25515":3,"256":3,"2701":[2,3],"2717":3,"296":3,"2f0t3ruis9pcaqjlt4":2,"2f12mkns3vxsdryxuhw":[2,3],"2f2czwu0ejpozmzc2a":3,"2f2czwuxuhumfr":3,"2f33nj0gbxroculucynpyong":2,"2f5q":3,"2faaymw02gquicgqj0ta":2,"2fbpyakboruumren":3,"2ff6fcxt7g":3,"2ffq":2,"2fha2pyfadugpyeg4idvm":2,"2fha2pyfadugy9twham3ru9hmijohywhbin95knm":2,"2fha2pyfaduh":2,"2fha2pyfaduhuylh7az":2,"2fha2pyfadujqkqx4wauig":2,"2flq1th4mcyoetma":2,"2fm":2,"2fmgndxmcnv":2,"2fmjfh2xjoums6wztux4som":2,"2fmsr":2,"2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn":2,"2fq":2,"2fqaur8narg":2,"2fufuz19ilfayzxocfra":2,"3002002":2,"304":2,"305":[2,3],"308":2,"325":3,"3x11":2,"41f2r0e":2,"449":2,"45100":0,"4686":[4,5],"471":3,"500":[4,5],"503811":3,"508":[2,3],"50vdc":[2,5],"512":3,"524":2,"537":[4,5],"5488":[4,5],"560":3,"576":[3,4],"593":2,"5kohm":2,"5twgzeq9e7hsylqaljjyrw":3,"5vcc":[4,5],"5vdc":[4,5],"614":3,"616":3,"627":[4,5],"648":[2,3,4,5],"69626":0,"69675":0,"732":3,"741435":2,"741727":3,"742063":3,"745":3,"762":2,"776":3,"796":2,"7ah":[4,5],"7mvldsj5uaxen3lyyh3sqw":2,"846":3,"858":[4,5],"897":[4,5],"9004330000":[4,5],"966067":[4,5],"971110321":2,"\u00e9lectrod":[],"\u00e9tape":[],"\u00eatre":[],"ao\u00fbt":0,"attribu\u00e9":[],"case":[1,4,5],"d\u00e9faut":[],"default":3,"diff\u00e9rent":[],"export":1,"final":[4,5],"function":[0,4,5],"h\u00e9l\u00e8ne":[0,7],"mm\u00b2":[4,5],"n\u00e9cessair":[],"new":[1,4,5,6],"orl\u00e9an":0,"pr\u00e9senton":[],"public":[4,5],"r\u00e9mi":[0,7],"r\u00e9p\u00e9ter":[],"return":[1,4,5],"switch":[4,5],"universit\u00e9":0,"vid\u00e9o":[1,4,5],ADS:[4,5],CMS:[4,5],For:[1,2,3,4,5],IDE:[6,7],IGE:0,Its:[4,5],The:[1,2,3,7],These:[4,5],With:[4,5],a_0x73:[],abmn:[4,5],abov:[4,5],acc:[1,4,5],access:[4,5],accord:[4,5],accur:[4,5],accuraci:[4,5],acid:[4,5],activ:[3,6,7],actual:[4,5],adafruit:[1,2,3,4,5],adapt:[2,4,5],adc:[2,4,5],add:[4,5],added:[4,5],adding:[4,5],addit:[4,5],address:[2,4,5,6],adjust:[2,4,5],adress:[],ads1115:[2,4,5],ads115:[2,4,5],ads1x15:[1,4,5],advantag:2,after:[4,5],align:[],all:[1,3,4,5,6],alloc:3,allow:[0,2,3,4,5,6],alp:0,also:[1,4,5],altern:[1,4,5],amp:[2,4,5],amplif:2,amplifi:[4,5],analog:[2,4,5],ani:[4,5],anoth:[1,4,5],apm:[2,3],appear:[1,2,4,5],appli:[0,4,5],applic:0,apt:[1,4,5],aqy211eh:2,arduino:4,arm:4,around:2,arrai:[4,5],articl:[4,5],asler:[2,3,4,5],assembl:[6,7],assign:3,assist:[4,5],associ:[0,3],attent:[4,5],attribut:[4,5],author:[0,1,4,5,7],automat:[0,4,5],automobil:[4,5],avail:[4,5],avec:[],avoir:[],avr:4,bank:[4,5],base:[1,3,4,5],basic:0,batteri:[2,4,5,6],been:[1,4,5],befor:[4,5],behavior:[4,5],being:[4,5],below:[1,4,5],between:[2,3,4,5],beyschlag:3,bin:[1,4,5],bit:[2,4,5],bkl:[2,3],black:[2,4,5],blinka:[1,4,5],blk:[2,3],block:[4,5],blue:[4,5],board:[1,6,7],boot:[1,4,5],both:[4,5],bottom:[2,4,5],bought:[4,5],box:6,breakout:2,bridg:[4,5],bug:4,build:[3,4,5],button:[1,4,5],by10:2,c320c104k1:[2,5],c320c104k1r5ta7303:2,c4uyot:2,cabl:[1,2,3,4,5],calcul:[4,5],calibr:[4,5],call:[0,1],can:[1,4,5,6],canal:4,cap:[4,5],capac:[4,5],capacitor:[2,5],car:4,card:[1,3,6,7],carri:[1,4,5],cart:[],caus:[1,4,5],ccf071k50gke36:2,cedex:0,center:[],ceram:[2,5],cett:[],cflag:1,chang:[2,3],channel:[3,4,5],chaqu:[],characterist:[4,5],charg:[4,5],check:[1,4,5,6],chosen:[4,5],ciayqk2gdckzia2levalkg:2,circuit:[2,3,4,5],circuitpython:[1,4,5],circul:[4,5],cite:7,clean:[4,5],clement:[0,7],click:[1,4,5],close:[1,4,5],cmf651m0000fkek143:2,code:[1,2,3,4,5],coef_p0:[4,5],coef_p1:[4,5],coef_p2:[4,5],coef_p3:[4,5],coeff:[4,5],coeffici:[4,5],colour:3,com:[1,2,3,4,5],combin:3,command:[1,4,5],commerci:[4,5],common:[4,5],commun:[0,6],complet:[1,2,6,7],compon:[1,6,7],comput:[1,4,5],concevoir:[],conduct:[4,5],config:[1,4,5],configur:[6,7],congratul:[4,5],connect:[1,2,3,7],connector:[3,4,5],conrad:[2,3],consequ:[4,5],consist:[4,5],constitut:[4,5],construct:[4,5],consumpt:[4,5,6],contact:[2,3,4,5],contain:[1,4,5],content:7,control:[4,5,6],convers:[4,5],convert:[2,4,5],copi:1,corner:2,correct:[4,5],correspond:4,cost:[0,2,3,4,5],could:[2,4,5],cpu:[4,5,6],creat:[1,4,5],creation:0,crimp:[4,5],csv:[4,5],ctrl:[1,4,5],cui:[2,3],current:[0,2,6,7],dale:2,damag:[1,4,5],dan:[],data:[0,7],date:[0,4,5,7],dcconvert:5,deactiv:[1,4,5],decid:[1,4,5],decoupl:5,decreas:2,dedic:[0,6],delai:[4,5],deliv:[4,5],depart:0,depend:[1,4,5],describ:[1,2,4,5],descript:[6,7],design:[4,5],desktop:5,despit:[4,5],detail:4,dev:[1,4,5],develop:[0,1,2,4,5,6,7],devic:[2,3],devra:[],diagram:[4,5],differ:[1,2,3,4,5,6],digit:[2,3,4,5],dii:6,din:[4,5],diod:3,dip:[2,3],direct:[4,5],directli:[2,4,5],directori:[1,4,5],disconnect:[4,5],discret:1,displai:[4,5],distanc:[4,5],disturb:[4,5],divid:[4,5],document:[0,4],donc:[],done:[1,4,5],dot:2,down:[4,5],download:[4,5],dsp:4,dual:[2,3,4,5],duboi:[0,7],duplic:3,durat:[4,5,6],dure:[1,4,5],dzwb4:[4,5],e00122ff:0,each:[1,3,4,5],eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw:2,eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw:2,editor:[1,4,5],effort:6,eiffel:0,either:[1,4,5],ejector:[2,3],electr:[0,2,7],electrod:[0,2,3,7],electron:[2,3,4,5],elektronik:2,elsevi:0,emil:0,enabl:[4,5],end:[1,4,5],energ:[4,5],enough:[3,4,5],ensur:[1,4,5],enter:[1,4,5],entir:[4,5],environ:[1,4,5],environn:[6,7],environnementshould:[1,4,5],equal:[4,5],equival:[2,4,5],ert:[4,5],escap:[1,4,5],est:[],estim:[4,5],everi:3,everyon:0,everyth:2,evolv:[4,5],exampl:[4,5],excess:[4,5],execut:[1,4,5],exist:[4,5],expand:3,expend:3,experi:[0,4,5,6],explain:4,export_path:5,extra:[4,5],failur:[1,4,5],fargier:[0,7],fast:5,faudra:[],faut:[],fcommon:1,featur:[4,5],femal:[2,3,4,5],ferrul:[4,5],fewer:[4,5],ff10:0,fhac0002zxj:4,field:[4,5,6],fig:[4,5],figur:[2,4,5],file:[1,4,5],find:[1,4,5],first:[1,4,5],fix:2,fixant:[],flexibl:0,florsch:[2,4,5],flow:[4,5],foi:[],folder:[1,4,5],follow:[1,2,3,4,5],forquet:[0,7],four:[2,6,7],framework:[4,5],franc:0,frist:7,from:[3,4,5,6],full:[4,5],fulli:0,fuse:[4,5],g5le:3,gain:[2,4,5],ganc:[0,7],gather:[1,4,5],gclid:2,gener:[2,3,4,5,7],geologi:0,ger:0,get:[0,1,2,4,5],gitlab:[4,5],gnd:[4,5],gnu:[1,4,5],gpio:[1,3,4,5],gpiozero:1,grenobl:0,gro:0,ground:[2,4,5],gui:[1,4,5],guidelin:7,gurawfaegucaqqfvnvtyeg:2,gustav:0,guyard:[0,7],h81k0bya:[2,4,5],h81k5bya:[2,4,5],had:[4,5],hand:[4,5],handl:[4,5],hardwar:[0,4,5],hardwarex:0,harwin:2,has:[1,3,4,5],have:[1,2,3,4,5,6],hazard:[4,5],hdmi:1,header:[2,3,4,5],hear:[4,5],here:[3,5],hex:3,hexagonal:2,hexseal:[2,3],high:[4,5],higher:[2,5],holder:[4,5],hole:[4,5],holsworthi:2,home:[1,4,5],horizont:[4,5],hous:[4,5],how:[1,4,5],howev:[4,5],http:[1,2,3,4,5],i2c:[1,2,3],i2cdetect:2,ici:[],identifi:3,ifsttar:0,iggadovctstu:2,illustr:[4,5],im6toxqzgoauedprb19mha:2,imag:[0,1],imped:[4,5,6],implent:7,improv:[5,6],in1:[4,5],in2:[4,5],in3:[4,5],in4:[4,5],ina282:2,ina282aid:2,includ:[1,4,5],incom:[4,5],incorpor:3,increas:[4,5],inde:[4,5],industri:2,initi:7,inject:[0,6,7],injection_dur:[4,5],inpout:2,input:[2,4,5,6],inra:0,insert:[4,5],insid:[4,5],instal:[2,3,6,7],instanc:1,instead:[4,5],instruct:[1,7],instrument:[0,2,4,5],integr:2,intens:[4,5],interfac:[1,4,5],interpret:[1,2,4,5],introduc:[4,5],introduct:7,invit:4,involv:0,ion:[4,5],iri:0,irstea:[4,5],its:[1,3,4,5,6],jan:7,jason:5,jjse:[2,3],journal:4,jpg:[],json:5,juillet:0,juli:7,julien:[0,7],jumper:3,just:[2,5],kaufmann:[0,7],kemet:[2,5],keyboard:[1,4,5],keyston:3,known:[1,4,5],kohm:[2,3,4,5],laboratori:[0,4,5,6],laps:6,last:5,lastli:[4,5],latest:[1,4,5],lead:[4,5],leav:[1,4,5],left:2,length:[4,5],les:[],less:[4,5],let:[4,5],libatla:[1,4,5],librari:[1,4,5],lie:[2,4,5],limit:[2,6,7],line:[2,3,4,5],list:[1,7],lithium:[4,5],littelfus:[4,5],littl:[4,5],lm158:2,lm158j:2,lm158n:2,lm358an:[2,4,5],lm358n:[4,5],locat:[1,4,5],logger:[0,4,5],low:[0,1,4,5,6],lr20:[4,5],lying:[4,5],lyon:0,m_0x73:[],made:[4,5,6],mai:[1,4,5],main:[4,5],make:[1,4,5],male:[2,3],manag:[4,5],manual:[4,5],manufactur:[2,3,4,5],manuscript:[4,5],mark:2,master:[4,5],matur:7,max:2,maximum:[4,5],mba02040c1003frp00:3,mcp23008:2,mcp23017:3,mcp230xx:1,measur:[0,1,6,7],mechan:[3,4,5],meet:[1,4,5],mega:[4,5],menu:[1,4,5],mesur:7,met:[1,4,5],meter:[0,4,5,6],meterfeatur:0,mgh:2,micro:[1,4,5,6],mill:2,mimic:[4,5],min:[4,5,6],miss:4,mm2:[4,5],model:[1,2,4,5],modif:[1,4,5],modifi:[1,4,5],modul:[4,5],mofset:3,mohm:[2,4,5,6],mon:0,monitor:[4,5,6],more:6,moreov:[4,5],mosfet:3,mount:[2,3,4,5],mous:[1,4,5],mouser:[2,3],muliplex:3,multi:[3,4,5],multielectrod:6,multipl:1,multiplex:[0,3,6,7],multipli:[4,5],must:[1,3,4,5],mux:[4,5,6,7],mzrxyrlhvdt9crf7zyf:3,name:[3,4,5],nano:[1,4,5],nb_electrod:[4,5],nbr_mea:[4,5],nchannel:3,necessari:[1,3,4,5],need:[1,2,3,4,5],neg:[4,5],next:[4,5],nicola:[0,7],noob:[4,5],nopb:[2,4,5],normal:[4,5],note:[3,4,5],noter:[],nou:[],now:[4,5],number:[2,3,4,5],numer:[4,5],numpi:[1,4,5],obtain:[4,5],offcial:7,offer:[4,5,6],ohm:[2,4,5,6],ohmit:2,ohmmet:[4,5],ohmpi:[1,2,3],ohmpi_4elec:2,ohmpi_param:5,ohx:0,olivi:[0,7],omron:3,onc:[1,4,5],one:[2,4,5,6],onli:[3,7],onto:[4,5],open:[0,1,4,5],oper:[1,2,6,7],optic:2,optim:[4,5],option:[1,4,5],order:[4,5],org:1,orient:5,osf:[4,5],other:[4,5],our:[4,5,6],out:[1,4,5],outpout:2,output:[4,5],over:3,overh:5,own:3,packag:[6,7],padboard:2,pai:[4,5],panason:2,panda:[1,4,5],par:[],parallel:1,paramet:[6,7],part:[4,5,6],parten:0,partenair:7,pat1l:5,path:[1,4,5],pcb:[2,3,4,5],pcs:[2,3],per:[2,3,4,5],perform:[0,1,4,5],permut:[4,5],philosophi:[0,7],pic:4,piec:[4,5],pin:[2,3,4,5],pip:[1,4,5],pitch:[2,3,4,5],place:[4,5],plai:2,pleas:[4,5],plug:[2,4,5],point:[4,5,6],polar:[4,5],pole:[4,5],port:2,posit:[1,4,5],possibl:[4,5],potenti:[4,5],potentiomet:[4,5],pour:4,power:[2,3,4,5,6],practic:[4,5],pre:2,preci:2,precis:[2,4,5],prefer:[4,5],preliminari:7,prepar:[2,4,5],present:[0,3,4,5],press:[1,4,5],prevent:5,previou:6,previous:[1,4,5],print:[2,3,4,5],pro:[4,5],problem:1,procedur:7,produc:[4,5],product:[2,3],productdetail:[2,3],program:[1,4,5],progress:[0,7],project:[1,7],propos:[2,4,5],proposon:[],protect:1,protocol:[4,5],provid:[0,4,5],publish:4,puls:[4,5,6],purpos:[4,5],pyhton3:[1,4,5],python3:[1,4,5],python:[6,7],pythonid:[1,4,5],qkeozdl6eqpa6lzrlqfvow:2,quadripol:[4,5],quadrupol:[4,5],quantiti:[1,4,5],qui:[],r10:[4,5],r11:[4,5],r12:[4,5],r25:2,r_ref:[4,5],rail:[4,5],rang:[4,5],rapberri:[6,7],raspberri:[2,3,6,7],raspberrypi:1,raspbian:[1,4,5],raspebrri:[1,4,5],readm:[4,5],realiz:2,recommend:[1,4,5],red:[2,4,5],reduct:[4,5],refer:[2,3,4,5],relai:[1,2,3,4,5],releas:7,relief:3,remain:[4,5],rememb:[4,5],remot:[1,4,5],repeat:[4,5],repetit:[4,5],replac:5,repositori:[4,5],repres:[3,4,5],requir:[1,4,5,6],research:7,resist:[0,2,6,7],resistor:[2,3,4,5],resolut:[4,5,6],respect:[4,5],result:[2,4,5],revers:[4,5],reversa:[0,4,5],ribbon:3,right:2,rm3x8mm:[2,3],robust:[0,4,5,6],role:[4,5],root:[1,4,5],row:[2,3],rpi:[1,4,5],rro:0,ru5fayqh:2,run:[1,2,4,5],safeti:[4,5],sain:[4,5],sainsmart:[4,5],same:[4,5],samtec:[2,4,5],save:[1,4,5],scale:0,schemat:[2,4,5],scienc:[4,5],scientif:0,screen:[2,4,5],screw:[2,3,4,5],searchsuggest:[2,3],searchterm:[2,3],searchtyp:[2,3],second:[4,5],section:[4,5],see:[4,5],seeed:2,seek:6,select:[1,3,4,5],sequenc:[4,5],sequence_delai:[4,5],seri:[4,5],serv:[4,5],set:[1,2,4,5],setp:5,setup:[1,4,5],sever:[4,5],sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi:3,sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw:2,sgaepimzzmsyydr3r27av4eqf73yoh:3,sgaepimzzmueqxo7l:3,share:6,shield:[1,4,5],shortcut:[4,5],should:[1,2,4,5],show:[2,4,5],shown:[4,5],shunt:2,shutdown:2,signal:[2,4,5],simpl:[4,5],simpli:[1,4,5],simultan:[4,5],singl:[4,5],slope:[4,5],small:[0,2,4,5,6],smaller:[4,5],smart:[4,5],smt:2,socket:[2,3],softwar:[1,4,5],soic:2,soil:[4,5],solder:[2,4,5],solut:[4,5],some:[4,5,7],sound:[4,5],sourc:[0,1,4,5],space:[2,3],spacer:[2,3],specif:[4,5,6],specifi:[1,4,5],spi:[1,4,5],spool:2,ssq:2,ssw:[2,4,5],stabl:[1,4,5],stack:[4,5],stainless:[4,5],start:[1,4,5,6,7],startup:7,statu:[0,7],steel:[4,5],step:[4,5,7],step_n_3:[],still:[4,5],stop:6,storag:[4,5,6],strain:3,strict:[4,5],strip:[2,3,4,5],strong:[4,5],stronger:[4,5],strongli:[1,4,5],stuck:[4,5],studi:[4,5],studio:2,subject:[4,5],sudo:[1,4,5],suffici:[1,4,5],suggest:[2,3,4,5],suitabl:[4,5,6],sum:[4,5],suppli:[2,4,5],support:1,suppress:5,sur:[],sure:[1,4,5],surfac:0,system:[1,4,5,6],tab:[1,4,5],tabl:5,target:7,task:[1,4,5],tb009:[2,3],tca9548a:[1,3],tdh15:2,team:6,technic:7,temperatur:[4,5,6],ten:[4,5],termin:[1,2,3,4,5],test:[1,2,4,5],texa:[2,4,5],than:[2,4,5],thd:2,the9:[4,5],thei:[4,5],them:[4,5],therefor:[3,4,5],thi:[0,1,2,3,4,5,6],thonni:[6,7],thousand:[4,5],three:[2,4,5],through:[4,5],thu:[4,5],time:[1,3,4,5,6],togeth:[4,5],toler:5,tonni:2,tool:[0,6],top:2,total:[2,3,4,5],tow:2,track:[4,5],traco:[2,5],tracopow:[2,5],trn3:5,trn:[2,5],tru:[3,4,5],turn:[4,5],tutori:7,two:[2,4,5,6],txt:[1,4,5],type:[1,3,4,5,6],typic:[4,5],under:[4,5],une:[],unexpectedli:[1,4,5],unit:[2,3,4,5,6],univ:0,unplug:2,unzip:[4,5],updat:0,upgrad:[5,6],upper:2,upping:[4,5],upw50b50rv:[4,5],use:[1,3,4,5],used:[1,2,3,4,5],user:[1,4,5,7],using:[1,4,5],usr:[1,4,5],util:1,uwqyq:3,valeur:[],valid:[4,5],valu:[2,3,4,5],variou:[4,5],vdc:3,velleman:[4,5],venv:[1,4,5],veri:5,version:[1,2,4,5,6],vertic:[4,5],vhuuswq2:3,via:[1,4,5],view:2,villeurbann:0,vip:2,virtual:[6,7],vishai:[2,3],visit:1,vivien:[0,7],vlwxofp3u2wcfk5uckwtka:[2,3],voie:[],voltag:[2,4,5,6],voltmet:[4,5],w0yvoo0ixfenuv0hsdc4:2,wai:[1,4,5],want:5,watch:[1,4,5],weaker:4,web:[2,3],websit:[1,4,5],weidmul:[4,5],welcom:0,well:[1,4,5],were:[1,2,4,5],when:[1,4,5],where:[1,4,5],which:[2,3,4,5,6],whose:[4,5],willing:0,window:[1,4,5],wire:[1,4,5],wish:6,within:[1,4,5],without:[4,5],wjwzhv1v3pk:[1,4,5],wktuvitrialgiu8hcm7dvq:2,work:2,would:[4,5],wpm404:[4,5],write:[1,2,4,5],wurth:2,www:[1,2,3,4,5],x1j7hmvl2zh8vpefml8:2,yannick:[0,7],yca:2,you:[1,2,4,5],your:[1,2,4,5],youtub:[1,4,5],ze4:2,zoom:3,zvn4206a:3},titles:["OhmPi project","<strong>STEP n\u00b01</strong> : Raspberry Pi configuration","<strong>STEP n\u00b02</strong>: Measurement board","<strong>STEP n\u00b03</strong>: MUX board","OhmPi V 1.01 (limited to 32 electrodes)","OhmPi V 1.02 (limited to 32 electrodes)","OhmPi V 2.xx (64 or 128 electrodes and 12V)","OHMPI: Open source and open hardware resitivity-meter"],titleterms:{"128":6,"12v":6,IDE:[1,4,5],The:[4,5,6],activ:[1,4,5],address:3,assembl:[2,3,4,5],board:[2,3,4,5],card:[4,5],center:7,check:2,cite:0,complet:[4,5],compon:[2,3,4,5],configur:[1,4,5],connect:[4,5],current:[4,5],data:[4,5,6],descript:[2,4,5],document:7,electr:[4,5],electrod:[4,5,6],environn:[1,4,5],four:[4,5],frist:[4,5],hardwar:7,implement:[4,5],implent:[4,5],initi:[4,5],inject:[4,5],instal:[1,4,5],instruct:[4,5],introduct:0,limit:[4,5],list:[2,3,4,5],measur:[2,4,5],mesur:[4,5],meter:7,multiplex:[4,5],mux:3,ohmpi:[0,4,5,6,7],onli:[4,5],open:7,oper:[4,5],packag:[1,4,5],paramet:[4,5],part:[1,2,3],partenair:0,philosophi:[4,5,6],preliminari:[4,5],procedur:[4,5],project:0,python:[1,4,5],rapberri:[1,4,5],raspberri:[1,4,5],requir:[2,3],resist:[4,5],resit:7,sourc:7,start:2,startup:[4,5],step:[1,2,3,6],summari:7,tabl:4,technic:[4,5,6],test:[],thonni:[1,4,5],titl:4,virtual:[1,4,5]}}) \ No newline at end of file +Search.setIndex({docnames:["Ohmpi","Ohmpi_V2_00/V2_00_step_01","Ohmpi_V2_00/V2_00_step_02","Ohmpi_V2_00/V2_00_step_03","V1_01","V1_02","V2_00","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["Ohmpi.rst","Ohmpi_V2_00/V2_00_step_01.rst","Ohmpi_V2_00/V2_00_step_02.rst","Ohmpi_V2_00/V2_00_step_03.rst","V1_01.rst","V1_02.rst","V2_00.rst","index.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[2,3,4,5,6],"00":6,"000":[4,5],"001000":2,"001101":2,"008":3,"01":[5,7],"018":[4,5],"02":[2,4,7],"0251001":5,"02be":[2,3],"04":[0,4,5],"05":[4,5],"06":[4,5],"061":3,"08":[2,3],"09":[4,5],"091":3,"0x70":3,"0x71":3,"0x72":3,"0x73":3,"0x77":3,"1":[2,3,6,7],"10":[2,3,4,5],"100":[4,5],"100k":3,"100nf":[2,5],"101":[4,5],"10120158":3,"1012015810":3,"10120550":[2,3],"10120558":3,"10120862":3,"1016":0,"102110421":2,"103":[4,5],"103321":3,"1083":[4,5],"1085":2,"10v":5,"11":[2,4,5],"110":[2,4,5],"1108331841001101":2,"1115":[4,5],"114":[2,4,5],"11mm":2,"12":[2,3,4,5,6],"120":[2,3],"1211n":2,"1212":2,"1215":[2,5],"127":3,"128":[3,7],"12v":[2,4,5,7],"13":[2,3,4,5],"1332":[4,5],"14":[2,3],"140":3,"15":[2,3,4,5],"150":[3,4,5,6],"1548658":3,"1565235":[4,5],"1568649":[4,5],"1580994":3,"16":[2,3,4,5],"17":[2,4,5],"18":[2,4,5,6],"185":[4,5],"19":[2,4,5],"199":[4,5],"1kohm":2,"1n4007":3,"1x0":[4,5],"1x1":[4,5],"1x10":[2,4,5],"2":[1,3,4,5,7],"20":[2,4,5],"2016":7,"2020":0,"2021":0,"2022":7,"205":3,"21":[2,4,5],"22":[2,4,5],"220":2,"23":[2,3,4,5],"24":[0,2,4,5],"24300":3,"24v":[2,5],"25":[3,4,5,6],"252b7an":2,"252baqg":3,"252bdzonqg":2,"252be0w1orxzibqpw":2,"252be1bmvd":2,"252bg":2,"252bii":2,"252bnrpuooeq":2,"252bsz9b":3,"252bx":2,"252bz3hvktao":3,"252bzuq":3,"254":[2,3],"25515":3,"256":3,"26":[4,5],"27":[3,4,5],"2701":[2,3],"2717":3,"29":[4,5],"296":3,"2a":[4,5],"2f0t3ruis9pcaqjlt4":2,"2f12mkns3vxsdryxuhw":[2,3],"2f2czwu0ejpozmzc2a":3,"2f2czwuxuhumfr":3,"2f33nj0gbxroculucynpyong":2,"2f5q":3,"2faaymw02gquicgqj0ta":2,"2fbpyakboruumren":3,"2ff6fcxt7g":3,"2ffq":2,"2fha2pyfadugpyeg4idvm":2,"2fha2pyfadugy9twham3ru9hmijohywhbin95knm":2,"2fha2pyfaduh":2,"2fha2pyfaduhuylh7az":2,"2fha2pyfadujqkqx4wauig":2,"2flq1th4mcyoetma":2,"2fm":2,"2fmgndxmcnv":2,"2fmjfh2xjoums6wztux4som":2,"2fmsr":2,"2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn":2,"2fpa":2,"2fq":2,"2fqaur8narg":2,"2fufuz19ilfayzxocfra":2,"3":[1,2,4,5,6,7],"30":[3,4,5,7],"3002002":2,"304":2,"305":[2,3],"308":2,"31":[2,3],"318":2,"32":[0,1,6,7],"325":3,"35":2,"36":[2,4,5],"37":[4,5],"38":[4,5],"39":[2,3,4,5],"3d":[2,3],"3x11":2,"4":[1,2,3,4,5,6],"40":[3,4,5,6],"41":2,"41f2r0e":2,"42":2,"43":[2,4,5],"437":2,"44":[3,4,5],"449":2,"45100":0,"46":3,"4686":[4,5],"471":3,"48":[2,4,5],"49":3,"5":[1,2,3,4,5,6],"50":[4,5,6],"500":[4,5],"503811":3,"508":[2,3],"50vdc":[2,5],"51":3,"512":3,"52":[4,5],"524":2,"53":[2,5],"537":[4,5],"54":3,"5488":[4,5],"55":[4,5],"56":3,"560":3,"576":[3,4],"58":[2,4,5],"593":2,"5kohm":2,"5m":2,"5twgzeq9e7hsylqaljjyrw":3,"5v":[2,4,5],"5vcc":[4,5],"5vdc":[4,5],"5w":[2,4,5],"6":[1,2,3,4,5],"614":3,"616":3,"62":3,"627":[4,5],"64":[3,4,5,7],"648":[2,3,4,5],"66":[4,5],"68":[4,5],"69626":0,"69675":0,"7":[1,2,3,4,5],"70":[4,5],"71":[4,5],"72":[2,5],"732":3,"741435":2,"741727":3,"742063":3,"745":3,"75":2,"762":2,"776":3,"79":3,"796":2,"7ah":[4,5],"7mvldsj5uaxen3lyyh3sqw":2,"8":[0,1,2,3,4,5],"80":6,"83":2,"84":[2,3],"846":3,"858":[4,5],"86":[2,3],"8600000000000001":[],"87":2,"89":3,"897":[4,5],"9":[1,2,3,4,5,6],"9004330000":[4,5],"92":[3,4,5],"96":4,"966067":[4,5],"971110321":2,"99":[4,5],"9v":[4,5],"ao\u00fbt":0,"case":[1,4,5],"default":3,"export":1,"final":[4,5],"function":[0,4,5],"h\u00e9l\u00e8ne":[0,7],"mm\u00b2":[4,5],"new":[1,4,5,6],"orl\u00e9an":0,"public":[4,5],"r\u00e9mi":[0,7],"return":[1,4,5],"switch":[4,5],"universit\u00e9":0,"vid\u00e9o":[1,4,5],A:[4,5,6],As:[4,5],At:[1,4,5],For:[1,2,3,4,5],If:[1,2,4,5],In:[0,1,2,3,4,5,6],It:[1,3,4,5,6],Its:[4,5],No:3,On:[1,4,5],The:[1,2,3,7],These:[4,5],To:[1,2,3,4,5],With:[4,5],a0:[4,5],a1:[4,5],a2:[4,5],a3:[4,5],abmn:[4,5],abov:[4,5],acc:[1,4,5],access:[4,5],accord:[4,5],accur:[4,5],accuraci:[4,5],acid:[4,5],activ:[3,6,7],actual:[4,5],ad:[4,5],adafruit:[1,2,3,4,5],adapt:[2,4,5],adc:[2,4,5],add:[4,5],addit:[4,5],address:[2,4,5,6],adjust:[2,4,5],ads1115:[2,4,5],ads115:[2,4,5],ads1x15:[1,4,5],advantag:2,after:[4,5],al:0,all:[1,3,4,5,6],alloc:3,allow:[0,2,3,4,5,6],alp:0,also:[1,4,5],altern:[1,4,5],amp:[2,4,5],amplif:2,amplifi:[4,5],an:[0,1,2,3,4,5],analog:[2,4,5],ani:[4,5],anoth:[1,4,5],apm:[2,3],appear:[1,2,4,5],appli:[0,4,5],applic:0,apt:[1,4,5],aqy211eh:2,ar:[1,2,4,5],arduino:4,arm:4,around:2,arrai:[4,5],articl:[4,5],asler:[2,3,4,5],assembl:[6,7],assign:3,assist:[4,5],associ:[0,3],attent:[4,5],attribut:[4,5],author:[0,1,4,5,7],automat:[0,4,5],automobil:[4,5],avail:[4,5],avr:4,b:6,bank:[4,5],base:[1,3,4,5],basic:0,batteri:[2,4,5,6],been:[1,4,5],befor:[4,5],behavior:[4,5],being:[4,5],below:[1,4,5],between:[2,3,4,5],beyschlag:3,bin:[1,4,5],bit:[2,4,5],bkl:[2,3],black:[2,4,5],blinka:[1,4,5],blk:[2,3],block:[4,5],blue:[4,5],board:[1,6,7],boot:[1,4,5],both:[4,5],bottom:[2,4,5],bought:[4,5],box:6,breakout:2,bridg:[4,5],bug:4,build:[3,4,5],button:[1,4,5],by10:2,c320c104k1:[2,5],c320c104k1r5ta7303:2,c4uyot:2,c:[4,5,6],cabl:[1,2,3,4,5],calcul:[4,5],calibr:[4,5],call:[0,1],can:[1,4,5,6],canal:4,cap:[4,5],capac:[4,5],capacitor:[2,5],car:4,card:[1,3,6,7],carri:[1,4,5],caus:[1,4,5],ccf071k50gke36:2,cd:[1,4,5],cedex:0,ceram:[2,5],cflag:1,chang:[2,3],channel:[3,4,5],characterist:[4,5],charg:[4,5],check:[1,4,5,6],chosen:[4,5],ciayqk2gdckzia2levalkg:2,circuit:[2,3,4,5],circuitpython:[1,4,5],circul:[4,5],cite:7,clean:[4,5],clement:[0,7],click:[1,4,5],close:[1,4,5],cm:[4,5],cmf651m0000fkek143:2,code:[1,2,3,4,5],coef_p0:[4,5],coef_p1:[4,5],coef_p2:[4,5],coef_p3:[4,5],coeff:[4,5],coeffici:[4,5],colour:3,com:[1,2,3,4,5],combin:3,command:[1,4,5],commerci:[4,5],common:[4,5],commun:[0,6],complet:[1,2,6,7],compon:[1,6,7],comput:[1,4,5],conduct:[4,5],config:[1,4,5],configur:[6,7],congratul:[4,5],connect:[1,2,3,7],connector:[3,4,5],conrad:[2,3],consequ:[4,5],consist:[4,5],constitut:[4,5],construct:[4,5],consumpt:[4,5,6],contact:[2,3,4,5],contain:[1,4,5],content:7,control:[4,5,6],convers:[4,5],convert:[2,4,5],copi:1,corner:2,correct:[4,5],correspond:4,cost:[0,2,3,4,5],could:[2,4,5],cpu:[4,5,6],creat:[1,4,5],creation:0,crimp:[4,5],csv:[4,5],ctrl:[1,4,5],cui:[2,3],current:[0,2,6,7],d:[2,4,5],dale:2,damag:[1,4,5],data:[0,7],date:[0,4,5,7],dc:[2,3,4,5],dcconvert:5,de:0,deactiv:[1,4,5],decid:[1,4,5],decoupl:5,decreas:2,dedic:[0,6],delai:[4,5],deliv:[4,5],depart:0,depend:[1,4,5],describ:[1,2,4,5],descript:[6,7],design:[4,5],desktop:5,despit:[4,5],detail:4,dev:[1,4,5],develop:[0,1,2,4,5,6,7],devic:[2,3],diagram:[4,5],differ:[1,2,3,4,5,6],digit:[2,3,4,5],dii:6,din:[4,5],diod:3,dip:[2,3],direct:[4,5],directli:[2,4,5],directori:[1,4,5],disconnect:[4,5],discret:1,displai:[4,5],distanc:[4,5],disturb:[4,5],divid:[4,5],dl:[1,4,5],document:[0,4],done:[1,4,5],dot:2,down:[4,5],download:[4,5],dsp:4,dual:[2,3,4,5],duboi:[0,7],duplic:3,durat:[4,5,6],dure:[1,4,5],dzwb4:[4,5],e00122ff:0,e:[4,5],each:[1,3,4,5],eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw:2,eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw:2,editor:[1,4,5],effort:6,eiffel:0,either:[1,4,5],ejector:[2,3],electr:[0,2,7],electrod:[0,2,3,7],electron:[2,3,4,5],elektronik:2,elsevi:0,emil:0,en:1,enabl:[4,5],end:[1,4,5],energ:[4,5],enough:[3,4,5],ensur:[1,4,5],enter:[1,4,5],entir:[4,5],environ:[1,4,5],environn:[6,7],environnementshould:[1,4,5],equal:[4,5],equival:[2,4,5],ert:[4,5],escap:[1,4,5],estim:[4,5],et:[0,2],everi:3,everyon:0,everyth:2,evolv:[4,5],exampl:[4,5],excess:[4,5],execut:[1,4,5],exist:[4,5],expand:3,expend:3,experi:[0,4,5,6],explain:4,export_path:5,extra:[4,5],f:[0,4,5],failur:[1,4,5],fargier:[0,7],fast:5,fcommon:1,featur:[4,5],femal:[2,3,4,5],ferrul:[4,5],fewer:[4,5],ff10:0,fhac0002zxj:4,field:[4,5,6],fig:[4,5],figur:[2,4,5],file:[1,4,5],find:[1,4,5],first:[1,4,5],fix:2,flexibl:0,florsch:[2,4,5],flow:[4,5],folder:[1,4,5],follow:[1,2,3,4,5],forquet:[0,7],four:[2,6,7],fr:[2,3,4,5],framework:[4,5],franc:0,frist:7,from:[3,4,5,6],ftmup6kvi2tnqoeziaq:2,full:[4,5],fulli:0,fuse:[4,5],g5le:3,g:[2,4,5],gain:[2,4,5],ganc:[0,7],gather:[1,4,5],gclid:2,gener:[2,3,4,5,7],geologi:0,ger:0,get:[0,1,2,4,5],gitlab:[4,5],gnd:[4,5],gnu:[1,4,5],go:[1,3],gpio:[1,3,4,5],gpiozero:1,grenobl:0,gro:0,ground:[2,4,5],gui:[1,4,5],guidelin:7,gurawfaegucaqqfvnvtyeg:2,gustav:0,guyard:[0,7],h81k0bya:[2,4,5],h81k5bya:[2,4,5],h:5,ha:[1,3,4,5],had:[4,5],hand:[4,5],handl:[4,5],hardwar:[0,4,5],hardwarex:0,harwin:2,have:[1,2,3,4,5,6],hazard:[4,5],hdmi:1,header:[2,3,4,5],hear:[4,5],here:[3,5],hex:3,hexagonal:2,hexseal:[2,3],high:[4,5],higher:[2,5],holder:[4,5],hole:[4,5],holsworthi:2,home:[1,4,5],horizont:[4,5],hous:[4,5],how:[1,4,5],howev:[4,5],http:[1,2,3,4,5],i2c:[1,2,3],i2cdetect:2,i:[3,4,5],id:[6,7],identifi:3,ifsttar:0,ig:0,iggadovctstu:2,illustr:[4,5],im6toxqzgoauedprb19mha:2,imag:[0,1],imped:[4,5,6],implent:7,improv:[5,6],in1:[4,5],in2:[4,5],in3:[4,5],in4:[4,5],ina282:2,ina282aid:2,includ:[1,4,5],incom:[4,5],incorpor:3,increas:[4,5],inde:[4,5],industri:2,initi:7,inject:[0,6,7],injection_dur:[4,5],inpout:2,input:[2,4,5,6],inra:0,insert:[4,5],insid:[4,5],instal:[2,3,6,7],instanc:1,instead:[4,5],instruct:[1,7],instrument:[0,2,4,5],integr:2,intens:[4,5],interfac:[1,4,5],interpret:[1,2,4,5],introduc:[4,5],introduct:7,invit:4,involv:0,io:[4,5],ion:[4,5],iri:0,irstea:[4,5],its:[1,3,4,5,6],j:0,jan:7,jason:5,jjse:[2,3],journal:4,json:5,juillet:0,juli:7,julien:[0,7],jumper:3,just:[2,5],kaufmann:[0,7],kemet:[2,5],keyboard:[1,4,5],keyston:3,known:[1,4,5],kohm:[2,3,4,5],laboratori:[0,4,5,6],laps:6,last:5,lastli:[4,5],latest:[1,4,5],lead:[4,5],leav:[1,4,5],left:2,length:[4,5],less:[4,5],let:[4,5],libatla:[1,4,5],librari:[1,4,5],lie:[2,4,5],limit:[2,6,7],line:[2,3,4,5],list:[1,7],lithium:[4,5],littelfus:[4,5],littl:[4,5],ll:[4,5],lm158:2,lm158j:2,lm158n:2,lm358an:[2,4,5],lm358n:[4,5],locat:[1,4,5],logger:[0,4,5],low:[0,1,4,5,6],lr20:[4,5],ly:[4,5],lyon:0,m3:[2,3],m:[1,2,3,4,5],ma:[2,4,5,6],made:[4,5,6],mai:[1,4,5],main:[4,5],make:[1,4,5],male:[2,3],manag:[4,5],manual:[4,5],manufactur:[2,3,4,5],manuscript:[4,5],mark:2,master:[4,5],matur:7,max:2,maximum:[4,5],mba02040c1003frp00:3,mcp23008:2,mcp23017:3,mcp230xx:1,measur:[0,1,6,7],mechan:[3,4,5],meet:[1,4,5],mega:[4,5],menu:[1,4,5],mesur:7,met:[1,4,5],meter:[0,4,5,6],meterfeatur:0,mgh:2,micro:[1,4,5,6],mill:2,mimic:[4,5],min:[4,5,6],miss:4,mm2:[4,5],mm:[2,3,4,5],model:[1,2,4,5],modif:[1,4,5],modifi:[1,4,5],modul:[4,5],mofset:3,mohm:[2,4,5,6],mon:0,monitor:[4,5,6],more:6,moreov:[4,5],mosfet:3,mount:[2,3,4,5],mous:[1,4,5],mouser:[2,3],ms:[4,5,6],muliplex:3,multi:[3,4,5],multielectrod:6,multipl:1,multiplex:[0,3,6,7],multipli:[4,5],must:[1,3,4,5],mux:[4,5,6,7],mzrxyrlhvdt9crf7zyf:3,n:[4,5,6,7],name:[3,4,5],nano:[1,4,5],nb_electrod:[4,5],nbr_mea:[4,5],nchannel:3,necessari:[1,3,4,5],need:[1,2,3,4,5],neg:[4,5],next:[4,5],nf:5,nicola:[0,7],noob:[4,5],nopb:[2,4,5],normal:[4,5],note:[3,4,5],now:[4,5],number:[2,3,4,5],numer:[4,5],numpi:[1,4,5],o1:[4,5,6],o:[1,2,3,4,5,6],obtain:[4,5],offcial:7,offer:[4,5,6],ohm:[2,4,5,6],ohmit:2,ohmmet:[4,5],ohmpi:[1,2,3],ohmpi_4elec:2,ohmpi_param:5,ohx:0,ok:[1,4,5],olivi:[0,7],omron:3,onc:[1,4,5],one:[2,4,5,6],onli:[3,7],onto:[4,5],op:[1,4,5],open:[0,1,4,5],oper:[1,2,6,7],optic:2,optim:[4,5],option:[1,4,5],order:[4,5],org:1,orient:5,os:[6,7],osf:[4,5],other:[4,5],our:[4,5,6],out:[1,4,5],outpout:2,output:[4,5],over:3,overh:5,own:3,p0:[4,5],p1:[4,5],p2:[4,5],p3:[4,5],p:[0,2,3],packag:[6,7],padboard:2,pai:[4,5],panason:2,panda:[1,4,5],parallel:1,paramet:[6,7],part:[4,5,6],parten:0,partenair:7,pat1l:5,path:[1,4,5],pc:[2,3],pcb:[2,3,4,5],per:[2,3,4,5],perform:[0,1,4,5],permut:[4,5],philosophi:[0,7],pi:[2,6,7],pic:4,piec:[4,5],pin:[2,3,4,5],pip:[1,4,5],pitch:[2,3,4,5],place:[4,5],plai:2,pleas:[4,5],plug:[2,4,5],po:[4,5],point:[4,5,6],polar:[4,5],pole:[4,5],port:2,posit:[1,4,5],possibl:[4,5],potenti:[4,5],potentiomet:[4,5],pour:4,power:[2,3,4,5,6],practic:[4,5],pre:2,preci:2,precis:[2,4,5],prefer:[4,5],preliminari:7,prepar:[2,4,5],present:[0,3,4,5],press:[1,4,5],prevent:5,previou:6,previous:[1,4,5],print:[2,3,4,5],pro:[4,5],problem:1,procedur:7,produc:[4,5],product:[2,3],productdetail:[2,3],program:[1,4,5],progress:[0,7],project:[1,7],propos:[2,4,5],protect:1,protocol:[4,5],provid:[0,4,5],publish:4,puls:[4,5,6],purpos:[4,5],py:[2,4,5],pyhton3:[1,4,5],python3:[1,4,5],python:[6,7],pythonid:[1,4,5],qkeozdl6eqpa6lzrlqfvow:2,qs:[2,3],quadripol:[4,5],quadrupol:[4,5],quantiti:[1,4,5],r10:[4,5],r11:[4,5],r12:[4,5],r1:[2,4,5],r25:2,r2:[2,4,5],r3:[4,5],r4:[4,5],r5:[4,5],r6:[4,5],r7:[4,5],r8:[4,5],r9:[4,5],r_ref:[4,5],rail:[4,5],rang:[4,5],rapberri:[6,7],raspberri:[2,3,6,7],raspberrypi:1,raspbian:[1,4,5],raspebrri:[1,4,5],readm:[4,5],realiz:2,recommend:[1,4,5],red:[2,4,5],reduct:[4,5],refer:[2,3,4,5],relai:[1,2,3,4,5],releas:7,relief:3,remain:[4,5],rememb:[4,5],remot:[1,4,5],repeat:[4,5],repetit:[4,5],replac:5,repositori:[4,5],repres:[3,4,5],requir:[1,4,5,6],research:7,resist:[0,2,6,7],resistor:[2,3,4,5],resolut:[4,5,6],respect:[4,5],result:[2,4,5],revers:[4,5],reversa:[0,4,5],ribbon:3,right:2,rm3x8mm:[2,3],robust:[0,4,5,6],role:[4,5],root:[1,4,5],row:[2,3],rpi:[1,4,5],rro:0,rs:[4,5],ru5fayqh:2,run:[1,2,4,5],s:[0,1,2,3,4,5],safeti:[4,5],sain:[4,5],sainsmart:[4,5],same:[4,5],samtec:[2,4,5],save:[1,4,5],scale:0,schemat:[2,4,5],scienc:[4,5],scientif:0,screen:[2,4,5],screw:[2,3,4,5],sd:[1,4,5,6],searchsuggest:[2,3],searchterm:[2,3],searchtyp:[2,3],second:[4,5],section:[4,5],see:[4,5],seeed:2,seek:6,select:[1,3,4,5],sequenc:[4,5],sequence_delai:[4,5],seri:[4,5],serv:[4,5],set:[1,2,4,5],setp:5,setup:[1,4,5],sever:[4,5],sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi:3,sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw:2,sgaepimzzmsyydr3r27av4eqf73yoh:3,sgaepimzzmueqxo7l:3,share:6,shield:[1,4,5],shortcut:[4,5],should:[1,2,4,5],show:[2,4,5],shown:[4,5],shunt:2,shutdown:2,signal:[2,4,5],simpl:[4,5],simpli:[1,4,5],simultan:[4,5],singl:[4,5],slope:[4,5],small:[0,2,4,5,6],smaller:[4,5],smart:[4,5],smt:2,so:[4,5],socket:[2,3],softwar:[1,4,5],soic:2,soil:[4,5],solder:[2,4,5],solut:[4,5],some:[4,5,7],sound:[4,5],sourc:[0,1,4,5],space:[2,3],spacer:[2,3],specif:[4,5,6],specifi:[1,4,5],spi:[1,4,5],spool:2,ssq:2,ssw:[2,4,5],stabl:[1,4,5],stack:[4,5],stainless:[4,5],start:[1,4,5,6,7],startup:7,statu:[0,7],steel:[4,5],step:[4,5,7],still:[4,5],stop:6,storag:[4,5,6],strain:3,strict:[4,5],strip:[2,3,4,5],strong:[4,5],stronger:[4,5],strongli:[1,4,5],stuck:[4,5],studi:[4,5],studio:2,subject:[4,5],sudo:[1,4,5],suffici:[1,4,5],suggest:[2,3,4,5],suitabl:[4,5,6],sum:[4,5],suppli:[2,4,5],support:1,suppress:5,sure:[1,4,5],surfac:0,system:[1,4,5,6],t:3,tab:[1,4,5],tabl:5,target:7,task:[1,4,5],tb009:[2,3],tca9548a:[1,3],tdh15:2,te:[2,3,4,5],team:6,technic:7,temperatur:[4,5,6],ten:[4,5],termin:[1,2,3,4,5],test:[1,2,4,5],texa:[2,4,5],than:[2,4,5],thd:2,the9:[4,5],thei:[4,5],them:[4,5],therefor:[3,4,5],thi:[0,1,2,3,4,5,6],thonni:[6,7],thousand:[4,5],three:[2,4,5],through:[4,5],thu:[4,5],time:[1,3,4,5,6],togeth:[4,5],toler:5,tonni:2,tool:[0,6],top:2,total:[2,3,4,5],tow:2,track:[4,5],traco:[2,5],tracopow:[2,5],trn3:5,trn:[2,5],tru:[3,4,5],turn:[4,5],tutori:7,two:[2,4,5,6],tx:[4,5],txt:[1,4,5],type:[1,3,4,5,6],typic:[4,5],under:[4,5],unexpectedli:[1,4,5],unit:[2,3,4,5,6],univ:0,unplug:2,unzip:[4,5],up:[0,1,3,4,5,6],updat:0,upgrad:[5,6],upper:2,upw50b50rv:[4,5],us:[1,2,3,4,5],user:[1,4,5,7],usr:[1,4,5],util:1,uwqyq:3,v1:[4,5,6],v2:6,v:[1,2,3,7],valid:[4,5],valu:[2,3,4,5],variou:[4,5],vd:3,vdc:3,velleman:[4,5],venv:[1,4,5],veri:5,version:[1,2,4,5,6],vertic:[4,5],vhuuswq2:3,via:[1,4,5],view:2,villeurbann:0,vip:2,virtual:[6,7],vishai:[2,3],visit:1,vivien:[0,7],vlwxofp3u2wcfk5uckwtka:[2,3],voltag:[2,4,5,6],voltmet:[4,5],w0yvoo0ixfenuv0hsdc4:2,w:[4,5,6],wa:[4,5],wai:[1,4,5],want:5,watch:[1,4,5],we:[1,2,3,4,5,6],weaker:4,web:[2,3],websit:[1,4,5],weidmul:[4,5],welcom:0,well:[1,4,5],were:[1,2,4,5],when:[1,4,5],where:[1,4,5],which:[2,3,4,5,6],whose:[4,5],willing:0,window:[1,4,5],wire:[1,4,5],wish:6,within:[1,4,5],without:[4,5],wjwzhv1v3pk:[1,4,5],wktuvitrialgiu8hcm7dvq:2,work:2,would:[4,5],wpm404:[4,5],write:[1,2,4,5],wurth:2,www:[1,2,3,4,5],x1j7hmvl2zh8vpefml8:2,x:[1,3,4,5],xx:7,y:2,yannick:[0,7],yca:2,you:[1,2,4,5],your:[1,2,4,5],youtub:[1,4,5],ze4:2,zoom:3,zvn4206a:3},titles:["OhmPi project","<strong>STEP n\u00b01</strong> : Raspberry Pi configuration","<strong>STEP n\u00b02</strong>: Measurement board","<strong>STEP n\u00b03</strong>: MUX board","OhmPi V 1.01 (limited to 32 electrodes)","OhmPi V 1.02 (limited to 32 electrodes)","OhmPi V 2.xx (64 or 128 electrodes and 12V)","OHMPI: Open source and open hardware resitivity-meter"],titleterms:{"01":4,"02":5,"1":[1,4,5],"128":6,"12v":6,"2":[2,6],"3":3,"32":[4,5],"64":6,A:[1,2,3],The:[4,5,6],activ:[1,4,5],address:3,assembl:[2,3,4,5],b:[1,2,3,4,5],board:[2,3,4,5],c:[1,2],card:[4,5],center:7,check:2,cite:0,complet:[4,5],compon:[2,3,4,5],configur:[1,4,5],connect:[4,5],current:[4,5],data:[4,5,6],descript:[2,4,5],document:7,electr:[4,5],electrod:[4,5,6],environn:[1,4,5],four:[4,5],frist:[4,5],hardwar:7,id:[1,4,5],implement:[4,5],implent:[4,5],initi:[4,5],inject:[4,5],instal:[1,4,5],instruct:[4,5],introduct:0,limit:[4,5],list:[2,3,4,5],measur:[2,4,5],mesur:[4,5],meter:7,multiplex:[4,5],mux:3,n:[1,2,3],ohmpi:[0,4,5,6,7],onli:[4,5],open:7,oper:[4,5],os:[1,4,5],packag:[1,4,5],paramet:[4,5],part:[1,2,3],partenair:0,philosophi:[4,5,6],pi:[1,4,5],preliminari:[4,5],procedur:[4,5],project:0,python:[1,4,5],rapberri:[1,4,5],raspberri:[1,4,5],requir:[2,3],resist:[4,5],resit:7,sourc:7,start:2,startup:[4,5],step:[1,2,3,6],summari:7,tabl:4,technic:[4,5,6],thonni:[1,4,5],titl:4,up:2,v:[4,5,6],virtual:[1,4,5],xx:6}}) \ No newline at end of file diff --git a/sphinx/source/Ohmpi_V2_00/step_n_2/a/Mesure_board_list_2_xx.csv b/sphinx/source/Ohmpi_V2_00/step_n_2/a/Mesure_board_list_2_xx.csv index ac47980cc24dd2c2ae989098a71e108ce38ac255..698264bdcaa013c7c87d2068c4c7d83286269ea9 100644 --- a/sphinx/source/Ohmpi_V2_00/step_n_2/a/Mesure_board_list_2_xx.csv +++ b/sphinx/source/Ohmpi_V2_00/step_n_2/a/Mesure_board_list_2_xx.csv @@ -1,24 +1,25 @@ -"Component","Number","Cost per unit € ","Total cost €","Manufacturer","Manufacturer s reference","Web reference" -"Raspberry Pi 4 Model B",1,"58,75","58,75","Raspberry","Raspberry Pi 4 Model B","https://www.mouser.fr/ProductDetail/Seeed-Studio/102110421?qs=7MVldsJ5UaxeN3LYyh3sqw%3D%3D" -"LM158N AMP-o",2,"14,5",58,"Texas Instruments","LM358AN/NOPB","https://www.mouser.fr/ProductDetail/Texas-Instruments/LM158J?qs=X1J7HmVL2ZH8vpEfMl8%2FFQ%3D%3D" -"Printed circuit board ",1,12,12,"Asler","-","-" -"ADS1115",2,"11,9","23,8","Adafruit",1085,"https://www.mouser.fr/ProductDetail/Adafruit/1085?qs=%2Fha2pyFaduhE%2FOGzuTWIQ9Iz5VjaqFOYugqAlGxpEcKiGrQvF4hn%252Bg%3D%3D" -"Capacitor 100nF 50Vdc 10% Ceramic",3,"0,2","0,8","KEMET"," C320C104K1","https://www.mouser.fr/ProductDetail/KEMET/C320C104K1R5TA7303?qs=c4UyoTs%2FLq1th4mcyOeTmA%3D%3D" -"Resistor 1 Kohm 0.5W +- 0.1%",2,"1,3","2,6","TE Connectivity","H81K0BYA","https://www.mouser.fr/ProductDetail/TE-Connectivity-Holsworthy/H81K0BYA?qs=%2Fha2pyFaduhUylh7Az%2FmjFH2XjOUms6wZtUX4sOM%252BII%3D" -"Resistor 1.5 Kohms +- 0.1%",2,"1,3","2,6","TE Connectivity","H81K5BYA","https://www.mouser.fr/ProductDetail/TE-Connectivity-Holsworthy/H81K5BYA?qs=%2Fha2pyFadugy9tWham3rU9HmIJOhyWhBIN95kNm%252BX%2FM%3D" -"Resistor 1.5 Kohms +- 5%",2,"1,3","2,6","Vishay","CCF071K50GKE36","https://www.mouser.fr/ProductDetail/Vishay-Dale/CCF071K50GKE36?qs=QKEOZdL6EQpA6LZRLQFVOw%3D%3D" -"Resistor 10 Mohms +-5%",2,"0,762","1,524","VISHAY","CMF651M0000FKEK143","https://www.mouser.fr/ProductDetail/Vishay-Dale/CMF651M0000FKEK143?qs=CiayqK2gdcKzIA2LEVaLkg%3D%3D" -"2 ohm shunt resistor+- 1%",1,"2,42","2,42","Ohmite","41F2R0E","https://www.mouser.fr/ProductDetail/Ohmite/41F2R0E?qs=IM6ToxQzGOAuEDprb19mHA%3D%3D" -"Dual screw terminal (5.08-mm pitch)",5,"0,648","3,24","CUI Devices","TB009-508-02BE","https://www.mouser.fr/ProductDetail/CUI-Devices/TB009-508-02BE?qs=vLWxofP3U2wCFk5uCkWTkA%3D%3D" -"DC/DC converter 12 to 24V",1,"15,58","31,16","TracoPower","TRN 3-1215","https://www.mouser.fr/ProductDetail/TRACO-Power/TRN-3-1215?qs=YCa%2FAAYMW02gqUicGQj0tA%3D%3D" -"DIP Dual In Line Socket 2*4",3,"0,72","2,16","Mill-Max","110-43-308-41-001000","https://www.mouser.fr/ProductDetail/Mill-Max/110-43-308-41-001000?qs=IGgAdOvCTsTu%2FqaUr8NArg%3D%3D&mgh=1&vip=1&gclid=EAIaIQobChMIn_TAxbCx8wIVQ5nVCh2QaQFpEAYYCCABEgJk1_D_BwE" -"AQY211EH",4,"3,84","15,36","Panasonic Industrial Devices","AQY211EH","https://www.mouser.fr/ProductDetail/Panasonic-Industrial-Devices/AQY211EH?qs=wKtUvITRialGIU8hcM7DvQ%3D%3D" -"DIP Dual In Line Socket 2*2",4,"0,449","1,796","Preci-dip","110-83-304-41-001101","https://www.mouser.fr/ProductDetail/Preci-dip/110-83-304-41-001101?qs=%2Fha2pyFadujQKqx4wAuiG%2FMGNdxMCNv%2F33Nj0gBxRocuLUcYnpyONg%3D%3D" -"MCP23008",1,"1,72","1,72","Adafruit",593,"https://www.mouser.fr/ProductDetail/Adafruit/593?qs=sGAEpiMZZMsKEdP9slC0YYV4kPdpMD1Hts4SLctIVmw%3D" -"Header sets 1x10",2,"2,12","4,24","Samtec","SSW-110-02-G-S","https://www.mouser.fr/ProductDetail/Samtec/SSW-110-02-G-S?qs=rU5fayqh%252BE0w1ORXZiBQpw%3D%3D" -"SMT Breakout PCB for SOIC-8",1,"2,5","2,5","Adafruit",1212,"https://www.mouser.fr/ProductDetail/Adafruit/1212?qs=GURawfaeGuCAqqfvnVtyeg%3D%3D&mgh=1&vip=1&gclid=EAIaIQobChMIt8zJzr6x8wIVGdnVCh2vBwVsEAQYAyABEgJqG_D_BwE" -"INA282AID",1,"4,11","4,11","Texas Instruments","INA282AID","https://www.mouser.fr/ProductDetail/Texas-Instruments/INA282AID?qs=Ze4%2FuFuz19ILFayZXOCfrA%3D%3D" -"THD 15-1211N",1,"39,72","39,72","TracoPower","THD 15-1211N","https://www.mouser.fr/ProductDetail/TRACO-Power/THD-15-1211N?qs=%2Fha2pyFadugpyEG4IDvm%2FMSR%252B7aN%2F0T3rUIs9PCAqJlT4%252BnRpUOOeQ%3D%3D" -"DIP Dual In Line Socket 2*20",1,"8,53","8,53","Samtec","SSQ-120-23-G-D","https://www.mouser.fr/ProductDetail/Samtec/SSQ-120-23-G-D?qs=rU5fayqh%252BE1BMVd%252BDZONqg%3D%3D" -"Pin strip no ejector ",1,"0,35","0,35","BLK electronic",10120550,"https://www.conrad.com/p/bkl-electronic-10120550-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-pcs-741435?searchTerm=741435&searchType=suggest&searchSuggest=product" -"Male Female spacer 2.5M HEXAGONALE",4,"0,87","3,48","HARWIN","R25-3002002","https://www.mouser.fr/ProductDetail/Harwin/R25-3002002?qs=W0yvOO0ixfENUv0hsdC4%2FQ%3D%3D" +Component,Number,Cost per unit € ,Total cost €,Manufacturer,Manufacturer s reference,Web reference +Raspberry Pi 4 Model B,1,"58,75","58,75",Raspberry,Raspberry Pi 4 Model B,https://www.mouser.fr/ProductDetail/Seeed-Studio/102110421?qs=7MVldsJ5UaxeN3LYyh3sqw%3D%3D +LM158N AMP-o,2,"14,5",58,Texas Instruments,LM358AN/NOPB,https://www.mouser.fr/ProductDetail/Texas-Instruments/LM158J?qs=X1J7HmVL2ZH8vpEfMl8%2FFQ%3D%3D +Printed circuit board ,1,12,12,Asler,-,- +ADS1115,2,"11,9","23,8",Adafruit,1085,https://www.mouser.fr/ProductDetail/Adafruit/1085?qs=%2Fha2pyFaduhE%2FOGzuTWIQ9Iz5VjaqFOYugqAlGxpEcKiGrQvF4hn%252Bg%3D%3D +Capacitor 100nF 50Vdc 10% Ceramic,3,"0,2","0,8",KEMET, C320C104K1,https://www.mouser.fr/ProductDetail/KEMET/C320C104K1R5TA7303?qs=c4UyoTs%2FLq1th4mcyOeTmA%3D%3D +Resistor 1 Kohm 0.5W +- 0.1%,2,"1,3","2,6",TE Connectivity,H81K0BYA,https://www.mouser.fr/ProductDetail/TE-Connectivity-Holsworthy/H81K0BYA?qs=%2Fha2pyFaduhUylh7Az%2FmjFH2XjOUms6wZtUX4sOM%252BII%3D +Resistor 1.5 Kohms +- 0.1%,2,"1,3","2,6",TE Connectivity,H81K5BYA,https://www.mouser.fr/ProductDetail/TE-Connectivity-Holsworthy/H81K5BYA?qs=%2Fha2pyFadugy9tWham3rU9HmIJOhyWhBIN95kNm%252BX%2FM%3D +Resistor 1.5 Kohms +- 5%,2,"1,3","2,6",Vishay,CCF071K50GKE36,https://www.mouser.fr/ProductDetail/Vishay-Dale/CCF071K50GKE36?qs=QKEOZdL6EQpA6LZRLQFVOw%3D%3D +Resistor 10 Mohms +-5%,2,"0,762","1,524",VISHAY,CMF651M0000FKEK143,https://www.mouser.fr/ProductDetail/Vishay-Dale/CMF651M0000FKEK143?qs=CiayqK2gdcKzIA2LEVaLkg%3D%3D +2 ohm shunt resistor+- 1%,1,"2,42","2,42",Ohmite,41F2R0E,https://www.mouser.fr/ProductDetail/Ohmite/41F2R0E?qs=IM6ToxQzGOAuEDprb19mHA%3D%3D +Dual screw terminal (5.08-mm pitch),5,"0,648","3,24",CUI Devices,TB009-508-02BE,https://www.mouser.fr/ProductDetail/CUI-Devices/TB009-508-02BE?qs=vLWxofP3U2wCFk5uCkWTkA%3D%3D +DC/DC converter 12 to 24V,1,"15,58","31,16",TracoPower,TRN 3-1215,https://www.mouser.fr/ProductDetail/TRACO-Power/TRN-3-1215?qs=YCa%2FAAYMW02gqUicGQj0tA%3D%3D +DIP Dual In Line Socket 2*4,3,"0,72","2,16",Mill-Max,110-43-308-41-001000,https://www.mouser.fr/ProductDetail/Mill-Max/110-43-308-41-001000?qs=IGgAdOvCTsTu%2FqaUr8NArg%3D%3D&mgh=1&vip=1&gclid=EAIaIQobChMIn_TAxbCx8wIVQ5nVCh2QaQFpEAYYCCABEgJk1_D_BwE +AQY211EH,4,"3,84","15,36",Panasonic Industrial Devices,AQY211EH,https://www.mouser.fr/ProductDetail/Panasonic-Industrial-Devices/AQY211EH?qs=wKtUvITRialGIU8hcM7DvQ%3D%3D +DIP Dual In Line Socket 2*2,4,"0,449","1,796",Preci-dip,110-83-304-41-001101,https://www.mouser.fr/ProductDetail/Preci-dip/110-83-304-41-001101?qs=%2Fha2pyFadujQKqx4wAuiG%2FMGNdxMCNv%2F33Nj0gBxRocuLUcYnpyONg%3D%3D +MCP23008,1,"1,72","1,72",Adafruit,593,https://www.mouser.fr/ProductDetail/Adafruit/593?qs=sGAEpiMZZMsKEdP9slC0YYV4kPdpMD1Hts4SLctIVmw%3D +Header sets 1x10,2,"2,12","4,24",Samtec,SSW-110-02-G-S,https://www.mouser.fr/ProductDetail/Samtec/SSW-110-02-G-S?qs=rU5fayqh%252BE0w1ORXZiBQpw%3D%3D +SMT Breakout PCB for SOIC-8,1,"2,5","2,5",Adafruit,1212,https://www.mouser.fr/ProductDetail/Adafruit/1212?qs=GURawfaeGuCAqqfvnVtyeg%3D%3D&mgh=1&vip=1&gclid=EAIaIQobChMIt8zJzr6x8wIVGdnVCh2vBwVsEAQYAyABEgJqG_D_BwE +INA282AID,1,"4,11","4,11",Texas Instruments,INA282AID,https://www.mouser.fr/ProductDetail/Texas-Instruments/INA282AID?qs=Ze4%2FuFuz19ILFayZXOCfrA%3D%3D +THD 15-1211N,1,"39,72","39,72",TracoPower,THD 15-1211N,https://www.mouser.fr/ProductDetail/TRACO-Power/THD-15-1211N?qs=%2Fha2pyFadugpyEG4IDvm%2FMSR%252B7aN%2F0T3rUIs9PCAqJlT4%252BnRpUOOeQ%3D%3D +DIP Dual In Line Socket 2*20,1,"8,53","8,53",Samtec,SSQ-120-23-G-D,https://www.mouser.fr/ProductDetail/Samtec/SSQ-120-23-G-D?qs=rU5fayqh%252BE1BMVd%252BDZONqg%3D%3D +Pin strip no ejector ,1,"0,35","0,35",BLK electronic,10120550,https://www.conrad.com/p/bkl-electronic-10120550-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-pcs-741435?searchTerm=741435&searchType=suggest&searchSuggest=product +Male Female spacer 2.5M HEXAGONALE,4,"0,87","3,48",HARWIN,R25-3002002,https://www.mouser.fr/ProductDetail/Harwin/R25-3002002?qs=W0yvOO0ixfENUv0hsdC4%2FQ%3D%3D +DIP Dual In Line Socket 2*9,1,"1,86","1,86",Preci-dip ,437-1108331841001101,https://www.mouser.fr/ProductDetail/Preci-dip/110-83-318-41-001101?qs=FtMuP6KVi2TNQOezIAQ%2FPA%3D%3D