<!--
 Documentation/_templates/layout.html

 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.  The
 ASF licenses this file to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance with the
 License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 License for the specific language governing permissions and limitations
 under the License.
-->



<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  
  <title>pysimCoder integration with NuttX &mdash; NuttX latest documentation</title>
  

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../_static/tabs.css" type="text/css" />
  <link rel="stylesheet" href="../_static/custom.css" type="text/css" />

  
  
    <link rel="shortcut icon" href="../_static/favicon.ico"/>
  

  
  

  

  
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" 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 type="text/javascript" src="../_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Glossary" href="../glossary.html" />
    <link rel="prev" title="C++ Example using CMake" href="cpp_cmake.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          
  
    <a href="../index.html" class="icon icon-home"> NuttX
  

  
    
    <img src="../_static/NuttX.png" class="logo" alt="Logo"/>
  
  </a>

  <!-- this version selector is quite ugly, should be probably replaced by something
       more modern -->

  <div class="version-selector">
    <select onchange="javascript:location.href = this.value;">
    
    <option value="../../latest" selected="selected">latest</option>
    
    <option value="../../10.0.0" >10.0.0</option>
    
    <option value="../../10.0.1" >10.0.1</option>
    
    <option value="../../10.1.0" >10.1.0</option>
    
    <option value="../../10.2.0" >10.2.0</option>
    
    <option value="../../10.3.0" >10.3.0</option>
    
    <option value="../../11.0.0" >11.0.0</option>
    
    <option value="../../12.0.0" >12.0.0</option>
    
    <option value="../../12.1.0" >12.1.0</option>
    
    <option value="../../12.2.0" >12.2.0</option>
    
    <option value="../../12.2.1" >12.2.1</option>
    
    <option value="../../12.3.0" >12.3.0</option>
    
    <option value="../../12.4.0" >12.4.0</option>
    
    <option value="../../12.5.0" >12.5.0</option>
    
    <option value="../../12.5.1" >12.5.1</option>
    
    <option value="../../12.6.0" >12.6.0</option>
    
    <option value="../../12.7.0" >12.7.0</option>
    
    <option value="../../12.8.0" >12.8.0</option>
    
    <option value="../../12.9.0" >12.9.0</option>
    
    <option value="../../12.10.0" >12.10.0</option>
    
    <option value="../../12.11.0" >12.11.0</option>
    
    </select>
  </div>

  
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <p class="caption"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1"><a class="reference internal" href="../components/index.html">OS Components</a></li>
<li class="toctree-l1"><a class="reference internal" href="../applications/index.html">Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">FAQ</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Guides</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li>
<li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li>
<li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li>
<li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li>
<li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li>
<li class="toctree-l2"><a class="reference internal" href="cpp_cmake.html">C++ Example using CMake</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">pysimCoder integration with NuttX</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="#nuttx-configuration">NuttX Configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="#using-pysimcoder-to-design-nuttx-application">Using pysimCoder to design NuttX application</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">NuttX</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          

















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="index.html">Guides</a> &raquo;</li>
        
      <li>pysimCoder integration with NuttX</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
          
            <a href="../_sources/guides/pysimcoder.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="pysimcoder-integration-with-nuttx">
<span id="pysimcoder"></span><h1>pysimCoder integration with NuttX<a class="headerlink" href="#pysimcoder-integration-with-nuttx" title="Permalink to this headline">¶</a></h1>
<p><a class="reference external" href="https://github.com/robertobucher/pysimCoder">PysimCoder</a> is as an open source
Rapid Control Application Development Tool which is able to transfer block diagrams into C code.
Combined with NuttX, it can be used in real time control application and as an alternative to
expensive licensed programs and prototyping platforms. Example of <a class="reference external" href="https://www.youtube.com/watch?v=6HlGk3ecPNQ">DC motor control application</a> with PID controller and blocks for encoder,
PWM, GPIO and sending data over TCP to real time plotter can be seen on <a class="reference external" href="https://www.youtube.com/channel/UC0QciIlcUnjJkL5yJJBmluw">NuttX Channel</a>.</p>
<p>This documentation describes the steps that are needed to run application generated by pysimCoder
on NuttX and also keeps the track of peripherals that are supported by pysimCoder for NuttX RTOS.</p>
<div class="section" id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support" title="Permalink to this headline">¶</a></h2>
<p>The following list shows the peripherals and fuctionalities supported in pysimCoder for NuttX RTOS.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 30%" />
<col style="width: 70%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Peripheral</p></th>
<th class="head"><p>Notes</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>ADC</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>CAN</p></td>
<td><p>Including SocketCAN</p></td>
</tr>
<tr class="row-even"><td><p>DAC</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>ENC</p></td>
<td></td>
</tr>
<tr class="row-even"><td><p>GPIO</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>PWM</p></td>
<td><p>Multichannel support</p></td>
</tr>
<tr class="row-even"><td><p>UART</p></td>
<td><p>Serial output</p></td>
</tr>
<tr class="row-odd"><td><p>Sensors</p></td>
<td><p>Basic support for DHTXX</p></td>
</tr>
<tr class="row-even"><td><p>TCP</p></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>UDP</p></td>
<td></td>
</tr>
</tbody>
</table>
<p>Please note that the actual support for NuttX peripherals can be wider that what is mentioned here
in case this documentation was not updated when new fuctionalities were added to pysimCoder.</p>
</div>
<div class="section" id="nuttx-configuration">
<h2>NuttX Configuration<a class="headerlink" href="#nuttx-configuration" title="Permalink to this headline">¶</a></h2>
<p>Several configuration options are neccessary to be set in order to succesfully compile pysimCoder
with NuttX. The list is the following:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 49%" />
<col style="width: 51%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_ARCH_RAMVECTORS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_FILE_APPS=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BOARDCTL_APP_SYMTAB=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_LINELEN=64</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BOARDCTL_OS_SYMTAB=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_READLINE=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_BUILTIN=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_ROMFSETC=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_CLOCK_MONOTONIC=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PSEUDOTERM=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_ELF=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PTHREAD_CLEANUP=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_BINFS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PTHREAD_MUTEX_TYPES=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PTHREAD_MUTEX_TYPES=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_PROCFS_REGISTER=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_PTHREAD_STACK_MIN=1024</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_ROMFS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_RR_INTERVAL=10</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_FS_TMPFS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SCHED_WAITPID=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_IDLETHREAD_STACKSIZE=2048</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SERIAL_TERMIOS=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_EXECFUNCS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYMTAB_ORDEREDBYNAME=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_LIBC_STRERROR=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_NSH=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_MAX_TASKS=16</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_NSH_STACKSIZE=4096</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_BUILTIN_APPS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_USER_ENTRYPOINT=&quot;nsh_main&quot;</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NSH_FILEIOSIZE=512</span></code></p></td>
<td></td>
</tr>
</tbody>
</table>
<p>In case you want to use Network and blocks like TCP or UDP, following configuration
options are required:</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 47%" />
<col style="width: 53%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ROUTE=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETDB_DNSCLIENT=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_SOLINGER=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETDEV_LATEINIT=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_STATISTICS=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETDEV_STATISTICS=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCP=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETINIT_DHCPC=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCPBACKLOG=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETINIT_NOMAC=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCP_KEEPALIVE=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_FTPC=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_TCP_WRITE_BUFFERS=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_TELNETD=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_UDP=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NETUTILS_TFTPC=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_DHCPC_RENEW=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_ARP_SEND=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_NTPC=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_BROADCAST=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_PING6=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_IPv6=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_PING=y</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_LOOPBACK=y</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_SYSTEM_TEE=y</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CONFIG_NET_PKT=y</span></code></p></td>
<td></td>
</tr>
</tbody>
</table>
<p>Board and application specific configuration like setting up peripherals or boot options might also be required,
please refer to board and platform documentation for those information. Once NuttX is configured it can be build
by simply running:</p>
<blockquote>
<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make
</pre></div>
</div>
</div></blockquote>
<p>Then we need to export build NuttX which can be done by executing command</p>
<blockquote>
<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make <span class="nb">export</span>
</pre></div>
</div>
</div></blockquote>
<p>This creates a zip file nuttx-export-xx.x.x.zip where xx.x.x is the version of NuttX. This file then have to be
moved to pysimCoder directory pysimCoder/CodeGen/nuttx, unzip there and then renamed just to nuttx-export. Then
enter the pysimCoder/CodeGen/nuttx/device directory and execute</p>
<blockquote>
<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make
</pre></div>
</div>
</div></blockquote>
<p>This compiles pysimCoder files that controls functions of separate blocks. PysimCoder can be either installed
on the system (please refer to the <a class="reference external" href="https://github.com/robertobucher/pysimCoder/blob/master/README.md">pysimCoder manual</a>)
or script pysim-run.sh can be used to run pysimCoder without the installation. This script can be found in pysimCoder
root directory and is run by executing command</p>
<blockquote>
<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>./pysim-run.sh
</pre></div>
</div>
</div></blockquote>
<p>Please note that PYSUPSICTRL variable has to be set/exported in order to succesfully compile NuttX application
designed with pysimCoder.</p>
</div>
<div class="section" id="using-pysimcoder-to-design-nuttx-application">
<h2>Using pysimCoder to design NuttX application<a class="headerlink" href="#using-pysimcoder-to-design-nuttx-application" title="Permalink to this headline">¶</a></h2>
<p>After running pysimCoder, separate blocks can be selected from the library menu on the left hand side. The menu contains
several libraries, NuttX specific blocks can be found in library “NuttX”. It is also possible to use blocks from other
libraries like “input”, “output”, “math” and so on. Several blocks can have specific parameter options and various number
of inputs/outputs. Double left click on the block openes parameter settings while single right click on the block leads
to number of inputs/outputs setup. The pysimCoder interface can be seen in the picture below.</p>
<div class="figure align-center" id="id2">
<a class="reference internal image-reference" href="../_images/interface.png"><img alt="../_images/interface.png" src="../_images/interface.png" style="width: 100%;" /></a>
<p class="caption"><span class="caption-text">pysimCoder interface: library menu can be seen on the left hand side</span><a class="headerlink" href="#id2" title="Permalink to this image">¶</a></p>
</div>
<p>The NuttX template Makefile nuttx.tmf has to be selected in order to generate code for NuttX target.
This can be done in the top menu by clicking on Block settings icon which is highlighted in the red circle.</p>
<div class="figure align-center" id="id3">
<a class="reference internal image-reference" href="../_images/menu.png"><img alt="../_images/menu.png" src="../_images/menu.png" style="width: 100%;" /></a>
<p class="caption"><span class="caption-text">pysimCoder menu: red block settings, green generate C-code</span><a class="headerlink" href="#id3" title="Permalink to this image">¶</a></p>
</div>
<p>Block settings option open the following window (showed in the picture below) where you can set template Makefile and
also Python skript with parameters for the controllers.</p>
<div class="figure align-center" id="id4">
<a class="reference internal image-reference" href="../_images/template.png"><img alt="../_images/template.png" src="../_images/template.png" style="width: 100%;" /></a>
<p class="caption"><span class="caption-text">pysimCoder Block settings menu</span><a class="headerlink" href="#id4" title="Permalink to this image">¶</a></p>
</div>
<p>C code can be generated by selecting Generate C-code icon (highlighted in the green cirle). Executeble files are then
generated and can be flashed into the target. The flashing procedure can be target specific, please refer to plaftorm´s
documentation. The generated application can be then run from NuttX command line by executing:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nsh&gt; main
</pre></div>
</div>
</div>
</div>


           </div>
           
          </div>
          <footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
        <a href="../glossary.html" class="btn btn-neutral float-right" title="Glossary" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
        <a href="cpp_cmake.html" class="btn btn-neutral float-left" title="C++ Example using CMake" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>
        &#169; Copyright 2020, The Apache Software Foundation.

    </p>
  </div> 

</footer>
        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>