gravitymon/docs/compiling.html
2022-01-06 21:01:06 +01:00

247 lines
10 KiB
HTML

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<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>Compiling the software &mdash; GravityMon 0.5.0 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 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/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Contributing" href="contributing.html" />
<link rel="prev" title="Configuration" href="configuration.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"> GravityMon
</a>
<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="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="functionallity.html">Functionallity</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Compiling the software</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#tools">Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="#targets">Targets</a></li>
<li class="toctree-l2"><a class="reference internal" href="#source-structure">Source structure</a></li>
<li class="toctree-l2"><a class="reference internal" href="#options">Options</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contributing.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="backlog.html">Backlog of changes</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">GravityMon</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
<li>Compiling the software</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/compiling.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">
<section id="compiling-the-software">
<h1>Compiling the software<a class="headerlink" href="#compiling-the-software" title="Permalink to this headline"></a></h1>
<section id="tools">
<h2>Tools<a class="headerlink" href="#tools" title="Permalink to this headline"></a></h2>
<p>I use the following tools in order to build and manage the software:</p>
<ul class="simple">
<li><p>Visual Studio Code</p></li>
<li><p>PlatformIO</p></li>
<li><p>Git for Windows</p></li>
<li><p>VSCode plugin: Minify (used to minimise the html files)</p></li>
</ul>
</section>
<section id="targets">
<h2>Targets<a class="headerlink" href="#targets" title="Permalink to this headline"></a></h2>
<p>In the repository there are 3 targets defined</p>
<ul class="simple">
<li><p>gravity-debug; Maximum logging for trouble shooting, deep sleep is disabled.</p></li>
<li><p>gravity-release; Standard release</p></li>
<li><p>gravity-perf; Standard release but contains code for measuring performance</p></li>
</ul>
</section>
<section id="source-structure">
<h2>Source structure<a class="headerlink" href="#source-structure" title="Permalink to this headline"></a></h2>
<table class="colwidths-given docutils align-default" id="id1">
<caption><span class="caption-text">Directory structure</span><a class="headerlink" href="#id1" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 40%" />
<col style="width: 60%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>path</p></th>
<th class="head"><p>content</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>/bin</p></td>
<td><p>Contains compiled binaries</p></td>
</tr>
<tr class="row-odd"><td><p>/data</p></td>
<td><p>Directory for flashing device filesystem</p></td>
</tr>
<tr class="row-even"><td><p>/doc</p></td>
<td><p>Various external documents used as input</p></td>
</tr>
<tr class="row-odd"><td><p>/docs</p></td>
<td><p>Folder published to github pages</p></td>
</tr>
<tr class="row-even"><td><p>/html</p></td>
<td><p>Source for html files</p></td>
</tr>
<tr class="row-odd"><td><p>/img</p></td>
<td><p>Images uses in README.md</p></td>
</tr>
<tr class="row-even"><td><p>/lib</p></td>
<td><p>External libraries used when compiling</p></td>
</tr>
<tr class="row-odd"><td><p>/script</p></td>
<td><p>Scripts used in build process</p></td>
</tr>
<tr class="row-even"><td><p>/src</p></td>
<td><p>Source code for software</p></td>
</tr>
<tr class="row-odd"><td><p>/src_docs</p></td>
<td><p>Source code for documentation</p></td>
</tr>
<tr class="row-even"><td><p>/stl</p></td>
<td><p>3d models</p></td>
</tr>
<tr class="row-odd"><td><p>/test</p></td>
<td><p>Test data for developing html files</p></td>
</tr>
</tbody>
</table>
</section>
<section id="options">
<h2>Options<a class="headerlink" href="#options" title="Permalink to this headline"></a></h2>
<p>This is a list of C++ defines that is used to enable/disable functions in the code.</p>
<table class="colwidths-given docutils align-default" id="id2">
<caption><span class="caption-text">Defines</span><a class="headerlink" href="#id2" title="Permalink to this table"></a></caption>
<colgroup>
<col style="width: 40%" />
<col style="width: 60%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>define</p></th>
<th class="head"><p>description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>ACTIVATE_OTA</p></td>
<td><p>Enables the OTA functionallity in the code</p></td>
</tr>
<tr class="row-odd"><td><p>USE_GYRO_TEMP</p></td>
<td><p>Uses temperature from gyro instead of DS18B20 (experimental)</p></td>
</tr>
<tr class="row-even"><td><p>SKIP_SLEEPMODE</p></td>
<td><p>THe device never goes into sleep mode, useful when developing.</p></td>
</tr>
<tr class="row-odd"><td><p>CFG_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in Config class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-even"><td><p>GYRO_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in Gyro class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-odd"><td><p>PUSH_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in PushTarget class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-even"><td><p>TSEN_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in TempSensor class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-odd"><td><p>WEB_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in WebServer class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-even"><td><p>MAIN_DISABLE_LOGGING</p></td>
<td><p>Done include verbose logging in Main class. Excessive logging may crash device.</p></td>
</tr>
<tr class="row-odd"><td><p>USE_LITTLEFS</p></td>
<td><p>Use the new filesystem in Ardurino</p></td>
</tr>
<tr class="row-even"><td><p>EMBED_HTML</p></td>
<td><p>Html files are included in code, if not defined they are served from the file system.</p></td>
</tr>
<tr class="row-odd"><td><p>USER_SSID</p></td>
<td><p>If defined the device will always use this SSID</p></td>
</tr>
<tr class="row-even"><td><p>USER_SSID_PWD</p></td>
<td><p>Password to the SSID</p></td>
</tr>
<tr class="row-odd"><td><p>CFG_APPVER</p></td>
<td><p>Defines the version of the compiled software</p></td>
</tr>
</tbody>
</table>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="configuration.html" class="btn btn-neutral float-left" title="Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="contributing.html" class="btn btn-neutral float-right" title="Contributing" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2021-2022, Magnus Persson.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>