blob: 408c83092859a498bf2a3be879fbe05cc07734f1 [file] [log] [blame]
<!--
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="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>abnt_codi ABNT CODI &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/sphinx_collapse.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/custom.css" />
<link rel="shortcut icon" href="../../../_static/favicon.ico"/>
<script src="../../../_static/jquery.js"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
<script src="../../../_static/doctools.js"></script>
<script src="../../../_static/sphinx_highlight.js"></script>
<script src="../../../_static/clipboard.min.js"></script>
<script src="../../../_static/copybutton.js"></script>
<script src="../../../_static/design-tabs.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="foc Field Oriented Control user-space library" href="../foc/index.html" />
<link rel="prev" title="Industrial Applications" href="../index.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
</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" aria-label="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">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 current"><a class="reference internal" href="../../index.html">Applications</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../audioutils/index.html">Audio Utility libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../boot/index.html">Bootloader Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../benchmarks/index.html">Benchmark Applications</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../canutils/index.html">CAN Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../crypto/index.html">Cryptography Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../fsutils/index.html">File System Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../games/index.html">Games</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../graphics/index.html">Graphics Support</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Industrial Applications</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">abnt_codi</span></code> ABNT CODI</a></li>
<li class="toctree-l3"><a class="reference internal" href="../foc/index.html"><code class="docutils literal notranslate"><span class="pre">foc</span></code> Field Oriented Control user-space library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../modbus/index.html"><code class="docutils literal notranslate"><span class="pre">modbus</span></code> FreeModBus port</a></li>
<li class="toctree-l3"><a class="reference internal" href="../scpi/index.html"><code class="docutils literal notranslate"><span class="pre">scpi</span></code> SCPI instrument side parser</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../inertial/index.html">Inertial Libraries Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../interpreters/index.html">Interpreters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../logging/index.html">Logging Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../lte/index.html">LTE Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../math/index.html">Math Library Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../mlearing/index.html">Machine Learning Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../netutils/index.html">Network Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../nsh/index.html">NuttShell (NSH)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../sdr/index.html">Software Defined Radio Libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../system/index.html">System Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../testing/index.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../tools/index.html">Host Side Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../wireless/index.html">Wireless Libraries and NSH Add-Ons</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../examples/index.html">Examples</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../implementation/index.html">Implementation Details</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"><a class="reference internal" href="../../../debugging/index.html">Debugging</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../standards/index.html">Standards</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../logos/index.html">NuttX Logos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../_tags/tagsindex.html">Tags</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">NuttX</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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Applications</a></li>
<li class="breadcrumb-item"><a href="../index.html">Industrial Applications</a></li>
<li class="breadcrumb-item active"><code class="docutils literal notranslate"><span class="pre">abnt_codi</span></code> ABNT CODI</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/nuttx/blob/master/Documentation/applications/industry/abnt_codi/index.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="abnt-codi-abnt-codi">
<h1><code class="docutils literal notranslate"><span class="pre">abnt_codi</span></code> ABNT CODI<a class="headerlink" href="#abnt-codi-abnt-codi" title="Permalink to this heading"></a></h1>
<p>The ABNT CODI is an old energy meter standard used in Brazil.</p>
<p>This code interprets the end user serial output existent in the energy meter.
That output externalizes its data blinking an LED as a serial protocol at the
baudrate of <code class="docutils literal notranslate"><span class="pre">110</span> <span class="pre">BPS</span></code> and uses <code class="docutils literal notranslate"><span class="pre">8</span></code> octets:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Octet</p></th>
<th class="head"><p>Bits</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">001</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-7</span></code></p></td>
<td><p>Number of seconds to the end of current active demand (<code class="docutils literal notranslate"><span class="pre">LSB</span></code>)</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">002</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-3</span></code>
<code class="docutils literal notranslate"><span class="pre">4</span></code>
<code class="docutils literal notranslate"><span class="pre">5</span></code>
<code class="docutils literal notranslate"><span class="pre">6</span></code>
<code class="docutils literal notranslate"><span class="pre">7</span></code></p></td>
<td><p>Number of seconds to the end of current active demand (<code class="docutils literal notranslate"><span class="pre">MSB</span></code>)
Bill indicator. It is inverted at each demand replenishment
Reactive Interval Indicator. Inverted at end react interval
If <code class="docutils literal notranslate"><span class="pre">1</span></code> means the reactive-capacitive is used to calculate <code class="docutils literal notranslate"><span class="pre">UFER</span></code>
If <code class="docutils literal notranslate"><span class="pre">1</span></code> means the reactive-inductive is used to calculate <code class="docutils literal notranslate"><span class="pre">UFER</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">003</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-3</span></code>
<code class="docutils literal notranslate"><span class="pre">4-5</span></code>
<code class="docutils literal notranslate"><span class="pre">6</span></code>
<code class="docutils literal notranslate"><span class="pre">7</span></code></p></td>
<td><p>Current seasonal segment: <code class="docutils literal notranslate"><span class="pre">0001</span></code> – tip, <code class="docutils literal notranslate"><span class="pre">0010</span></code> – out of tip, <code class="docutils literal notranslate"><span class="pre">1000</span></code> – reserved
Type of charging indicator (flag): <code class="docutils literal notranslate"><span class="pre">00</span></code> – Blue, <code class="docutils literal notranslate"><span class="pre">01</span></code> – Green, <code class="docutils literal notranslate"><span class="pre">10</span></code> – Irrigators, <code class="docutils literal notranslate"><span class="pre">11</span></code> – Other
Not used
If equal <code class="docutils literal notranslate"><span class="pre">1</span></code> means reactive rate is enabled</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">004</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-7</span></code></p></td>
<td><p>Number of pulses for active energy of cur dem interv (<code class="docutils literal notranslate"><span class="pre">LSB</span></code>)</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">005</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-6</span></code>
<code class="docutils literal notranslate"><span class="pre">7</span></code></p></td>
<td><p>Number of pulses for active energy of cur dem interv (<code class="docutils literal notranslate"><span class="pre">MSB</span></code>)
Not used</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">006</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-7</span></code></p></td>
<td><p>Number of pulses for reactive energy of cur dem interv (<code class="docutils literal notranslate"><span class="pre">LSB</span></code>)</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">007</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-6</span></code>
<code class="docutils literal notranslate"><span class="pre">7</span></code></p></td>
<td><p>Number of pulses for reactive energy of cur dem interv (<code class="docutils literal notranslate"><span class="pre">MSB</span></code>)
Not used</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">008</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">0-7</span></code></p></td>
<td><p>Inverted bits of _xor_ from previous octets</p></td>
</tr>
</tbody>
</table>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="../index.html" class="btn btn-neutral float-left" title="Industrial Applications" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="../foc/index.html" class="btn btn-neutral float-right" title="foc Field Oriented Control user-space library" 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 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>