nuttx-apps/industry/abnt_codi
Xiang Xiao deaa6c5b7b build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs
and move NUTTXLIB defintion to the common place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-09 15:17:37 -03:00
..
abnt_codi.c industry/abnt_codi, include/industry/abnt_code.h, examples.abntcodi: Adds support for ABNT CODI library. This is an energy meter protocol used in Brazil. 2019-06-15 08:38:04 -06:00
Kconfig Remove extra whitespace from files (#43) 2020-01-31 08:29:24 -06:00
Make.defs apps/: In all Make.def files, append to CONFIGURED_APPS patch with the absolute path. 2019-10-17 11:33:59 -06:00
Makefile build: Replace $(TOPDIR)/Make.defs with $(APPDIR)/Make.defs 2020-07-09 15:17:37 -03:00
README.txt Run codespell -w with the latest dictonary again 2020-02-23 07:10:14 -06:00

The ABNT CODI is an old energy meter standard used in Brazil.

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 110 BPS and uses 8 octects:
 _____________________________________________________________________________
|        |      |                                                             |
| OCTET  | bits | Description                                                 |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  001   | 0-7  | Number of seconds to the end of current active demand (LSB) |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  002   | 0-3  | Number of seconds to the end of current active demand (MSB) |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   4  | Bill indicator. It is inverted at each demand replenishment |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   5  | Reactive Interval Indicator. Inverted at end react interval |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   6  | If 1 means the reactive-capacitive is used to calculate UFER|
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   7  | If 1 means the reactive-inductive is used to calculate UFER |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  003   | 0-3  | Current seasonal segment:                                   |
|        |      | 0001 - tip                                                  |
|        |      | 0010 - out of tip                                           |
|        |      | 1000 - reserved                                             |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        | 4-5  | Type of charging indicator (flag):                          |
|        |      | 00 - Blue                                                   |
|        |      | 01 - Green                                                  |
|        |      | 10 - Irrigators                                             |
|        |      | 11 - Other                                                  |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   6  | Not used                                                    |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   7  | If equal 1 means reactive rate is enabled                   |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  004   | 0-7  | Number of pulses for active energy of cur dem interv (LSB)  |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  005   | 0-6  | Number of pulses for active energy of cur dem interv (MSB)  |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   7  | Not used                                                    |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  006   | 0-7  | Number of pulses for reactive energy of cur dem interv (LSB)|
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  007   | 0-6  | Number of pulses for reactive energy of cur dem interv (MSB)|
|________|______|_____________________________________________________________|
|        |      |                                                             |
|        |   7  | Not used                                                    |
|________|______|_____________________________________________________________|
|        |      |                                                             |
|  008   | 0-7  | Inverted bits of "xor" from previous octects                |
|________|______|_____________________________________________________________|