remove industry/xxx/README.md and modbus/README.md. Migrated to Documentation/applications/industry
This commit is contained in:
parent
24338bb477
commit
4dfd474ae9
@ -1,27 +0,0 @@
|
|||||||
# Industry / `abnt_codi` ABNT CODI
|
|
||||||
|
|
||||||
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: <br> `0001` – tip <br> `0010` – out of tip <br> `1000` – reserved
|
|
||||||
| | `4-5` | Type of charging indicator (flag): <br> `00` – Blue <br> `01` – Green <br> `10` – Irrigators <br> `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
|
|
120
modbus/README.md
120
modbus/README.md
@ -1,120 +0,0 @@
|
|||||||
# Modbus
|
|
||||||
|
|
||||||
This directory contains a port of last open source version of FreeModBus (BSD
|
|
||||||
license). The code in this directory is a subset of FreeModBus version 1.5.0
|
|
||||||
(June 6, 2010) that can be downloaded in its entirety from
|
|
||||||
http://developer.berlios.de/project/showfiles.php?group_id=6120.
|
|
||||||
|
|
||||||
Includes extensions to support RTU master mode by Armink(383016632@qq.com):
|
|
||||||
https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32. Ported to NuttX by
|
|
||||||
Darcy Gong.
|
|
||||||
|
|
||||||
## Directory Structure / Relation to freemodbus-v1.5.0
|
|
||||||
|
|
||||||
The original FreeModBus download consists of several directories. This subset
|
|
||||||
takes only the contents of one directory, `modbus/`, that implements the core
|
|
||||||
modbus logic and integrates that directory into the NuttX build system. The
|
|
||||||
mapping between `freemodbus-v1.5.0` and the nuttx directories is shown below:
|
|
||||||
|
|
||||||
```
|
|
||||||
--------------------------- ----------------------------------------------
|
|
||||||
freemodbus-v1.5.0 NuttX
|
|
||||||
--------------------------- ----------------------------------------------
|
|
||||||
All top level .txt files Not included
|
|
||||||
demo/ Not included. This directory contains demo
|
|
||||||
and porting code for a variety of platforms.
|
|
||||||
The NuttX demo was ported from the LINUX
|
|
||||||
demo in this directory and can be found at
|
|
||||||
apps/examples/modbus.
|
|
||||||
doc/ Not included. This directory contains Doxygen
|
|
||||||
support files.
|
|
||||||
modbus/ Included in its entirety in various locations:
|
|
||||||
ascii apps/modbus/ascii
|
|
||||||
functions apps/modbus/functions
|
|
||||||
include apps/include/modbus
|
|
||||||
mb.c apps/modbus/mb.c
|
|
||||||
rtu apps/modbus/rtu
|
|
||||||
tcp apps/modbus/tcp
|
|
||||||
tools/ Not included. This directory contains Doxygen
|
|
||||||
tools.
|
|
||||||
--------------------------- ----------------------------------------------
|
|
||||||
```
|
|
||||||
|
|
||||||
So this directory is equivalent to the `freemodbus-v1.5.0/modbus` directory
|
|
||||||
except that (1) it may include modifications for the integration with NuttX and
|
|
||||||
(2) the modbus/include directory was moved to `apps/modbus`.
|
|
||||||
|
|
||||||
The original, unmodified `freemodbus-v1.5.0` was checked in as SVN revision
|
|
||||||
`4960`.
|
|
||||||
|
|
||||||
The other directory here, `nuttx/`, implements the NuttX modbus interface. It
|
|
||||||
derives from the `freemodbus-v1.5.0/demo/LINUX/port` directory.
|
|
||||||
|
|
||||||
## Configuration Options
|
|
||||||
|
|
||||||
In the original `freemodbus-v1.5.0` release, the FreeModBus configuration was
|
|
||||||
controlled by the header file `mbconfig.h`. This header file was eliminated
|
|
||||||
(post revision `4960`) and the FreeModBus configuration was integrated into the
|
|
||||||
NuttX configuration system.
|
|
||||||
|
|
||||||
The NuttX-named configuration options that are available include:
|
|
||||||
|
|
||||||
- `CONFIG_MODBUS` – General ModBus support.
|
|
||||||
- `CONFIG_MB_ASCII_ENABLED` – Modbus ASCII support.
|
|
||||||
- `CONFIG_MB_ASCII_MASTER` – Modbus ASCII master support.
|
|
||||||
- `CONFIG_MB_RTU_ENABLED` – Modbus RTU support.
|
|
||||||
- `CONFIG_MB_RTU_MASTER` – Modbus RTU master support.
|
|
||||||
- `CONFIG_MB_TCP_ENABLED` – Modbus TCP support.
|
|
||||||
- `CONFIG_MB_ASCII_TIMEOUT_SEC` – Character timeout value for Modbus ASCII. The
|
|
||||||
character timeout value is not fixed for Modbus ASCII and is therefore a
|
|
||||||
configuration option. It should be set to the maximum expected delay time of
|
|
||||||
the network. Default: `1`.
|
|
||||||
- `CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS` – Timeout to wait in ASCII prior
|
|
||||||
to enabling transmitter. If defined the function calls `vMBPortSerialDelay`
|
|
||||||
with the argument `CONFIG_MB_ASCII_TIMEOUT_WAIT_BEFORE_SEND_MS` to allow for a
|
|
||||||
delay before the serial transmitter is enabled. This is required because some
|
|
||||||
targets are so fast that there is no time between receiving and transmitting
|
|
||||||
the frame. If the master is too slow with enabling its receiver then it will
|
|
||||||
not receive the response correctly.
|
|
||||||
- `CONFIG_MB_FUNC_HANDLERS_MAX` – Maximum number of Modbus functions codes the
|
|
||||||
protocol stack should support. The maximum number of supported Modbus
|
|
||||||
functions must be greater than the sum of all enabled functions in this file
|
|
||||||
and custom function handlers. If set too small, adding more functions will
|
|
||||||
fail.
|
|
||||||
- `CONFIG_MB_FUNC_OTHER_REP_SLAVEID_BUF` – Number of bytes which should be
|
|
||||||
allocated for the Report Slave ID command. This number limits the maximum size
|
|
||||||
of the additional segment in the report slave id function. See
|
|
||||||
`eMBSetSlaveID()` for more information on how to set this value. It is only
|
|
||||||
used if `CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED` is set to `1`.
|
|
||||||
- `CONFIG_MB_FUNC_OTHER_REP_SLAVEID_ENABLED` – If the Report Slave ID function
|
|
||||||
should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_READ_INPUT_ENABLED` – If the Read Input Registers function
|
|
||||||
should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_READ_HOLDING_ENABLED` – If the Read Holding Registers function
|
|
||||||
should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_WRITE_HOLDING_ENABLED` – If the Write Single Register function
|
|
||||||
should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_WRITE_MULTIPLE_HOLDING_ENABLED` – If the Write Multiple
|
|
||||||
registers function should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_READ_COILS_ENABLED` – If the Read Coils function should be
|
|
||||||
enabled.
|
|
||||||
- `CONFIG_MB_FUNC_WRITE_COIL_ENABLED` – If the Write Coils function should be
|
|
||||||
enabled.
|
|
||||||
- `CONFIG_MB_FUNC_WRITE_MULTIPLE_COILS_ENABLED` – If the Write Multiple Coils
|
|
||||||
function should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_READ_DISCRETE_INPUTS_ENABLED` – If the Read Discrete Inputs
|
|
||||||
function should be enabled.
|
|
||||||
- `CONFIG_MB_FUNC_READWRITE_HOLDING_ENABLED` – If the Read/Write Multiple
|
|
||||||
Registers function should be enabled.
|
|
||||||
|
|
||||||
See also other serial settings, in particular:
|
|
||||||
|
|
||||||
- `CONFIG_SERIAL_TERMIOS` – Serial driver supports `termios.h` interfaces
|
|
||||||
If this is not defined, then the terminal settings (baud, parity, etc.)
|
|
||||||
are not configurable at runtime.
|
|
||||||
|
|
||||||
## Note
|
|
||||||
|
|
||||||
The developer of FreeModBus, Christian Walter, is still developing Modbus
|
|
||||||
libraries, although they are now commercial. See
|
|
||||||
http://www.embedded-solutions.at/ for further information.
|
|
Loading…
Reference in New Issue
Block a user